summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2013-01-16 10:17:43 -0800
committerKenny Root <kroot@google.com>2013-01-16 16:10:31 -0800
commitff0245ce2d444ef9929617dd87930e96fd1b8eb0 (patch)
tree5f92657043efbfa135b7286a5a645089dd978f60
parentf1d78c988ded570bb6cad65aeec516a55f86f31f (diff)
downloadandroid_external_bouncycastle-ff0245ce2d444ef9929617dd87930e96fd1b8eb0.tar.gz
android_external_bouncycastle-ff0245ce2d444ef9929617dd87930e96fd1b8eb0.tar.bz2
android_external_bouncycastle-ff0245ce2d444ef9929617dd87930e96fd1b8eb0.zip
Add getIssuerAlternativeNames() to JCE API
Also make sure the Collection returned is an unmodifiableCollection Change-Id: I9b91a36bd9f5c6264519510c1ac6ac86d4043e34
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java4
-rw-r--r--bcprov/src/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java4
-rw-r--r--patches/bcprov.patch19
3 files changed, 20 insertions, 7 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java b/bcprov/src/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
index ebd2343..21c305e 100644
--- a/bcprov/src/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
+++ b/bcprov/src/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
@@ -834,5 +834,9 @@ public class X509CertificateObject
{
return X509ExtensionUtil.getSubjectAlternativeNames(this);
}
+ public Collection<List<?>> getIssuerAlternativeNames() throws CertificateParsingException
+ {
+ return X509ExtensionUtil.getIssuerAlternativeNames(this);
+ }
// END android-added
}
diff --git a/bcprov/src/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java b/bcprov/src/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
index 0a6a7c4..538bdfc 100644
--- a/bcprov/src/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
+++ b/bcprov/src/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
@@ -113,7 +113,9 @@ public class X509ExtensionUtil
throw new IOException("Bad tag number: " + genName.getTagNo());
}
- temp.add(list);
+ // BEGIN android-changed
+ temp.add(Collections.unmodifiableList(list));
+ // END android-changed
}
// BEGIN android-added
if (temp.size() == 0) {
diff --git a/patches/bcprov.patch b/patches/bcprov.patch
index cde1b5e..a5940ac 100644
--- a/patches/bcprov.patch
+++ b/patches/bcprov.patch
@@ -9612,7 +9612,7 @@ diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/jce/provider/PKIXNameConstra
subtreesMap.put(tagNo, new HashSet());
diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/jce/provider/X509CertificateObject.java bcprov-jdk15on-147/org/bouncycastle/jce/provider/X509CertificateObject.java
--- bcprov-jdk15on-147.orig/org/bouncycastle/jce/provider/X509CertificateObject.java 2012-03-22 15:11:48.000000000 +0000
-+++ bcprov-jdk15on-147/org/bouncycastle/jce/provider/X509CertificateObject.java 2013-01-07 18:41:42.000000000 +0000
++++ bcprov-jdk15on-147/org/bouncycastle/jce/provider/X509CertificateObject.java 2013-01-16 18:17:43.000000000 +0000
@@ -20,6 +20,9 @@
import java.security.cert.CertificateParsingException;
import java.security.cert.X509Certificate;
@@ -9655,7 +9655,7 @@ diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/jce/provider/X509Certificate
}
catch (IOException e)
{
-@@ -815,4 +829,10 @@
+@@ -815,4 +829,14 @@
return id1.getParameters().equals(id2.getParameters());
}
@@ -9664,6 +9664,10 @@ diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/jce/provider/X509Certificate
+ {
+ return X509ExtensionUtil.getSubjectAlternativeNames(this);
+ }
++ public Collection<List<?>> getIssuerAlternativeNames() throws CertificateParsingException
++ {
++ return X509ExtensionUtil.getIssuerAlternativeNames(this);
++ }
+ // END android-added
}
diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/jce/provider/X509SignatureUtil.java bcprov-jdk15on-147/org/bouncycastle/jce/provider/X509SignatureUtil.java
@@ -9953,7 +9957,7 @@ diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/x509/X509Util.java bcprov-jd
diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/x509/extension/X509ExtensionUtil.java bcprov-jdk15on-147/org/bouncycastle/x509/extension/X509ExtensionUtil.java
--- bcprov-jdk15on-147.orig/org/bouncycastle/x509/extension/X509ExtensionUtil.java 2012-03-22 15:11:48.000000000 +0000
-+++ bcprov-jdk15on-147/org/bouncycastle/x509/extension/X509ExtensionUtil.java 2013-01-07 18:41:42.000000000 +0000
++++ bcprov-jdk15on-147/org/bouncycastle/x509/extension/X509ExtensionUtil.java 2013-01-16 18:17:43.000000000 +0000
@@ -1,6 +1,10 @@
package org.bouncycastle.x509.extension;
@@ -10013,7 +10017,7 @@ diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/x509/extension/X509Extension
break;
case GeneralName.dNSName:
case GeneralName.rfc822Name:
-@@ -82,7 +98,16 @@
+@@ -82,14 +98,30 @@
list.add(ASN1ObjectIdentifier.getInstance(genName.getName()).getId());
break;
case GeneralName.iPAddress:
@@ -10031,9 +10035,12 @@ diff -Naur bcprov-jdk15on-147.orig/org/bouncycastle/x509/extension/X509Extension
break;
default:
throw new IOException("Bad tag number: " + genName.getTagNo());
-@@ -90,6 +115,11 @@
+ }
- temp.add(list);
+- temp.add(list);
++ // BEGIN android-changed
++ temp.add(Collections.unmodifiableList(list));
++ // END android-changed
}
+ // BEGIN android-added
+ if (temp.size() == 0) {