⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testmessages.java

📁 JAVA做的J2EE下CA认证系统 基于EJB开发
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/************************************************************************* *                                                                       * *  EJBCA: The OpenSource Certificate Authority                          * *                                                                       * *  This software is free software; you can redistribute it and/or       * *  modify it under the terms of the GNU Lesser General Public           * *  License as published by the Free Software Foundation; either         * *  version 2.1 of the License, or any later version.                    * *                                                                       * *  See terms of license at gnu.org.                                     * *                                                                       * *************************************************************************/package se.anatom.ejbca.protocol;import java.io.ByteArrayInputStream;import java.io.InputStream;import java.security.KeyStore;import java.security.PrivateKey;import java.security.PublicKey;import java.security.cert.Certificate;import java.security.cert.X509Certificate;import junit.framework.TestCase;import org.apache.log4j.Logger;import se.anatom.ejbca.util.Base64;import se.anatom.ejbca.util.CertTools;import se.anatom.ejbca.util.KeyTools;/** * Protocol messages. * * @version $Id: TestMessages.java,v 1.1.2.4 2005/11/08 19:03:29 anatom Exp $ */public class TestMessages extends TestCase {    private PrivateKey privateKey = null;    private X509Certificate caCert = null;    private static Logger log = Logger.getLogger(TestMessages.class);    /**     * Creates a new TestMessages object.     *     * @param name name     */    public TestMessages(String name) {        super(name);    }    protected void setUp() throws Exception {        log.debug(">setUp()");        // Install BouncyCastle provider        CertTools.installBCProvider();        KeyStore keyStore = KeyStore.getInstance("PKCS12", "BC");        InputStream is = new ByteArrayInputStream(p12);        String keyStorePass = "foo123";        keyStore.load(is, keyStorePass.toCharArray());        String privateKeyAlias = "privatesignkeyalias";        char[] pkPass = null;        privateKey = (PrivateKey) keyStore.getKey(privateKeyAlias, pkPass);        if (privateKey == null) {            log.error("Cannot load key with alias '" + privateKeyAlias + "' from keystore.");            throw new Exception("Cannot load key with alias '" + privateKeyAlias +                    "' from keystore.");        }        Certificate[] certchain = KeyTools.getCertChain(keyStore, privateKeyAlias);        caCert = (X509Certificate) certchain[0];                //System.out.println(caCert.toString());        log.debug("<setUp()");    }    protected void tearDown() throws Exception {    }    /** Tests scep message from OpenScep     * @throws Exception error     */    public void test01TestOpenScep() throws Exception {        log.debug(">test01TestOpenScep()");        ScepRequestMessage msg = new ScepRequestMessage(openscep, true);        // You should be able to get issuer DN before anything else        String issuerdn = msg.getIssuerDN();        log.debug("IssuerDN: " + issuerdn);        assertEquals("CN=AdminCA1,O=EJBCA Sample,C=SE", issuerdn);        if (msg.requireKeyInfo()) {            msg.setKeyInfo(caCert, privateKey, null);        }        boolean ret = msg.verify();        assertTrue("Failed to verify SCEP message from OpenSCEP.", ret);        String dn = msg.getRequestDN();        log.debug("DN: " + dn);        assertEquals("C=SE,O=Foo,CN=openscep", dn);        String username = msg.getUsername();        assertEquals("openscep", username);        String pwd = msg.getPassword();        log.debug("Pwd: " + pwd);        assertEquals("foo123", pwd);        log.debug("<test01TestOpenScep()");    }    /** Tests scep message from Simple Scep     * @throws Exception error     */    public void test02TestSimpleScep() throws Exception {        log.debug(">test02TestSimpleScep()");        ScepRequestMessage msg = new ScepRequestMessage(sscep, true);        // You should be able to get issuer DN before anything else        String issuerdn = msg.getIssuerDN();        log.debug("IssuerDN: " + issuerdn);        assertEquals("CN=AdminCA1,O=EJBCA Sample,C=SE", issuerdn);        if (msg.requireKeyInfo()) {            msg.setKeyInfo(caCert, privateKey, null);        }        boolean ret = msg.verify();        assertTrue("Failed to verify SCEP message from Simple Scep.", ret);        String dn = msg.getRequestDN();        log.debug("DN: " + dn);        assertEquals("C=SE,O=Foo,CN=openscep", dn);        String username = msg.getUsername();        assertEquals("openscep", username);        String pwd = msg.getPassword();        log.debug("Pwd: " + pwd);        assertEquals("foo123", pwd);        log.debug("<test02TestSimpleScep()");    }    /** Tests scep message from Java Scep Client     * @throws Exception error     */    public void test03TestJavaScepClient() throws Exception {        log.debug(">test03TestJavaScepClient()");        ScepRequestMessage msg = new ScepRequestMessage(scepclient, true);        // You should be able to get issuer DN before anything else        String issuerdn = msg.getIssuerDN();        log.debug("IssuerDN: " + issuerdn);        assertEquals("CN=AdminCA1,O=EJBCA Sample,C=SE", issuerdn);        if (msg.requireKeyInfo()) {            msg.setKeyInfo(caCert, privateKey, null);        }        // We know this will feil to verify since java scepclient doesn't work        // If it starts working we know there is something wrong        boolean ret = msg.verify();          assertFalse("Failed to fail to verify SCEP message from Java Scep Client.", ret);        /*        String dn = msg.getRequestDN();        log.debug("DN: " + dn);        assertEquals("C=SE,O=Foo,CN=openscep", dn);        String username = msg.getUsername();        assertEquals("openvpn", username);        String pwd = msg.getPassword();        log.debug("Pwd: " + pwd);        assertEquals("foo123", pwd);        */        log.debug("<test03TestJavaScepClient()");    }    /** Tests scep message from Cisco VPN client     * @throws Exception error     */    public void test03TestCiscoVPNScep() throws Exception {        log.debug(">test03TestCiscoVPNScep()");        ScepRequestMessage msg = new ScepRequestMessage(ciscovpnscep, true);        // You should be able to get issuer DN before anything else        String issuerdn = msg.getIssuerDN();        log.debug("IssuerDN: " + issuerdn);        assertEquals("CN=AdminCA1,O=EJBCA Sample,C=SE", issuerdn);        if (msg.requireKeyInfo()) {            msg.setKeyInfo(caCert, privateKey, null);        }        boolean ret = msg.verify();        assertTrue("Failed to verify SCEP message from Cisco VPN client.", ret);        String dn = msg.getRequestDN();        log.debug("DN: " + dn);        assertEquals("CN=ciscovpn", dn);        String username = msg.getUsername();        assertEquals("ciscovpn", username);        String pwd = msg.getPassword();        log.debug("Pwd: " + pwd);        assertEquals("foo123", pwd);        log.debug("<test03TestCiscoVPNScep()");    }    /** Tests scep message from Cisco PIX     * @throws Exception error     */    /* This doesn't work because we don't have the right CA    public void test04TestPixScep() throws Exception {        log.debug(">test02TestPixScep()");        ScepRequestMessage msg = new ScepRequestMessage(pixscep);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -