aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java')
-rw-r--r--libraries/spongycastle/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java83
1 files changed, 83 insertions, 0 deletions
diff --git a/libraries/spongycastle/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java b/libraries/spongycastle/prov/src/test/jdk1.1/org/spongycastle/jce/provider/test/CertPathBuilderTest.java
new file mode 100644
index 000000000..463542850
--- /dev/null
+++ b/libraries/spongycastle/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());
+ }
+
+}
+