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

📄 testcertificatedata.java

📁 一套JAVA的CA证书签发系统.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/************************************************************************* *                                                                       * *  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.store.junit;import java.util.*;import java.security.cert.*;import javax.naming.Context;import javax.naming.NamingException;import se.anatom.ejbca.ca.store.*;import se.anatom.ejbca.ca.crl.*;import se.anatom.ejbca.util.*;import se.anatom.ejbca.SecConst;import se.anatom.ejbca.log.Admin;import org.apache.log4j.Logger;import junit.framework.*;/** * Tests certificate store. * * @version $Id: TestCertificateData.java,v 1.25 2004/04/16 07:38:56 anatom Exp $ */public class TestCertificateData extends TestCase {    static byte[] testcert = Base64.decode(    ("MIICETCCAXqgAwIBAgIIEzy5vc2xpOIwDQYJKoZIhvcNAQEFBQAwLjEOMAwGA1UE"    +"AxMFZWpiY2ExDzANBgNVBAoTBkFuYVRvbTELMAkGA1UEBhMCU0UwHhcNMDExMTE0"    +"MTMxODU5WhcNMDMxMTE0MTMyODU5WjAsMQwwCgYDVQQDEwNmb28xDzANBgNVBAoT"    +"BkFuYVRvbTELMAkGA1UEBhMCU0UwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAqPX5"    +"YOgT76Tz5uDOmegzA6RRdOFR7/nyWc8Wu4FnU6litDqo1wQCD9Pqtq6XzWJ1smD5"    +"svNhscRcXPeiucisoQIDAQABo34wfDAPBgNVHRMBAf8EBTADAQEAMA8GA1UdDwEB"    +"/wQFAwMHoAAwHQYDVR0OBBYEFMrdBFmXrmAtP65uHZmF2Jc3shB1MB8GA1UdIwQY"    +"MBaAFHxNs2NoKyv7/ipWKfwRyGU6d6voMBgGA1UdEQQRMA+BDWZvb0BhbmF0b20u"    +"c2UwDQYJKoZIhvcNAQEFBQADgYEAH6AqvzaReZFMvYudIY6lCT5shodNTyjZBT0/"    +"kBMHp1csVVqJl80Ngr2QzKE55Xhok05i7q9oLcRSbnQ8ZfnTDa9lZaWiZzX7LxF/"    +"5fd74ol2m/J2LvVglqH9VEINI4RE+HxrMFy8QMROYbsOhl8Jk9TOsuDeQjEtgodm"    +"gY5ai2k=").getBytes());    private static Logger log = Logger.getLogger(TestCertificateData.class);    private static Context ctx;    private static CertificateDataHome home;    private static ICertificateStoreSessionHome storehome;    private static X509Certificate cert;    private static long revDate;    /**     * Creates a new TestCertificateData object.     *     * @param name name     */    public TestCertificateData(String name) {        super(name);    }    protected void setUp() throws Exception {        log.debug(">setUp()");        CertTools.installBCProvider();        ctx = getInitialContext();        Object obj = ctx.lookup("CertificateData");        home = (CertificateDataHome) javax.rmi.PortableRemoteObject.narrow(obj, CertificateDataHome.class);        Object obj2 = ctx.lookup("CertificateStoreSession");        storehome = (ICertificateStoreSessionHome) javax.rmi.PortableRemoteObject.narrow(obj2, ICertificateStoreSessionHome.class);        cert = CertTools.getCertfromByteArray(testcert);        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;    }    /**     * creates new certs     *     * @throws Exception error     */    public void test01CreateNewCert() throws Exception {        log.debug(">test01CreateNewCert()");        X509Certificate cert = CertTools.getCertfromByteArray(testcert);        CertificateDataPK pk = new CertificateDataPK();        pk.fingerprint = CertTools.getFingerprintAsString(cert);        log.debug("keyed it! ="+ pk);        CertificateData data1=null;        try {            data1 = home.create(cert);            assertNotNull("Failed to create", data1);            log.debug("created it!");        } catch (javax.ejb.DuplicateKeyException e) {            home.remove(pk);            log.debug("Removed it!");            data1 = home.create(cert);            assertNotNull("Failed to create", data1);            log.debug("created it!");            return;        }        log.debug("<test01CreateNewCert()");    }    /**     * finds and alters certificates     *     * @throws Exception error     */    public void test02FindAndChange() throws Exception {        log.debug(">test02FindAndChange()");        CertificateDataPK pk = new CertificateDataPK();        pk.fingerprint = CertTools.getFingerprintAsString(cert);        CertificateData data2 = home.findByPrimaryKey(pk);        assertNotNull("Failed to find cert", data2);        log.debug("found by key! ="+ data2);        log.debug("fp="+data2.getFingerprint());        log.debug("issuer="+data2.getIssuerDN());        log.debug("subject="+data2.getSubjectDN());        log.debug("cafp="+data2.getCAFingerprint());        log.debug("status="+data2.getStatus());        log.debug("type="+data2.getType());        log.debug("serno="+data2.getSerialNumber());        log.debug("expiredate="+data2.getExpireDate());        log.debug("revocationdate="+data2.getRevocationDate());        log.debug("revocationreason="+data2.getRevocationReason());        data2.setCAFingerprint("12345");        data2.setStatus(CertificateData.CERT_REVOKED);        data2.setType(SecConst.USER_ENDUSER);        data2.setRevocationDate(new Date());        data2.setRevocationReason(RevokedCertInfo.REVOKATION_REASON_KEYCOMPROMISE);        log.debug("Changed it");        log.debug("<test02FindAndChange()");    }    /**     * listst and revokes certs     *     * @throws Exception error     */    public void test03listAndRevoke() throws Exception {        log.debug(">test03listAndRevoke()");        ICertificateStoreSessionRemote store = storehome.create();        String issuerDN=CertTools.getIssuerDN(cert);        String subjectDN=CertTools.getSubjectDN(cert);        // List all certificates to see        Collection certfps = store.listAllCertificates(new Admin(Admin.TYPE_INTERNALUSER), issuerDN);        assertNotNull("failed to list certs", certfps);        assertTrue("failed to list certs", certfps.size() != 0);        int size = certfps.size();        log.debug("List certs: " + size);        // List all certificates for user foo, which we have created in TestSignSession        certfps = store.findCertificatesBySubjectAndIssuer(new Admin(Admin.TYPE_INTERNALUSER), subjectDN, issuerDN);        assertTrue("something weird with size, all < foos", size >= certfps.size());        log.debug("List certs for foo: " + certfps.size());        revDate = new Date().getTime();        Iterator iter = certfps.iterator();        while (iter.hasNext()) {            X509Certificate  cert = (X509Certificate)iter.next();            String fp = CertTools.getFingerprintAsString(cert);            log.debug(fp);            // Revoke all foos certificates            CertificateDataPK revpk = new CertificateDataPK(fp);            CertificateData rev = home.findByPrimaryKey(revpk);            rev.setStatus(CertificateData.CERT_REVOKED);            rev.setRevocationReason(RevokedCertInfo.REVOKATION_REASON_AFFILIATIONCHANGED);            rev.setRevocationDate(revDate);            log.debug("Revoked cert "+fp);        }        log.debug("<test03listAndRevoke()");    }    /**

⌨️ 快捷键说明

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