summaryrefslogtreecommitdiff
path: root/bcprov/src/main/java/org/bouncycastle/jce/provider/test/CertPathValidatorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jce/provider/test/CertPathValidatorTest.java')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jce/provider/test/CertPathValidatorTest.java49
1 files changed, 39 insertions, 10 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jce/provider/test/CertPathValidatorTest.java b/bcprov/src/main/java/org/bouncycastle/jce/provider/test/CertPathValidatorTest.java
index d1857b83..d4c2b420 100644
--- a/bcprov/src/main/java/org/bouncycastle/jce/provider/test/CertPathValidatorTest.java
+++ b/bcprov/src/main/java/org/bouncycastle/jce/provider/test/CertPathValidatorTest.java
@@ -21,8 +21,8 @@ import java.security.cert.X509CRL;
import java.security.cert.X509CertSelector;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
-import java.util.Calendar;
import java.util.Collection;
+import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -216,8 +216,7 @@ public class CertPathValidatorTest
CertStoreParameters ccsp = new CollectionCertStoreParameters(list);
CertStore store = CertStore.getInstance("Collection", ccsp);
- Calendar validDate = Calendar.getInstance();
- validDate.set(2010,0,8,2,21,10);
+ Date validDate = new Date(crl.getThisUpdate().getTime() + 60 * 60 * 1000);
//validating path
List certchain = new ArrayList();
@@ -237,11 +236,42 @@ public class CertPathValidatorTest
param.setTargetCertConstraints(certSelector);
param.addCertStore(store);
param.setRevocationEnabled(true);
- param.setDate(validDate.getTime());
+ param.setDate(validDate);
PKIXCertPathValidatorResult result = (PKIXCertPathValidatorResult)cpv.validate(cp, param);
}
+ private void checkPolicyProcessingAtDomainMatch()
+ throws Exception
+ {
+ CertificateFactory cf = CertificateFactory.getInstance("X.509", "BC");
+
+ X509Certificate root = (X509Certificate)cf.generateCertificate(this.getClass().getResourceAsStream("qvRooCa3.crt"));
+ X509Certificate ca1 = (X509Certificate)cf.generateCertificate(this.getClass().getResourceAsStream("suvaRoot1.crt"));
+ X509Certificate ca2 = (X509Certificate)cf.generateCertificate(this.getClass().getResourceAsStream("suvaEmail1.crt"));
+ X509Certificate ee = (X509Certificate)cf.generateCertificate(this.getClass().getResourceAsStream("suvaEE.crt"));
+
+ List certchain = new ArrayList();
+ certchain.add(ee);
+ certchain.add(ca2);
+ certchain.add(ca1);
+
+ Set trust = new HashSet();
+ trust.add(new TrustAnchor(root, null));
+
+ CertPathValidator cpv = CertPathValidator.getInstance("PKIX","BC");
+ PKIXParameters param = new PKIXParameters(trust);
+ param.setRevocationEnabled(false);
+
+ CertPath cp = cf.generateCertPath(certchain);
+
+ MyChecker checker = new MyChecker();
+ param.addCertPathChecker(checker);
+
+ PKIXCertPathValidatorResult result =
+ (PKIXCertPathValidatorResult) cpv.validate(cp, param);
+ }
+
public void performTest()
throws Exception
{
@@ -261,8 +291,7 @@ public class CertPathValidatorTest
list.add(interCrl);
CollectionCertStoreParameters ccsp = new CollectionCertStoreParameters(list);
CertStore store = CertStore.getInstance("Collection", ccsp, "BC");
- Calendar validDate = Calendar.getInstance();
- validDate.set(2008,8,4,14,49,10);
+ Date validDate = new Date(rootCrl.getThisUpdate().getTime() + 60 * 60 * 1000);
//validating path
List certchain = new ArrayList();
certchain.add(finalCert);
@@ -274,7 +303,7 @@ public class CertPathValidatorTest
CertPathValidator cpv = CertPathValidator.getInstance("PKIX","BC");
PKIXParameters param = new PKIXParameters(trust);
param.addCertStore(store);
- param.setDate(validDate.getTime());
+ param.setDate(validDate);
MyChecker checker = new MyChecker();
param.addCertPathChecker(checker);
@@ -310,8 +339,7 @@ public class CertPathValidatorTest
ccsp = new CollectionCertStoreParameters(list);
store = CertStore.getInstance("Collection", ccsp);
- validDate = Calendar.getInstance();
- validDate.set(2004,2,21,2,21,10);
+ validDate = new Date(finalCert.getNotBefore().getTime() + 60 * 60 * 1000);
//validating path
certchain = new ArrayList();
@@ -325,7 +353,7 @@ public class CertPathValidatorTest
param = new PKIXParameters(trust);
param.addCertStore(store);
param.setRevocationEnabled(false);
- param.setDate(validDate.getTime());
+ param.setDate(validDate);
result =(PKIXCertPathValidatorResult) cpv.validate(cp, param);
policyTree = result.getPolicyTree();
@@ -343,6 +371,7 @@ public class CertPathValidatorTest
}
checkCircProcessing();
+ checkPolicyProcessingAtDomainMatch();
}
public String getName()