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

📄 testcerttools.java

📁 JAVA做的J2EE下CA认证系统 基于EJB开发
💻 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.util;import java.security.cert.X509Certificate;import junit.framework.TestCase;import org.apache.log4j.Logger;/** * Tests the CertTools class . * * @version $Id: TestCertTools.java,v 1.6.2.5 2005/11/17 20:42:01 herrvendil Exp $ */public class TestCertTools extends TestCase {    private static Logger log = Logger.getLogger(TestCertTools.class);    static byte[] testcert = Base64.decode(("MIIDATCCAmqgAwIBAgIIczEoghAwc3EwDQYJKoZIhvcNAQEFBQAwLzEPMA0GA1UE"            + "AxMGVGVzdENBMQ8wDQYDVQQKEwZBbmFUb20xCzAJBgNVBAYTAlNFMB4XDTAzMDky"            + "NDA2NDgwNFoXDTA1MDkyMzA2NTgwNFowMzEQMA4GA1UEAxMHcDEydGVzdDESMBAG"            + "A1UEChMJUHJpbWVUZXN0MQswCQYDVQQGEwJTRTCBnTANBgkqhkiG9w0BAQEFAAOB"            + "iwAwgYcCgYEAnPAtfpU63/0h6InBmesN8FYS47hMvq/sliSBOMU0VqzlNNXuhD8a"            + "3FypGfnPXvjJP5YX9ORu1xAfTNao2sSHLtrkNJQBv6jCRIMYbjjo84UFab2qhhaJ"            + "wqJgkQNKu2LHy5gFUztxD8JIuFPoayp1n9JL/gqFDv6k81UnDGmHeFcCARGjggEi"            + "MIIBHjAPBgNVHRMBAf8EBTADAQEAMA8GA1UdDwEB/wQFAwMHoAAwOwYDVR0lBDQw"            + "MgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYBBQUHAwUGCCsGAQUF"            + "BwMHMB0GA1UdDgQWBBTnT1aQ9I0Ud4OEfNJkSOgJSrsIoDAfBgNVHSMEGDAWgBRj"            + "e/R2qFQkjqV0pXdEpvReD1eSUTAiBgNVHREEGzAZoBcGCisGAQQBgjcUAgOgCQwH"            + "Zm9vQGZvbzASBgNVHSAECzAJMAcGBSkBAQEBMEUGA1UdHwQ+MDwwOqA4oDaGNGh0"            + "dHA6Ly8xMjcuMC4wLjE6ODA4MC9lamJjYS93ZWJkaXN0L2NlcnRkaXN0P2NtZD1j"            + "cmwwDQYJKoZIhvcNAQEFBQADgYEAU4CCcLoSUDGXJAOO9hGhvxQiwjGD2rVKCLR4"            + "emox1mlQ5rgO9sSel6jHkwceaq4A55+qXAjQVsuy76UJnc8ncYX8f98uSYKcjxo/"            + "ifn1eHMbL8dGLd5bc2GNBZkmhFIEoDvbfn9jo7phlS8iyvF2YhC4eso8Xb+T7+BZ"            + "QUOBOvc=").getBytes());    static byte[] guidcert = Base64.decode(            ("MIIC+zCCAmSgAwIBAgIIBW0F4eGmH0YwDQYJKoZIhvcNAQEFBQAwMTERMA8GA1UE"            +"AxMIQWRtaW5DQTExDzANBgNVBAoTBkFuYVRvbTELMAkGA1UEBhMCU0UwHhcNMDQw"            +"OTE2MTc1NzQ1WhcNMDYwOTE2MTgwNzQ1WjAyMRQwEgYKCZImiZPyLGQBARMEZ3Vp"            +"ZDENMAsGA1UEAxMER3VpZDELMAkGA1UEBhMCU0UwgZ8wDQYJKoZIhvcNAQEBBQAD"            +"gY0AMIGJAoGBANdjsBcLJKUN4hzJU1p3cqaXhPgEjGul62/3xv+Gow+7oOYePcK8"            +"bM5VO4zdQVWEhuGOZFaZ70YbXhei4F9kvqlN7xuG47g7DNZ0/fnRzvGY0BHmIR4Y"            +"/U87oMEDa2Giy0WTjsmT14uzy4luFgqb2ZA3USGcyJ9hoT6j1WDyOxitAgMBAAGj"            +"ggEZMIIBFTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIFoDA7BgNVHSUENDAy"            +"BggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcDBQYIKwYBBQUH"            +"AwcwHQYDVR0OBBYEFJlDddj88zI7tz3SPfdig0gw5IWvMB8GA1UdIwQYMBaAFI1k"            +"9WhE1WXpeezZx/kM0qsoZyqVMHgGA1UdEQRxMG+BDGd1aWRAZm9vLmNvbYIMZ3Vp"            +"ZC5mb28uY29thhRodHRwOi8vZ3VpZC5mb28uY29tL4cECgwNDqAcBgorBgEEAYI3"            +"FAIDoA4MDGd1aWRAZm9vLmNvbaAXBgkrBgEEAYI3GQGgCgQIEjRWeJCrze8wDQYJ"            +"KoZIhvcNAQEFBQADgYEAq39n6CZJgJnW0CH+QkcuU5F4RQveNPGiJzIJxUeOQ1yQ"            +"gSkt3hvNwG4kLBmmwe9YLdS83dgNImMWL/DgID/47aENlBNai14CvtMceokik4IN"            +"sacc7x/Vp3xezHLuBMcf3E3VSo4FwqcUYFmu7Obke3ebmB08nC6gnQHkzjNsmQw=").getBytes());    static byte[] altNameCert = Base64.decode(            ("MIIDDzCCAfegAwIBAgIIPiL0klmu1uIwDQYJKoZIhvcNAQEFBQAwNzERMA8GA1UE"             +"AxMIQWRtaW5DQTExFTATBgNVBAoTDEVKQkNBIFNhbXBsZTELMAkGA1UEBhMCU0Uw"             +"HhcNMDUwODAyMTAxOTQ5WhcNMDcwODAyMTAyOTQ5WjAsMQwwCgYDVQQDEwNmb28x"             +"DzANBgNVBAoTBkFuYVRvbTELMAkGA1UEBhMCU0UwXDANBgkqhkiG9w0BAQEFAANL"             +"ADBIAkEAmMVWkkEMLbDNoB/NG3kJ22eC18syXqaHWRWc4DldFeCMGeLzfB2NklNv"             +"hmr2kgIJcK+wyFpMkYm46dSMOrvovQIDAQABo4HxMIHuMAwGA1UdEwEB/wQCMAAw"             +"DgYDVR0PAQH/BAQDAgWgMDsGA1UdJQQ0MDIGCCsGAQUFBwMBBggrBgEFBQcDAgYI"             +"KwYBBQUHAwQGCCsGAQUFBwMFBggrBgEFBQcDBzAdBgNVHQ4EFgQUIV/Fck/+UVnw"             +"tJigtZIF5OuuhlIwHwYDVR0jBBgwFoAUB/2KRYNOZxRDkJ5oChjNeXgwtCcwUQYD"             +"VR0RBEowSIEKdG9tYXNAYS5zZYIId3d3LmEuc2WGEGh0dHA6Ly93d3cuYS5zZS+H"             +"BAoBAQGgGAYKKwYBBAGCNxQCA6AKDAhmb29AYS5zZTANBgkqhkiG9w0BAQUFAAOC"             +"AQEAfAGJM0/s+Yi1Ewmvt9Z/9w8X/T/02bF8P8MJG2H2eiIMCs/tkNhnlFGYYGhD"             +"Km8ynveQZbdYvKFioOr/D19gMis/HNy9UDfOMrJdeGWiwxUHvKKbtcSlOPH3Hm0t"             +"LSKomWdKfjTksfj69Tf01S0oNonprvwGxIdsa1uA9BC/MjkkPt1qEWkt/FWCfq9u"             +"8Xyj2tZEJKjLgAW6qJ3ye81pEVKHgMmapWTQU2uI1qyEPYxoT9WkQtSObGI1wCqO"             +"YmKglnd5BIUBPO9LOryyHlSRTID5z0UgDlrTAaNYuN8QOYF+DZEQxm4bSXTDooGX"             +"rHjSjn/7Urb31CXWAxq0Zhk3fg==").getBytes());        /**     * Creates a new TestCertTools object.     *     * @param name DOCUMENT ME!     */    public TestCertTools(String name) {        super(name);    }    protected void setUp() throws Exception {        log.debug(">setUp()");        CertTools.installBCProvider();        log.debug("<setUp()");    }    protected void tearDown() throws Exception {    }    /**     * DOCUMENT ME!     *     * @throws Exception DOCUMENT ME!     */    public void test01GetPartFromDN() throws Exception {        log.debug(">test01GetPartFromDN()");        // We try to examine the general case and som special cases, which we want to be able to handle        String dn0 = "C=SE, O=AnaTom, CN=foo";        assertEquals(CertTools.getPartFromDN(dn0, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn0, "O"), "AnaTom");        assertEquals(CertTools.getPartFromDN(dn0, "C"), "SE");        assertEquals(CertTools.getPartFromDN(dn0, "cn"), "foo");        assertEquals(CertTools.getPartFromDN(dn0, "o"), "AnaTom");        assertEquals(CertTools.getPartFromDN(dn0, "c"), "SE");        String dn1 = "c=SE, o=AnaTom, cn=foo";        assertEquals(CertTools.getPartFromDN(dn1, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn1, "O"), "AnaTom");        assertEquals(CertTools.getPartFromDN(dn1, "C"), "SE");        assertEquals(CertTools.getPartFromDN(dn1, "cn"), "foo");        assertEquals(CertTools.getPartFromDN(dn1, "o"), "AnaTom");        assertEquals(CertTools.getPartFromDN(dn1, "c"), "SE");        String dn2 = "C=SE, O=AnaTom, CN=cn";        assertEquals(CertTools.getPartFromDN(dn2, "CN"), "cn");        String dn3 = "C=SE, O=AnaTom, CN=CN";        assertEquals(CertTools.getPartFromDN(dn3, "CN"), "CN");        String dn4 = "C=CN, O=AnaTom, CN=foo";        assertEquals(CertTools.getPartFromDN(dn4, "CN"), "foo");        String dn5 = "C=cn, O=AnaTom, CN=foo";        assertEquals(CertTools.getPartFromDN(dn5, "CN"), "foo");        String dn6 = "CN=foo, O=PrimeKey, C=SE";        assertEquals(CertTools.getPartFromDN(dn6, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn6, "O"), "PrimeKey");        assertEquals(CertTools.getPartFromDN(dn6, "C"), "SE");        String dn7 = "CN=foo, O=PrimeKey, C=cn";        assertEquals(CertTools.getPartFromDN(dn7, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn7, "C"), "cn");        String dn8 = "CN=foo, O=PrimeKey, C=CN";        assertEquals(CertTools.getPartFromDN(dn8, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn8, "C"), "CN");        String dn9 = "CN=foo, O=CN, C=CN";        assertEquals(CertTools.getPartFromDN(dn9, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn9, "O"), "CN");        String dn10 = "CN=foo, CN=bar,O=CN, C=CN";        assertEquals(CertTools.getPartFromDN(dn10, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn10, "O"), "CN");        String dn11 = "CN=foo,CN=bar, O=CN, C=CN";        assertEquals(CertTools.getPartFromDN(dn11, "CN"), "foo");        assertEquals(CertTools.getPartFromDN(dn11, "O"), "CN");        String dn12 = "CN=\"foo, OU=bar\", O=baz\\\\\\, quux,C=C";        assertEquals(CertTools.getPartFromDN(dn12, "CN"), "foo, OU=bar");        assertEquals(CertTools.getPartFromDN(dn12, "O"), "baz\\, quux");        assertNull(CertTools.getPartFromDN(dn12, "OU"));        String dn13 = "C=SE, O=PrimeKey, EmailAddress=foo@primekey.se";        assertEquals(CertTools.getEmailFromDN(dn13), "foo@primekey.se");        String dn14 = "C=SE, E=foo@primekey.se, O=PrimeKey";        assertEquals(CertTools.getEmailFromDN(dn14), "foo@primekey.se");        String dn15 = "C=SE, E=foo@primekey.se, O=PrimeKey, EmailAddress=bar@primekey.se";        assertEquals(CertTools.getEmailFromDN(dn15), "bar@primekey.se");        log.debug("<test01GetPartFromDN()");    }    /**     * DOCUMENT ME!     *     * @throws Exception DOCUMENT ME!     */    public void test02StringToBCDNString() throws Exception {        log.debug(">test02StringToBCDNString()");        // We try to examine the general case and som special cases, which we want to be able to handle        String dn1 = "C=SE, O=AnaTom, CN=foo";        assertEquals(CertTools.stringToBCDNString(dn1), "CN=foo,O=AnaTom,C=SE");        String dn2 = "C=SE, O=AnaTom, CN=cn";        assertEquals(CertTools.stringToBCDNString(dn2), "CN=cn,O=AnaTom,C=SE");        String dn3 = "CN=foo, O=PrimeKey, C=SE";        assertEquals(CertTools.stringToBCDNString(dn3), "CN=foo,O=PrimeKey,C=SE");        String dn4 = "cn=foo, o=PrimeKey, c=SE";        assertEquals(CertTools.stringToBCDNString(dn4), "CN=foo,O=PrimeKey,C=SE");        String dn5 = "cn=foo,o=PrimeKey,c=SE";        assertEquals(CertTools.stringToBCDNString(dn5), "CN=foo,O=PrimeKey,C=SE");        String dn6 = "C=SE, O=AnaTom, CN=CN";        assertEquals(CertTools.stringToBCDNString(dn6), "CN=CN,O=AnaTom,C=SE");        String dn7 = "C=CN, O=AnaTom, CN=foo";        assertEquals(CertTools.stringToBCDNString(dn7), "CN=foo,O=AnaTom,C=CN");        String dn8 = "C=cn, O=AnaTom, CN=foo";        assertEquals(CertTools.stringToBCDNString(dn8), "CN=foo,O=AnaTom,C=cn");        String dn9 = "CN=foo, O=PrimeKey, C=CN";        assertEquals(CertTools.stringToBCDNString(dn9), "CN=foo,O=PrimeKey,C=CN");        String dn10 = "CN=foo, O=PrimeKey, C=cn";        assertEquals(CertTools.stringToBCDNString(dn10), "CN=foo,O=PrimeKey,C=cn");        String dn11 = "CN=foo, O=CN, C=CN";        assertEquals(CertTools.stringToBCDNString(dn11), "CN=foo,O=CN,C=CN");        String dn12 = "O=PrimeKey,C=SE,CN=CN";        assertEquals(CertTools.stringToBCDNString(dn12), "CN=CN,O=PrimeKey,C=SE");        String dn13 = "O=PrimeKey,C=SE,CN=CN, OU=FooOU";        assertEquals(CertTools.stringToBCDNString(dn13), "CN=CN,OU=FooOU,O=PrimeKey,C=SE");        String dn14 = "O=PrimeKey,C=CN,CN=CN, OU=FooOU";        assertEquals(CertTools.stringToBCDNString(dn14), "CN=CN,OU=FooOU,O=PrimeKey,C=CN");        String dn15 = "O=PrimeKey,C=CN,CN=cn, OU=FooOU";        assertEquals(CertTools.stringToBCDNString(dn15), "CN=cn,OU=FooOU,O=PrimeKey,C=CN");        String dn16 = "CN=foo, CN=bar,O=CN, C=CN";        assertEquals(CertTools.stringToBCDNString(dn16), "CN=foo,CN=bar,O=CN,C=CN");        String dn17 = "CN=foo,CN=bar, O=CN, O=C, C=CN";        assertEquals(CertTools.stringToBCDNString(dn17), "CN=foo,CN=bar,O=CN,O=C,C=CN");        String dn18 = "cn=jean,cn=EJBCA,dc=home,dc=jean";        assertEquals(CertTools.stringToBCDNString(dn18), "CN=jean,CN=EJBCA,DC=home,DC=jean");        String dn19 = "cn=bar, cn=foo,o=oo, O=EJBCA,DC=DC2, dc=dc1, C=SE";        assertEquals(CertTools.stringToBCDNString(dn19), "CN=bar,CN=foo,O=oo,O=EJBCA,DC=DC2,DC=dc1,C=SE");        String dn20 = " CN=\"foo, OU=bar\",  O=baz\\\\\\, quux,C=SE ";        // BC always escapes with backslash, it doesn't use quotes.        assertEquals(CertTools.stringToBCDNString(dn20), "CN=foo\\, OU=bar,O=baz\\\\\\, quux,C=SE");        String dn21 = "C=SE,O=Foo\\, Inc, OU=Foo\\, Dep, CN=Foo\\'";        String bcdn21 = CertTools.stringToBCDNString(dn21);        assertEquals(bcdn21, "CN=Foo\',OU=Foo\\, Dep,O=Foo\\, Inc,C=SE");        // it is allowed to escape ,        assertEquals(StringTools.strip(bcdn21), "CN=Foo',OU=Foo\\, Dep,O=Foo\\, Inc,C=SE");        String dn22 = "C=SE,O=Foo\\, Inc, OU=Foo, Dep, CN=Foo'";        String bcdn22 = CertTools.stringToBCDNString(dn22);        assertEquals(bcdn22, "CN=Foo',OU=Foo,O=Foo\\, Inc,C=SE");        assertEquals(StringTools.strip(bcdn22), "CN=Foo',OU=Foo,O=Foo\\, Inc,C=SE");        log.debug("<test02StringToBCDNString()");    }    /**     * DOCUMENT ME!

⌨️ 快捷键说明

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