📄 rsa3certtest.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -