summaryrefslogtreecommitdiff
path: root/bcprov/src
diff options
context:
space:
mode:
authorSergio Giro <sgiro@google.com>2016-09-13 19:17:31 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-09-13 19:17:32 +0000
commite11c68467e1d247f8d8e00ce48a125e10e4a131b (patch)
tree8079cd6dcd7fa790a9444a38ab2aa7ff90b956e7 /bcprov/src
parentffad25ec89f309d342f328a4669ed959dac772ea (diff)
parentc415feea05de0907cf741293bd538bd10d3194c6 (diff)
downloadbouncycastle-e11c68467e1d247f8d8e00ce48a125e10e4a131b.tar.gz
Merge "X509V3CertificateGenerator: use a X509CertificateObject from a different package"
Diffstat (limited to 'bcprov/src')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject.java6
-rw-r--r--bcprov/src/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java21
2 files changed, 23 insertions, 4 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject.java
index 51213d42..8242b117 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject.java
@@ -68,7 +68,11 @@ import org.bouncycastle.util.Integers;
import org.bouncycastle.util.Strings;
import org.bouncycastle.util.encoders.Hex;
-class X509CertificateObject
+// BEGIN ANDROID-CHANGED
+// Was: class X509CertificateObject
+// Changed to public so that it can be accessed from X509V3CertificateGenerator
+public class X509CertificateObject
+// END ANDROID-CHANGED
extends X509Certificate
implements PKCS12BagAttributeCarrier
{
diff --git a/bcprov/src/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java b/bcprov/src/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
index c422cb26..54be0016 100644
--- a/bcprov/src/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
+++ b/bcprov/src/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
@@ -34,7 +34,12 @@ import org.bouncycastle.asn1.x509.V3TBSCertificateGenerator;
import org.bouncycastle.asn1.x509.X509ExtensionsGenerator;
import org.bouncycastle.asn1.x509.X509Name;
import org.bouncycastle.jce.X509Principal;
-import org.bouncycastle.jce.provider.X509CertificateObject;
+// BEGIN ANDROID-ADDED
+// See the definition of the jcaJceHelper field for details.
+import org.bouncycastle.jcajce.provider.asymmetric.x509.X509CertificateObject;
+import org.bouncycastle.jcajce.util.BCJcaJceHelper;
+import org.bouncycastle.jcajce.util.JcaJceHelper;
+// END ANDROID-ADDED
import org.bouncycastle.x509.extension.X509ExtensionUtil;
/**
@@ -48,6 +53,12 @@ public class X509V3CertificateGenerator
private AlgorithmIdentifier sigAlgId;
private String signatureAlgorithm;
private X509ExtensionsGenerator extGenerator;
+ // BEGIN ANDROID-ADDED
+ // Use org.bouncycastle.jcajce.provider.asymmetric.x509.X509CertificateObject
+ // instead of org.bouncycastle.jce.provider.X509CertificateObject.
+ // We need to pass one instance of JcaJceHelper in the constructor of the former class.
+ private final JcaJceHelper jcaJceHelper = new BCJcaJceHelper();
+ // END ANDROID-ADDED
public X509V3CertificateGenerator()
{
@@ -510,8 +521,12 @@ public class X509V3CertificateGenerator
v.add(tbsCert);
v.add(sigAlgId);
v.add(new DERBitString(signature));
-
- return new X509CertificateObject(Certificate.getInstance(new DERSequence(v)));
+ // BEGIN ANDROID-CHANGED
+ // Was: return new X509CertificateObject(Certificate.getInstance(new DERSequence(v)));
+ // We are using a different X509CertificateObject class than the original, see definition
+ // of the jcaJceHelper field for details.
+ return new X509CertificateObject(jcaJceHelper, Certificate.getInstance(new DERSequence(v)));
+ // END ANDROID-CHANGED
}
/**