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

📄 testpublisher.java

📁 JAVA做的J2EE下CA认证系统 基于EJB开发
💻 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.ca.publisher;import java.security.cert.X509Certificate;import java.util.ArrayList;import javax.naming.Context;import javax.naming.NamingException;import junit.framework.TestCase;import org.apache.log4j.Logger;import se.anatom.ejbca.ca.exception.PublisherExistsException;import se.anatom.ejbca.ca.store.CertificateDataBean;import se.anatom.ejbca.log.Admin;import se.anatom.ejbca.util.Base64;import se.anatom.ejbca.util.CertTools;/** * Tests Publishers. * * @version $Id: TestPublisher.java,v 1.4 2005/04/29 09:16:08 anatom Exp $ */public class TestPublisher extends TestCase {        static byte[] testcert = Base64.decode(("MIICWzCCAcSgAwIBAgIIJND6Haa3NoAwDQYJKoZIhvcNAQEFBQAwLzEPMA0GA1UE"            + "AxMGVGVzdENBMQ8wDQYDVQQKEwZBbmFUb20xCzAJBgNVBAYTAlNFMB4XDTAyMDEw"            + "ODA5MTE1MloXDTA0MDEwODA5MjE1MlowLzEPMA0GA1UEAxMGMjUxMzQ3MQ8wDQYD"            + "VQQKEwZBbmFUb20xCzAJBgNVBAYTAlNFMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCB"            + "hwKBgQCQ3UA+nIHECJ79S5VwI8WFLJbAByAnn1k/JEX2/a0nsc2/K3GYzHFItPjy"            + "Bv5zUccPLbRmkdMlCD1rOcgcR9mmmjMQrbWbWp+iRg0WyCktWb/wUS8uNNuGQYQe"            + "ACl11SAHFX+u9JUUfSppg7SpqFhSgMlvyU/FiGLVEHDchJEdGQIBEaOBgTB/MA8G"            + "A1UdEwEB/wQFMAMBAQAwDwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUyxKILxFM"            + "MNujjNnbeFpnPgB76UYwHwYDVR0jBBgwFoAUy5k/bKQ6TtpTWhsPWFzafOFgLmsw"            + "GwYDVR0RBBQwEoEQMjUxMzQ3QGFuYXRvbS5zZTANBgkqhkiG9w0BAQUFAAOBgQAS"            + "5wSOJhoVJSaEGHMPw6t3e+CbnEL9Yh5GlgxVAJCmIqhoScTMiov3QpDRHOZlZ15c"            + "UlqugRBtORuA9xnLkrdxYNCHmX6aJTfjdIW61+o/ovP0yz6ulBkqcKzopAZLirX+"            + "XSWf2uI9miNtxYMVnbQ1KPdEAt7Za3OQR6zcS0lGKg==").getBytes());        static byte[] testcacert = Base64.decode(("MIICLDCCAZWgAwIBAgIISDzEq64yCAcwDQYJKoZIhvcNAQEFBQAwLzEPMA0GA1UE"            + "AxMGVGVzdENBMQ8wDQYDVQQKEwZBbmFUb20xCzAJBgNVBAYTAlNFMB4XDTAxMTIw"            + "NDA5MzI1N1oXDTAzMTIwNDA5NDI1N1owLzEPMA0GA1UEAxMGVGVzdENBMQ8wDQYD"            + "VQQKEwZBbmFUb20xCzAJBgNVBAYTAlNFMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCB"            + "hwKBgQCnhOvkaj+9Qmt9ZseVn8Jhl6ewTrAOK3c9usxBhiGs+TalGjuAK37bbnbZ"            + "rlzCZpEsjSZYgXS++3NttiDbPzATkV/c33uIzBHjyk8/paOmTrkIux8hbIYMce+/"            + "WTYnAM3J41mSuDMy2yZxZ72Yntzqg4UUXiW+JQDkhGx8ZtcSSwIBEaNTMFEwDwYD"            + "VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUy5k/bKQ6TtpTWhsPWFzafOFgLmswHwYD"            + "VR0jBBgwFoAUy5k/bKQ6TtpTWhsPWFzafOFgLmswDQYJKoZIhvcNAQEFBQADgYEA"            + "gHzQLoqLobU43lKvQCiZbYWEXHTf3AdzUd6aMOYOM80iKS9kgrMsnKjp61IFCZwr"            + "OcY1lOkpjADUTSqfVJWuF1z5k9c1bXnh5zu48LA2r2dlbHqG8twMQ+tPh1MYa3lV"            + "ugWhKqArGEawICRPUZJrLy/eDbCgVB4QT3rC7rOJOH0=").getBytes());        static byte[] testcrl = Base64.decode(("MIIDEzCCAnwCAQEwDQYJKoZIhvcNAQEFBQAwLzEPMA0GA1UEAxMGVGVzdENBMQ8w"            + "DQYDVQQKEwZBbmFUb20xCzAJBgNVBAYTAlNFFw0wMjAxMDMxMjExMTFaFw0wMjAx"            + "MDIxMjExMTFaMIIB5jAZAggfi2rKt4IrZhcNMDIwMTAzMTIxMDUxWjAZAghAxdYk"            + "7mJxkxcNMDIwMTAzMTIxMDUxWjAZAgg+lCCL+jumXxcNMDIwMTAzMTIxMDUyWjAZ"            + "Agh4AAPpzSk/+hcNMDIwMTAzMTIxMDUyWjAZAghkhx9SFvxAgxcNMDIwMTAzMTIx"            + "MDUyWjAZAggj4g5SUqaGvBcNMDIwMTAzMTIxMDUyWjAZAghT+nqB0c6vghcNMDIw"            + "MTAzMTE1MzMzWjAZAghsBWMAA55+7BcNMDIwMTAzMTE1MzMzWjAZAgg8h0t6rKQY"            + "ZhcNMDIwMTAzMTE1MzMzWjAZAgh7KFsd40ICwhcNMDIwMTAzMTE1MzM0WjAZAggA"            + "kFlDNU8ubxcNMDIwMTAzMTE1MzM0WjAZAghyQfo1XNl0EBcNMDIwMTAzMTE1MzM0"            + "WjAZAggC5Pz7wI/29hcNMDIwMTAyMTY1NDMzWjAZAggEWvzRRpFGoRcNMDIwMTAy"            + "MTY1NDMzWjAZAggC7Q2W0iXswRcNMDIwMTAyMTY1NDMzWjAZAghrfwG3t6vCiBcN"            + "MDIwMTAyMTY1NDMzWjAZAgg5C+4zxDGEjhcNMDIwMTAyMTY1NDMzWjAZAggX/olM"            + "45KxnxcNMDIwMTAyMTY1NDMzWqAvMC0wHwYDVR0jBBgwFoAUy5k/bKQ6TtpTWhsP"            + "WFzafOFgLmswCgYDVR0UBAMCAQQwDQYJKoZIhvcNAQEFBQADgYEAPvYDZofCOopw"            + "OCKVGaK1aPpHkJmu5Xi1XtRGO9DhmnSZ28hrNu1A5R8OQI43Z7xFx8YK3S56GRuY"            + "0EGU/RgM3AWhyTAps66tdyipRavKmH6MMrN4ypW/qbhsd4o8JE9pxxn9zsQaNxYZ"            + "SNbXM2/YxkdoRSjkrbb9DUdCmCR/kEA=").getBytes());        private static Logger log = Logger.getLogger(TestPublisher.class);    private static Context ctx;    private static IPublisherSessionRemote pub;        private static final Admin admin = new Admin(Admin.TYPE_INTERNALUSER);        /**     * Creates a new TestPublisher object.     *     * @param name name     */    public TestPublisher(String name) {        super(name);    }        protected void setUp() throws Exception {        log.debug(">setUp()");        ctx = getInitialContext();                Object obj = ctx.lookup("PublisherSession");        IPublisherSessionHome home = (IPublisherSessionHome) javax.rmi.PortableRemoteObject.narrow(obj,                IPublisherSessionHome.class);        pub = home.create();                CertTools.installBCProvider();                log.debug("<setUp()");            }        protected void tearDown() throws Exception {    }        private Context getInitialContext() throws NamingException {        log.debug(">getInitialContext");        Context ctx = new javax.naming.InitialContext();        log.debug("<getInitialContext");                return ctx;    }        /**     * adds ldap publisher     *     * @throws Exception error     */    public void test01AddLDAPPublisher() throws Exception {        log.debug(">test01AddLDAPPublisher()");        boolean ret = false;        try {            LdapPublisher publisher = new LdapPublisher();            publisher.setHostname("localhost");            publisher.setDescription("Used in Junit Test, Remove this one");            pub.addPublisher(admin, "TESTLDAP", publisher);            ret = true;        } catch (PublisherExistsException pee) {        }                assertTrue("Creating LDAP Publisher failed", ret);        log.debug("<test01AddLDAPPublisher()");    }        /**     * adds ad publisher     *     * @throws Exception error     */    public void test02AddADPublisher() throws Exception {        log.debug(">test02AddADPublisher() ");        boolean ret = false;        try {            ActiveDirectoryPublisher publisher = new ActiveDirectoryPublisher();            publisher.setHostname("localhost");            publisher.setDescription("Used in Junit Test, Remove this one");            pub.addPublisher(admin, "TESTAD", publisher);            ret = true;        } catch (PublisherExistsException pee) {        }                assertTrue("Creating AD Publisher failed", ret);        log.debug("<test02AddADPublisher() ");    }        /**     * adds custom publisher     *     * @throws Exception error     */    public void test03AddCustomPublisher() throws Exception {        log.debug(">test03AddCustomPublisher()");        boolean ret = false;        try {            CustomPublisherContainer publisher = new CustomPublisherContainer();            publisher.setClassPath("se.anatom.ejbca.ca.publisher.DummyCustomPublisher");            publisher.setDescription("Used in Junit Test, Remove this one");            pub.addPublisher(admin, "TESTDUMMYCUSTOM", publisher);            ret = true;        } catch (PublisherExistsException pee) {        }                assertTrue("Creating Custom Publisher failed", ret);                log.debug("<test03AddCustomPublisher()");    }        /**     * renames publisher     *     * @throws Exception error     */    public void test04RenamePublisher() throws Exception {        log.debug(">test04RenamePublisher()");                boolean ret = false;        try {            pub.renamePublisher(admin, "TESTDUMMYCUSTOM", "TESTNEWDUMMYCUSTOM");            ret = true;        } catch (PublisherExistsException pee) {        }        assertTrue("Renaming Custom Publisher failed", ret);                        log.debug("<test04RenamePublisher()");    }        /**     * clones publisher     *     * @throws Exception error     */    public void test05ClonePublisher() throws Exception {        log.debug(">test05ClonePublisher()");                boolean ret = false;        pub.clonePublisher(admin, "TESTNEWDUMMYCUSTOM", "TESTCLONEDUMMYCUSTOM");        ret = true;        assertTrue("Cloning Custom Publisher failed", ret);                log.debug("<test05ClonePublisher()");    }            /**     * edits publisher     *     * @throws Exception error     */    public void test06EditPublisher() throws Exception {        log.debug(">test06EditPublisher()");                boolean ret = false;                BasePublisher publisher = pub.getPublisher(admin, "TESTCLONEDUMMYCUSTOM");        publisher.setDescription(publisher.getDescription().toUpperCase());        pub.changePublisher(admin, "TESTCLONEDUMMYCUSTOM", publisher);        ret = true;                assertTrue("Editing Custom Publisher failed", ret);                        log.debug("<test06EditPublisher()");    }        /**     * stores a cert to the dummy publisher     *     * @throws Exception error     */    public void test07StoreCertToDummy() throws Exception {        log.debug(">test07StoreCertToDummy()");        X509Certificate cert = CertTools.getCertfromByteArray(testcert);        ArrayList publishers = new ArrayList();        publishers.add(new Integer(pub.getPublisherId(admin, "TESTNEWDUMMYCUSTOM")));                boolean ret = pub.storeCertificate(new Admin(Admin.TYPE_INTERNALUSER), publishers, cert, "test05", "foo123", null, CertificateDataBean.CERT_ACTIVE, CertificateDataBean.CERTTYPE_ENDENTITY, null);        assertTrue("Storing certificate to dummy publisher failed", ret);        log.debug("<test07StoreCertToDummyr()");    }        /**     * stores a cert to the dummy publisher     *     * @throws Exception error     */    public void test08storeCRLToDummy() throws Exception {        log.debug(">test08storeCRLToDummy()");                ArrayList publishers = new ArrayList();        publishers.add(new Integer(pub.getPublisherId(admin, "TESTNEWDUMMYCUSTOM")));        boolean ret = pub.storeCRL(admin, publishers, testcrl, null, 1);        assertTrue("Storing CRL to dummy publisher failed", ret);                log.debug("<test08storeCRLToDummy()");    }            /**     * removes all publishers     *     * @throws Exception error     */    public void test09removePublishers() throws Exception {        log.debug(">test09removePublishers()");        boolean ret = false;        try {            pub.removePublisher(admin, "TESTLDAP");            pub.removePublisher(admin, "TESTAD");            pub.removePublisher(admin, "TESTNEWDUMMYCUSTOM");            pub.removePublisher(admin, "TESTCLONEDUMMYCUSTOM");            ret = true;        } catch (Exception pee) {        }        assertTrue("Removing Publisher failed", ret);                log.debug("<test09removePublishers()");    }}

⌨️ 快捷键说明

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