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

📄 nistcertpathreviewertest.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2);    }        public void testAllCertificatesAnyPolicyTest11()        throws Exception    {        String[] certList = new String[] { "anyPolicyCACert", "AllCertificatesanyPolicyTest11EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL, "anyPolicyCACRL" };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);    }        public void testDifferentPoliciesTest12()        throws Exception    {        String[] certList = new String[] { "PoliciesP3CACert", "DifferentPoliciesTest12EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL, "PoliciesP3CACRL" };                doErrorTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList,                -1,                "CertPathReviewer.noValidPolicyTree",                "Policy checking failed: no valid policy tree found when one expected.");    }        public void testAllCertificatesSamePoliciesTest13()        throws Exception    {        String[] certList = new String[] { "PoliciesP123CACert", "AllCertificatesSamePoliciesTest13EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL, "PoliciesP123CACRL" };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy3);    }        public void testAnyPolicyTest14()        throws Exception    {        String[] certList = new String[] { "anyPolicyCACert", "AnyPolicyTest14EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL, "anyPolicyCACRL" };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);        doErrorTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2,                -1,                "CertPathReviewer.invalidPolicy",                "Path processing failed on policy.");    }        public void testUserNoticeQualifierTest15()        throws Exception    {        String[] certList = new String[] { "UserNoticeQualifierTest15EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);        doErrorTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2,                -1,                "CertPathReviewer.invalidPolicy",                "Path processing failed on policy.");    }        public void testUserNoticeQualifierTest16()        throws Exception    {        String[] certList = new String[] { GOOD_CA_CERT, "UserNoticeQualifierTest16EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL, GOOD_CA_CRL };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList);                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);                doErrorTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2,                -1,                "CertPathReviewer.invalidPolicy",                "Path processing failed on policy.");    }        public void testUserNoticeQualifierTest17()        throws Exception    {        String[] certList = new String[] { GOOD_CA_CERT, "UserNoticeQualifierTest17EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL, GOOD_CA_CRL };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);        doErrorTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2,                -1,                "CertPathReviewer.invalidPolicy",                "Path processing failed on policy.");    }        public void testUserNoticeQualifierTest18()        throws Exception    {        String[] certList = new String[] { "PoliciesP12CACert", "UserNoticeQualifierTest18EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL, "PoliciesP12CACRL" };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);        doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2);    }        public void testUserNoticeQualifierTest19()        throws Exception    {        String[] certList = new String[] { "UserNoticeQualifierTest19EE" };        String[] crlList = new String[] { TRUST_ANCHOR_ROOT_CRL };                doAcceptingTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy1);        doErrorTest(TRUST_ANCHOR_ROOT_CERTIFICATE, certList, crlList, nistTestPolicy2,                -1,                "CertPathReviewer.invalidPolicy",                "Path processing failed on policy.");    }        private void doAcceptingTest(        String      trustAnchor,        String[]    certs,        String[]    crls)        throws Exception    {        PKIXCertPathReviewer result = doTest(trustAnchor,certs,crls);        if (!result.isValidCertPath())        {            fail("path rejected when should be accepted");        }    }        private void doAcceptingTest(        String      trustAnchor,        String[]    certs,        String[]    crls,        Set         policies)        throws Exception    {        PKIXCertPathReviewer result = doTest(trustAnchor,certs,crls,policies);        if (!result.isValidCertPath())        {            fail("path rejected when should be accepted");        }    }        private void doErrorTest(        String      trustAnchor,        String[]    certs,        String[]    crls,        int         index,        String      messageId,        String      message)        throws Exception    {        PKIXCertPathReviewer result = doTest(trustAnchor, certs, crls);        if (result.isValidCertPath())         {            fail("path accepted when should be rejected");        }        else        {            ErrorBundle msg = (ErrorBundle) result.getErrors(index).iterator().next();            assertEquals(messageId,msg.getId());            assertEquals(message,msg.getText(Locale.ENGLISH,TimeZone.getTimeZone("GMT")));        }    }        private void doErrorTest(        String      trustAnchor,        String[]    certs,        String[]    crls,        Set         policies,        int         index,        String      messageId,        String      message)        throws Exception    {        PKIXCertPathReviewer result = doTest(trustAnchor, certs, crls, policies);        if (result.isValidCertPath())         {            fail("path accepted when should be rejected");        }        else        {            ErrorBundle msg = (ErrorBundle) result.getErrors(index).iterator().next();            assertEquals(messageId,msg.getId());            assertEquals(message,msg.getText(Locale.ENGLISH,TimeZone.getTimeZone("GMT")));        }    }        private PKIXCertPathReviewer doTest(        String      trustAnchor,        String[]    certs,        String[]    crls)        throws Exception    {        return doTest(trustAnchor, certs, crls, null);    }        private PKIXCertPathReviewer doTest(        String      trustAnchor,        String[]    certs,        String[]    crls,        Set         policies)        throws Exception    {        Set  trustedSet = Collections.singleton(getTrustAnchor(trustAnchor));        List certsAndCrls = new ArrayList();        X509Certificate endCert = loadCert(certs[certs.length - 1]);                for (int i = 0; i != certs.length - 1; i++)        {            certsAndCrls.add(loadCert(certs[i]));        }                certsAndCrls.add(endCert);            CertPath certPath = CertificateFactory.getInstance("X.509","BC").generateCertPath(certsAndCrls);            for (int i = 0; i != crls.length; i++)        {            certsAndCrls.add(loadCrl(crls[i]));        }            CertStore  store = CertStore.getInstance("Collection", new CollectionCertStoreParameters(certsAndCrls), "BC");                //CertPathValidator validator = CertPathValidator.getInstance("PKIX","BC");        PKIXCertPathReviewer reviewer;        PKIXParameters    params = new PKIXParameters(trustedSet);                params.addCertStore(store);        params.setRevocationEnabled(true);                if (policies != null)        {            params.setExplicitPolicyRequired(true);            params.setInitialPolicies(policies);        }                reviewer = new PKIXCertPathReviewer(certPath,params);                return reviewer;    }    private X509Certificate loadCert(        String certName)    {        X509Certificate cert = (X509Certificate)certs.get(certName);                if (cert != null)        {            return cert;        }                try        {            InputStream in = new FileInputStream(getPkitsHome() + "/certs/" + certName + ".crt");                        CertificateFactory fact = CertificateFactory.getInstance("X.509", "BC");                        cert = (X509Certificate)fact.generateCertificate(in);                certs.put(certName, cert);                        return cert;        }        catch (Exception e)        {            throw new IllegalStateException("exception loading certificate " + certName + ": " + e);        }    }        private X509CRL loadCrl(        String crlName)        throws Exception    {        X509CRL crl = (X509CRL)certs.get(crlName);                if (crl != null)        {            return crl;        }                try        {            InputStream in = new FileInputStream(getPkitsHome() + "/crls/" + crlName + ".crl");                        CertificateFactory fact = CertificateFactory.getInstance("X.509", "BC");                        crl = (X509CRL)fact.generateCRL(in);                        crls.put(crlName, crl);                        return crl;        }        catch (Exception e)        {            throw new IllegalStateException("exception loading CRL: " + crlName);        }    }    private TrustAnchor getTrustAnchor(String trustAnchorName)        throws Exception    {        X509Certificate cert = loadCert(trustAnchorName);        byte[]          extBytes = cert.getExtensionValue(X509Extensions.NameConstraints.getId());                if (extBytes != null)        {            ASN1Encodable extValue = X509ExtensionUtil.fromExtensionValue(extBytes);                        return new TrustAnchor(cert, extValue.getDEREncoded());        }                return new TrustAnchor(cert, null);    }        private String getPkitsHome()    {        String dataHome = System.getProperty(TEST_DATA_HOME);                if (dataHome == null)        {            throw new IllegalStateException(TEST_DATA_HOME + " property not set");        }                return dataHome + "/PKITS";    }        public static void main (String[] args)         throws Exception    {           junit.textui.TestRunner.run(suite());    }        public void setUp()    {        if (Security.getProvider("BC") == null)        {            Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());        }    }        public static Test suite()         throws Exception    {           TestSuite suite = new TestSuite("NIST CertPath Tests");                suite.addTestSuite(NistCertPathReviewerTest.class);                return suite;    }}

⌨️ 快捷键说明

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