📄 testmessages.java
字号:
/************************************************************************* * * * 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 + -