diff options
author | Roberto Tyley <roberto.tyley@gmail.com> | 2014-07-15 01:38:01 +0400 |
---|---|---|
committer | Roberto Tyley <roberto.tyley@gmail.com> | 2014-07-26 11:23:17 +0400 |
commit | 7cb752aaf746dc0b473afeb9e892b7fbc12666c5 (patch) | |
tree | cc4f91ddc18332b5adbe82e3fcb040d976c90105 /prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java | |
parent | 551830f8ea5177042af2c7dd1fc90888bc67387d (diff) |
Execute become-spongy.sh
https://github.com/rtyley/spongycastle/blob/3040af/become-spongy.sh
Diffstat (limited to 'prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java')
-rw-r--r-- | prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java b/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java new file mode 100644 index 00000000..46354285 --- /dev/null +++ b/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java @@ -0,0 +1,83 @@ +package org.spongycastle.jce.provider.test; + +import java.io.ByteArrayInputStream; +import java.security.Security; +import java.security.cert.*; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.spongycastle.jce.X509Principal; +import org.spongycastle.jce.provider.BouncyCastleProvider; +import org.spongycastle.util.test.SimpleTestResult; +import org.spongycastle.util.test.Test; +import org.spongycastle.util.test.TestResult; + +public class CertPathBuilderTest + implements Test +{ + + public TestResult perform() + { + try + { + CertificateFactory cf = CertificateFactory.getInstance("X.509", "SC"); + + // initialise CertStore + X509Certificate rootCert = (X509Certificate)cf.generateCertificate(new ByteArrayInputStream(CertPathTest.rootCertBin)); + X509Certificate interCert = (X509Certificate)cf.generateCertificate(new ByteArrayInputStream(CertPathTest.interCertBin)); + X509Certificate finalCert = (X509Certificate)cf.generateCertificate(new ByteArrayInputStream(CertPathTest.finalCertBin)); + X509CRL rootCrl = (X509CRL)cf.generateCRL(new ByteArrayInputStream(CertPathTest.rootCrlBin)); + X509CRL interCrl = (X509CRL)cf.generateCRL(new ByteArrayInputStream(CertPathTest.interCrlBin)); + List list = new ArrayList(); + list.add( rootCert ); + list.add( interCert ); + list.add( finalCert ); + list.add( rootCrl ); + list.add( interCrl ); + CollectionCertStoreParameters ccsp = new CollectionCertStoreParameters( list ); + CertStore store = CertStore.getInstance("Collection", ccsp ); + Calendar validDate = Calendar.getInstance(); + validDate.set(2002,2,21,2,21,10); + + //Searching for rootCert by subjectDN without CRL + Set trust = new HashSet(); + trust.add( new TrustAnchor( rootCert, null ) ); + + CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX","SC"); + X509CertSelector targetConstraints = new X509CertSelector(); + targetConstraints.setSubject(((X509Principal)rootCert.getSubjectDN()).getEncoded()); + PKIXBuilderParameters params = new PKIXBuilderParameters( trust, targetConstraints ); + params.addCertStore( store ); + params.setDate( validDate.getTime() ); + PKIXCertPathBuilderResult result = (PKIXCertPathBuilderResult) cpb.build(params); + } + catch (Exception e) + { + e.printStackTrace(); + return new SimpleTestResult(false, this.getName() + ": exception - " + e.toString()); + } + + return new SimpleTestResult(true, this.getName() + ": Okay"); + } + + public String getName() + { + return "CertPathBuilder"; + } + + public static void main( + String[] args) + { + Security.addProvider(new BouncyCastleProvider()); + + Test test = new CertPathBuilderTest(); + TestResult result = test.perform(); + + System.out.println(result.toString()); + } + +} + |