rsa3certtest.java

来自「kmlnjlkj nlkjlkjkljl okopokipoipo oipipi」· Java 代码 · 共 135 行

JAVA
135
字号
package org.bouncycastle.jce.provider.test.rsa3;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;import org.bouncycastle.openssl.PEMReader;import java.io.InputStreamReader;import java.io.Reader;import java.security.Security;import java.security.Signature;import java.security.cert.X509Certificate;/** * Marius Schilder's Bleichenbacher's Forgery Attack Tests */public class RSA3CertTest    extends TestCase{    public void setUp()    {        if (Security.getProvider("BC") == null)        {            Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());        }    }        public void testA()        throws Exception    {        doTest("self-testcase-A.pem");    }    public void testB()        throws Exception    {        doTest("self-testcase-B.pem");    }        public void testC()        throws Exception    {        doTest("self-testcase-C.pem");    }        public void testD()        throws Exception    {        doTest("self-testcase-D.pem");    }        public void testE()        throws Exception    {        doTest("self-testcase-E.pem");    }        public void testF()        throws Exception    {        doTest("self-testcase-F.pem");    }        public void testG()        throws Exception    {        doTest("self-testcase-G.pem");    }        public void testH()        throws Exception    {        doTest("self-testcase-H.pem");    }        public void testI()        throws Exception    {        doTest("self-testcase-I.pem");    }        public void testJ()        throws Exception    {        doTest("self-testcase-J.pem");    }        public void testL()        throws Exception    {        doTest("self-testcase-L.pem");    }        private void doTest(        String      certName)        throws Exception    {        X509Certificate  cert = loadCert(certName);        byte[]           tbs = cert.getTBSCertificate();        Signature        sig = Signature.getInstance(cert.getSigAlgName(), "BC");                sig.initVerify(cert.getPublicKey());                sig.update(tbs);                assertFalse(sig.verify(cert.getSignature()));    }    private X509Certificate loadCert(        String certName)        throws Exception    {        Reader    in = new InputStreamReader(getClass().getResourceAsStream(certName));        PEMReader rd = new PEMReader(in);                return (X509Certificate)rd.readObject();    }        public static void main (String[] args)         throws Exception    {        junit.textui.TestRunner.run(suite());    }        public static Test suite()         throws Exception    {           TestSuite suite = new TestSuite("Bleichenbacher's Forgery Attack Tests");                suite.addTestSuite(RSA3CertTest.class);                return suite;    }}

⌨️ 快捷键说明

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