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

📄 ocsptest.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            fail("not signed but should be");        }        if (!req.verify(signKP.getPublic(), "BC"))        {            fail("signature failed to verify");        }        requests = req.getRequestList();        if (!requests[0].getCertID().equals(id))        {            fail("Failed isFor test");        }        certs = req.getCerts("BC");        if (certs == null)        {            fail("null certs found");        }        if (certs.length != 1 || !certs[0].equals(testCert))        {            fail("incorrect certs found in request");        }        //        // encoding test        //        byte[] reqEnc = req.getEncoded();        OCSPReq newReq = new OCSPReq(reqEnc);        if (!newReq.verify(signKP.getPublic(), "BC"))        {            fail("newReq signature failed to verify");        }        //        // request generation with signing and nonce        //        chain = new X509Certificate[1];        gen = new OCSPReqGenerator();        Vector oids = new Vector();        Vector values = new Vector();        byte[] sampleNonce = new byte[16];        Random rand = new Random();        rand.nextBytes(sampleNonce);        gen.setRequestorName(new GeneralName(GeneralName.directoryName, new X509Principal("CN=fred")));        oids.addElement(OCSPObjectIdentifiers.id_pkix_ocsp_nonce);        values.addElement(new X509Extension(false, new DEROctetString(new DEROctetString(sampleNonce))));        gen.setRequestExtensions(new X509Extensions(oids, values));        gen.addRequest(            new CertificateID(CertificateID.HASH_SHA1, testCert, BigInteger.valueOf(1)));        chain[0] = testCert;        req = gen.generate("SHA1withECDSA", signKP.getPrivate(), chain, "BC");        if (!req.isSigned())        {            fail("not signed but should be");        }        if (!req.verify(signKP.getPublic(), "BC"))        {            fail("signature failed to verify");        }        //        // extension check.        //        Set extOids = req.getCriticalExtensionOIDs();        if (extOids.size() != 0)        {            fail("wrong number of critical extensions in OCSP request.");        }        extOids = req.getNonCriticalExtensionOIDs();        if (extOids.size() != 1)        {            fail("wrong number of non-critical extensions in OCSP request.");        }        byte[] extValue = req.getExtensionValue(OCSPObjectIdentifiers.id_pkix_ocsp_nonce.getId());        ASN1Encodable extObj = X509ExtensionUtil.fromExtensionValue(extValue);        if (!(extObj instanceof ASN1OctetString))        {            fail("wrong extension type found.");        }        if (!areEqual(((ASN1OctetString)extObj).getOctets(), sampleNonce))        {            fail("wrong extension value found.");        }        //        // request list check        //        requests = req.getRequestList();        if (!requests[0].getCertID().equals(id))        {            fail("Failed isFor test");        }        //        // response generation        //        BasicOCSPRespGenerator respGen = new BasicOCSPRespGenerator(signKP.getPublic());        respGen.addResponse(id, CertificateStatus.GOOD);        BasicOCSPResp resp = respGen.generate("SHA1withECDSA", signKP.getPrivate(), chain, new Date(), "BC");    }    private void testRSA()        throws Exception    {        String signDN = "O=Bouncy Castle, C=AU";        KeyPair signKP = OCSPTestUtil.makeKeyPair();        X509Certificate testCert = OCSPTestUtil.makeCertificate(signKP, signDN, signKP, signDN);        String origDN = "CN=Eric H. Echidna, E=eric@bouncycastle.org, O=Bouncy Castle, C=AU";        GeneralName origName = new GeneralName(new X509Name(origDN));        //        // general id value for our test issuer cert and a serial number.        //        CertificateID id = new CertificateID(CertificateID.HASH_SHA1, testCert, BigInteger.valueOf(1));        //        // basic request generation        //        OCSPReqGenerator gen = new OCSPReqGenerator();        gen.addRequest(            new CertificateID(CertificateID.HASH_SHA1, testCert, BigInteger.valueOf(1)));        OCSPReq req = gen.generate();        if (req.isSigned())        {            fail("signed but shouldn't be");        }        X509Certificate[] certs = req.getCerts("BC");        if (certs != null)        {            fail("null certs expected, but not found");        }        Req[] requests = req.getRequestList();        if (!requests[0].getCertID().equals(id))        {            fail("Failed isFor test");        }        //        // request generation with signing        //        X509Certificate[] chain = new X509Certificate[1];        gen = new OCSPReqGenerator();        gen.setRequestorName(new GeneralName(GeneralName.directoryName, new X509Principal("CN=fred")));        gen.addRequest(            new CertificateID(CertificateID.HASH_SHA1, testCert, BigInteger.valueOf(1)));        chain[0] = testCert;        req = gen.generate("SHA1withRSA", signKP.getPrivate(), chain, "BC");        if (!req.isSigned())        {            fail("not signed but should be");        }        if (!req.verify(signKP.getPublic(), "BC"))        {            fail("signature failed to verify");        }        requests = req.getRequestList();        if (!requests[0].getCertID().equals(id))        {            fail("Failed isFor test");        }        certs = req.getCerts("BC");        if (certs == null)        {            fail("null certs found");        }        if (certs.length != 1 || !certs[0].equals(testCert))        {            fail("incorrect certs found in request");        }        //        // encoding test        //        byte[] reqEnc = req.getEncoded();        OCSPReq newReq = new OCSPReq(reqEnc);        if (!newReq.verify(signKP.getPublic(), "BC"))        {            fail("newReq signature failed to verify");        }        //        // request generation with signing and nonce        //        chain = new X509Certificate[1];        gen = new OCSPReqGenerator();        Vector oids = new Vector();        Vector values = new Vector();        byte[] sampleNonce = new byte[16];        Random rand = new Random();        rand.nextBytes(sampleNonce);        gen.setRequestorName(new GeneralName(GeneralName.directoryName, new X509Principal("CN=fred")));        oids.addElement(OCSPObjectIdentifiers.id_pkix_ocsp_nonce);        values.addElement(new X509Extension(false, new DEROctetString(new DEROctetString(sampleNonce))));        gen.setRequestExtensions(new X509Extensions(oids, values));        gen.addRequest(            new CertificateID(CertificateID.HASH_SHA1, testCert, BigInteger.valueOf(1)));        chain[0] = testCert;        req = gen.generate("SHA1withRSA", signKP.getPrivate(), chain, "BC");        if (!req.isSigned())        {            fail("not signed but should be");        }        if (!req.verify(signKP.getPublic(), "BC"))        {            fail("signature failed to verify");        }        //        // extension check.        //        Set extOids = req.getCriticalExtensionOIDs();        if (extOids.size() != 0)        {            fail("wrong number of critical extensions in OCSP request.");        }        extOids = req.getNonCriticalExtensionOIDs();        if (extOids.size() != 1)        {            fail("wrong number of non-critical extensions in OCSP request.");        }        byte[] extValue = req.getExtensionValue(OCSPObjectIdentifiers.id_pkix_ocsp_nonce.getId());        ASN1Encodable extObj = X509ExtensionUtil.fromExtensionValue(extValue);        if (!(extObj instanceof ASN1OctetString))

⌨️ 快捷键说明

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