diff options
author | Sergio Giro <sgiro@google.com> | 2016-09-13 19:17:31 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-09-13 19:17:32 +0000 |
commit | e11c68467e1d247f8d8e00ce48a125e10e4a131b (patch) | |
tree | 8079cd6dcd7fa790a9444a38ab2aa7ff90b956e7 /bcprov/src/main | |
parent | ffad25ec89f309d342f328a4669ed959dac772ea (diff) | |
parent | c415feea05de0907cf741293bd538bd10d3194c6 (diff) | |
download | bouncycastle-e11c68467e1d247f8d8e00ce48a125e10e4a131b.tar.gz |
Merge "X509V3CertificateGenerator: use a X509CertificateObject from a different package"
Diffstat (limited to 'bcprov/src/main')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject.java | 6 | ||||
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java | 21 |
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 } /** |