summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2010-10-05 15:57:48 -0700
committerBrian Carlstrom <bdc@google.com>2010-10-05 15:57:48 -0700
commit83ebf91dca9720cd1575bbb8f19fe976ab99f77c (patch)
tree5df537efc6e6a414ac940fbe3b671d0ed6a09772 /patches
parentf2f9cd54598d633a9895f741629bd26c2a5ecc05 (diff)
parent5faee297baafbc31667954a404d0451916ef5c59 (diff)
downloadbouncycastle-83ebf91dca9720cd1575bbb8f19fe976ab99f77c.tar.gz
resolved conflicts for merge of 5faee297 to master
Change-Id: Ie91354430d7a81a1fe800e968bbcc959d43231a1
Diffstat (limited to 'patches')
-rw-r--r--patches/README3
-rw-r--r--patches/android.patch1187
2 files changed, 512 insertions, 678 deletions
diff --git a/patches/README b/patches/README
index 9452448e..b6243594 100644
--- a/patches/README
+++ b/patches/README
@@ -32,4 +32,5 @@ Other performance (both speed and memory) changes:
- Make PKCS12 KeyStore throw error when setting non-PrivateKey, instead of on get
- Make PKCS12 KeyStore tolerate setting with an empty certificate chain
- Fixed cut & paste instanceof error in EncryptedPrivateKeyInfo
-- Make BouncyCastleProvider.PROVIDER_NAME final \ No newline at end of file
+- Make BouncyCastleProvider.PROVIDER_NAME final
+- Added wrapper for SecretKeyFactory.PBKDF2WithHmacSHA1
diff --git a/patches/android.patch b/patches/android.patch
index 9a431ed9..559070b6 100644
--- a/patches/android.patch
+++ b/patches/android.patch
@@ -1,6 +1,6 @@
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Collection.java bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Collection.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Collection.java 1970-01-01 00:00:00.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Collection.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Collection.java 2010-10-05 22:48:58.000000000 +0000
@@ -0,0 +1,298 @@
+package org.bouncycastle.asn1;
+
@@ -302,7 +302,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Collection.java bcpro
+}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1InputStream.java bcprov-jdk16-145/org/bouncycastle/asn1/ASN1InputStream.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1InputStream.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1InputStream.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1InputStream.java 2010-10-05 22:48:58.000000000 +0000
@@ -348,7 +348,9 @@
case BMP_STRING:
return new DERBMPString(bytes);
@@ -316,7 +316,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1InputStream.java bcpr
case GENERALIZED_TIME:
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Null.java bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Null.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Null.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Null.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Null.java 2010-10-05 22:48:58.000000000 +0000
@@ -8,9 +8,11 @@
public abstract class ASN1Null
extends ASN1Object
@@ -332,7 +332,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Null.java bcprov-jdk1
{
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Sequence.java bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Sequence.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Sequence.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Sequence.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Sequence.java 2010-10-05 22:48:58.000000000 +0000
@@ -2,12 +2,20 @@
import java.io.IOException;
@@ -496,7 +496,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Sequence.java bcprov-
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Set.java bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Set.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Set.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Set.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/ASN1Set.java 2010-10-05 22:48:58.000000000 +0000
@@ -3,12 +3,20 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -845,7 +845,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/ASN1Set.java bcprov-jdk16
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERBoolean.java bcprov-jdk16-145/org/bouncycastle/asn1/DERBoolean.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERBoolean.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/DERBoolean.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/DERBoolean.java 2010-10-05 22:48:58.000000000 +0000
@@ -5,7 +5,9 @@
public class DERBoolean
extends ASN1Object
@@ -918,7 +918,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERBoolean.java bcprov-jd
{
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERInputStream.java bcprov-jdk16-145/org/bouncycastle/asn1/DERInputStream.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERInputStream.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/DERInputStream.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/DERInputStream.java 2010-10-05 22:48:58.000000000 +0000
@@ -144,7 +144,9 @@
return new DERConstructedSet(v);
}
@@ -943,7 +943,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERInputStream.java bcpro
{
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERNull.java bcprov-jdk16-145/org/bouncycastle/asn1/DERNull.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERNull.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/DERNull.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/DERNull.java 2010-10-05 22:48:58.000000000 +0000
@@ -10,9 +10,13 @@
{
public static final DERNull INSTANCE = new DERNull();
@@ -962,7 +962,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERNull.java bcprov-jdk16
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERObjectIdentifier.java bcprov-jdk16-145/org/bouncycastle/asn1/DERObjectIdentifier.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERObjectIdentifier.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/DERObjectIdentifier.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/DERObjectIdentifier.java 2010-10-05 22:48:58.000000000 +0000
@@ -111,7 +111,13 @@
}
}
@@ -995,7 +995,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERObjectIdentifier.java
public String getId()
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERPrintableString.java bcprov-jdk16-145/org/bouncycastle/asn1/DERPrintableString.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERPrintableString.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/DERPrintableString.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/DERPrintableString.java 2010-10-05 22:48:58.000000000 +0000
@@ -9,7 +9,9 @@
extends ASN1Object
implements DERString
@@ -1031,7 +1031,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/DERPrintableString.java b
public String getString()
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/OrderedTable.java bcprov-jdk16-145/org/bouncycastle/asn1/OrderedTable.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/OrderedTable.java 1970-01-01 00:00:00.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/OrderedTable.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/OrderedTable.java 2010-10-05 22:48:58.000000000 +0000
@@ -0,0 +1,281 @@
+package org.bouncycastle.asn1;
+
@@ -1316,7 +1316,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/OrderedTable.java bcprov-
+}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java 2010-10-05 22:48:58.000000000 +0000
@@ -37,10 +37,13 @@
public static EncryptedPrivateKeyInfo getInstance(
Object obj)
@@ -1334,7 +1334,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyI
return new EncryptedPrivateKeyInfo((ASN1Sequence)obj);
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java 2010-10-05 22:48:58.000000000 +0000
@@ -10,7 +10,10 @@
//
static final String pkcs_1 = "1.2.840.113549.1.1";
@@ -1347,18 +1347,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifier
static final DERObjectIdentifier md4WithRSAEncryption = new DERObjectIdentifier(pkcs_1 + ".3");
static final DERObjectIdentifier md5WithRSAEncryption = new DERObjectIdentifier(pkcs_1 + ".4");
static final DERObjectIdentifier sha1WithRSAEncryption = new DERObjectIdentifier(pkcs_1 + ".5");
-@@ -46,7 +49,9 @@
-
- static final DERObjectIdentifier id_PBES2 = new DERObjectIdentifier(pkcs_5 + ".13");
-
-- static final DERObjectIdentifier id_PBKDF2 = new DERObjectIdentifier(pkcs_5 + ".12");
-+ // BEGIN android-removed
-+ // static final DERObjectIdentifier id_PBKDF2 = new DERObjectIdentifier(pkcs_5 + ".12");
-+ // END android-removed
-
- //
- // encryptionAlgorithm OBJECT IDENTIFIER ::= {
-@@ -65,7 +70,10 @@
+@@ -65,7 +68,10 @@
// md2 OBJECT IDENTIFIER ::=
// {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 2}
//
@@ -1372,7 +1361,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifier
// md4 OBJECT IDENTIFIER ::=
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java 2010-10-05 22:48:58.000000000 +0000
@@ -19,7 +19,9 @@
private AlgorithmIdentifier maskGenAlgorithm;
private AlgorithmIdentifier pSourceAlgorithm;
@@ -1386,7 +1375,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java 2010-10-05 22:48:58.000000000 +0000
@@ -20,7 +20,9 @@
private DERInteger saltLength;
private DERInteger trailerField;
@@ -1400,7 +1389,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java
public final static DERInteger DEFAULT_TRAILER_FIELD = new DERInteger(1);
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/util/ASN1Dump.java bcprov-jdk16-145/org/bouncycastle/asn1/util/ASN1Dump.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/util/ASN1Dump.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/util/ASN1Dump.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/util/ASN1Dump.java 2010-10-05 22:48:58.000000000 +0000
@@ -90,7 +90,9 @@
{
Object o = e.nextElement();
@@ -1414,7 +1403,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/util/ASN1Dump.java bcprov
buf.append("NULL");
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/AttCertIssuer.java bcprov-jdk16-145/org/bouncycastle/asn1/x509/AttCertIssuer.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/AttCertIssuer.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/AttCertIssuer.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/AttCertIssuer.java 2010-10-05 22:48:58.000000000 +0000
@@ -45,7 +45,7 @@
ASN1TaggedObject obj,
boolean explicit)
@@ -1426,7 +1415,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/AttCertIssuer.java b
/**
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/BasicConstraints.java bcprov-jdk16-145/org/bouncycastle/asn1/x509/BasicConstraints.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/BasicConstraints.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/BasicConstraints.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/BasicConstraints.java 2010-10-05 22:48:58.000000000 +0000
@@ -14,7 +14,9 @@
public class BasicConstraints
extends ASN1Encodable
@@ -1473,7 +1462,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/BasicConstraints.jav
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java bcprov-jdk16-145/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java 2010-10-05 22:48:58.000000000 +0000
@@ -96,11 +96,15 @@
}
if (onlyContainsUserCerts)
@@ -1512,7 +1501,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/IssuingDistributionP
seq = new DERSequence(vec);
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509Extensions.java bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509Extensions.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509Extensions.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509Extensions.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509Extensions.java 2010-10-05 22:48:58.000000000 +0000
@@ -9,6 +9,9 @@
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.DERObjectIdentifier;
@@ -1701,7 +1690,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509Extensions.java
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509Name.java bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509Name.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509Name.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509Name.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509Name.java 2010-10-05 22:48:58.000000000 +0000
@@ -247,8 +247,10 @@
*/
public static final Hashtable SymbolLookUp = DefaultLookUp;
@@ -2167,7 +2156,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509Name.java bcprov
{
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509NameElementList.java bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509NameElementList.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509NameElementList.java 1970-01-01 00:00:00.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509NameElementList.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509NameElementList.java 2010-10-05 22:48:58.000000000 +0000
@@ -0,0 +1,206 @@
+package org.bouncycastle.asn1.x509;
+
@@ -2377,7 +2366,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509NameElementList.
+}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509NameTokenizer.java bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509NameTokenizer.java
--- bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509NameTokenizer.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509NameTokenizer.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/asn1/x509/X509NameTokenizer.java 2010-10-05 22:48:58.000000000 +0000
@@ -58,6 +58,17 @@
}
else
@@ -2405,7 +2394,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/asn1/x509/X509NameTokenizer.ja
\ No newline at end of file
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/PBEParametersGenerator.java bcprov-jdk16-145/org/bouncycastle/crypto/PBEParametersGenerator.java
--- bcprov-jdk16-145.orig/org/bouncycastle/crypto/PBEParametersGenerator.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/crypto/PBEParametersGenerator.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/crypto/PBEParametersGenerator.java 2010-10-05 22:48:58.000000000 +0000
@@ -136,7 +136,8 @@
public static byte[] PKCS12PasswordToBytes(
char[] password)
@@ -2425,8 +2414,8 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/PBEParametersGenerator.
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.java bcprov-jdk16-145/org/bouncycastle/crypto/digests/OpenSSLDigest.java
--- bcprov-jdk16-145.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.java 1970-01-01 00:00:00.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/crypto/digests/OpenSSLDigest.java 2010-09-17 06:35:03.000000000 +0000
-@@ -0,0 +1,121 @@
++++ bcprov-jdk16-145/org/bouncycastle/crypto/digests/OpenSSLDigest.java 2010-10-05 22:48:58.000000000 +0000
+@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
@@ -2456,12 +2445,12 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.j
+ /**
+ * Holds the standard name of the hashing algorithm, e.g. "SHA-1";
+ */
-+ private String algorithm;
++ private final String algorithm;
+
+ /**
+ * Holds the OpenSSL name of the hashing algorithm, e.g. "sha1";
+ */
-+ private String openssl;
++ private final String openssl;
+
+ /**
+ * Holds a pointer to the native message digest context.
@@ -2471,7 +2460,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.j
+ /**
+ * Holds a dummy buffer for writing single bytes to the digest.
+ */
-+ private byte[] singleByte = new byte[1];
++ private final byte[] singleByte = new byte[1];
+
+ /**
+ * Creates a new OpenSSLMessageDigest instance for the given algorithm
@@ -2482,6 +2471,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.j
+ */
+ private OpenSSLDigest(String algorithm, String openssl) {
+ this.algorithm = algorithm;
++ this.openssl = openssl;
+ ctx = NativeCrypto.EVP_MD_CTX_create();
+ try {
+ NativeCrypto.EVP_DigestInit(ctx, openssl);
@@ -2550,7 +2540,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.j
+}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/engines/RC2Engine.java bcprov-jdk16-145/org/bouncycastle/crypto/engines/RC2Engine.java
--- bcprov-jdk16-145.orig/org/bouncycastle/crypto/engines/RC2Engine.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/crypto/engines/RC2Engine.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/crypto/engines/RC2Engine.java 2010-10-05 22:48:58.000000000 +0000
@@ -313,4 +313,4 @@
out[outOff + 6] = (byte)x76;
out[outOff + 7] = (byte)(x76 >> 8);
@@ -2560,7 +2550,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/engines/RC2Engine.java
\ No newline at end of file
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/macs/HMac.java bcprov-jdk16-145/org/bouncycastle/crypto/macs/HMac.java
--- bcprov-jdk16-145.orig/org/bouncycastle/crypto/macs/HMac.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/crypto/macs/HMac.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/crypto/macs/HMac.java 2010-10-05 22:48:58.000000000 +0000
@@ -32,23 +32,23 @@
{
blockLengths = new Hashtable();
@@ -2602,7 +2592,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/macs/HMac.java bcprov-j
private static int getByteLength(
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/signers/RSADigestSigner.java bcprov-jdk16-145/org/bouncycastle/crypto/signers/RSADigestSigner.java
--- bcprov-jdk16-145.orig/org/bouncycastle/crypto/signers/RSADigestSigner.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/crypto/signers/RSADigestSigner.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/crypto/signers/RSADigestSigner.java 2010-10-05 22:48:58.000000000 +0000
@@ -46,8 +46,10 @@
oidMap.put("SHA-384", NISTObjectIdentifiers.id_sha384);
oidMap.put("SHA-512", NISTObjectIdentifiers.id_sha512);
@@ -2618,7 +2608,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/signers/RSADigestSigner
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/util/PrivateKeyFactory.java bcprov-jdk16-145/org/bouncycastle/crypto/util/PrivateKeyFactory.java
--- bcprov-jdk16-145.orig/org/bouncycastle/crypto/util/PrivateKeyFactory.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/crypto/util/PrivateKeyFactory.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/crypto/util/PrivateKeyFactory.java 2010-10-05 22:48:58.000000000 +0000
@@ -7,31 +7,39 @@
import org.bouncycastle.asn1.DERInteger;
import org.bouncycastle.asn1.DERObject;
@@ -2821,7 +2811,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/util/PrivateKeyFactory.
throw new RuntimeException("algorithm identifier in key not recognised");
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/util/PublicKeyFactory.java bcprov-jdk16-145/org/bouncycastle/crypto/util/PublicKeyFactory.java
--- bcprov-jdk16-145.orig/org/bouncycastle/crypto/util/PublicKeyFactory.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/crypto/util/PublicKeyFactory.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/crypto/util/PublicKeyFactory.java 2010-10-05 22:48:58.000000000 +0000
@@ -10,32 +10,40 @@
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.DERObjectIdentifier;
@@ -3013,7 +3003,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/crypto/util/PublicKeyFactory.j
throw new RuntimeException("algorithm identifier in key not recognised");
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/PKCS10CertificationRequest.java bcprov-jdk16-145/org/bouncycastle/jce/PKCS10CertificationRequest.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/PKCS10CertificationRequest.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/PKCS10CertificationRequest.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/PKCS10CertificationRequest.java 2010-10-05 22:48:58.000000000 +0000
@@ -78,8 +78,11 @@
static
@@ -3077,7 +3067,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/PKCS10CertificationRequest
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvider.java bcprov-jdk16-145/org/bouncycastle/jce/provider/BouncyCastleProvider.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvider.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/BouncyCastleProvider.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/BouncyCastleProvider.java 2010-10-05 22:48:58.000000000 +0000
@@ -45,7 +45,10 @@
{
private static String info = "BouncyCastle Security Provider v1.45";
@@ -3807,7 +3797,18 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
put("Alg.Alias.SecretKeyFactory." + PKCSObjectIdentifiers.pbeWithMD5AndDES_CBC, "PBEWITHMD5ANDDES");
put("Alg.Alias.SecretKeyFactory." + PKCSObjectIdentifiers.pbeWithMD5AndRC2_CBC, "PBEWITHMD5ANDRC2");
put("Alg.Alias.SecretKeyFactory." + PKCSObjectIdentifiers.pbeWithSHA1AndDES_CBC, "PBEWITHSHA1ANDDES");
-@@ -561,16 +677,23 @@
+@@ -553,6 +669,10 @@
+ put("Alg.Alias.SecretKeyFactory." + BCObjectIdentifiers.bc_pbe_sha256_pkcs12_aes128_cbc.getId(), "PBEWITHSHA256AND128BITAES-CBC-BC");
+ put("Alg.Alias.SecretKeyFactory." + BCObjectIdentifiers.bc_pbe_sha256_pkcs12_aes192_cbc.getId(), "PBEWITHSHA256AND192BITAES-CBC-BC");
+ put("Alg.Alias.SecretKeyFactory." + BCObjectIdentifiers.bc_pbe_sha256_pkcs12_aes256_cbc.getId(), "PBEWITHSHA256AND256BITAES-CBC-BC");
++ // BEGIN android-added
++
++ put("SecretKeyFactory.PBKDF2WithHmacSHA1", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBKDF2WithHmacSHA1");
++ // END android-added
+
+ addMacAlgorithms();
+
+@@ -561,16 +681,23 @@
addSignatureAlgorithms();
// Certification Path API
@@ -3838,7 +3839,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
}
private void loadAlgorithms(String packageName, String[] names)
-@@ -631,68 +754,72 @@
+@@ -631,68 +758,72 @@
//
private void addMacAlgorithms()
{
@@ -3967,7 +3968,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
addHMACAlgorithm("SHA256", "org.bouncycastle.jce.provider.JCEMac$SHA256", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA256");
addHMACAlias("SHA256", PKCSObjectIdentifiers.id_hmacWithSHA256);
addHMACAlgorithm("SHA384", "org.bouncycastle.jce.provider.JCEMac$SHA384", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA384");
-@@ -700,16 +827,20 @@
+@@ -700,16 +831,20 @@
addHMACAlgorithm("SHA512", "org.bouncycastle.jce.provider.JCEMac$SHA512", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA512");
addHMACAlias("SHA512", PKCSObjectIdentifiers.id_hmacWithSHA512);
@@ -3995,7 +3996,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
put("Alg.Alias.Mac.1.3.14.3.2.26", "PBEWITHHMACSHA");
}
-@@ -747,9 +878,11 @@
+@@ -747,9 +882,11 @@
put("Alg.Alias.MessageDigest.SHA1", "SHA-1");
put("Alg.Alias.MessageDigest.SHA", "SHA-1");
put("Alg.Alias.MessageDigest." + OIWObjectIdentifiers.idSHA1, "SHA-1");
@@ -4010,7 +4011,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
put("MessageDigest.SHA-256", "org.bouncycastle.jce.provider.JDKMessageDigest$SHA256");
put("Alg.Alias.MessageDigest.SHA256", "SHA-256");
put("Alg.Alias.MessageDigest." + NISTObjectIdentifiers.id_sha256, "SHA-256");
-@@ -760,27 +893,31 @@
+@@ -760,27 +897,31 @@
put("Alg.Alias.MessageDigest.SHA512", "SHA-512");
put("Alg.Alias.MessageDigest." + NISTObjectIdentifiers.id_sha512, "SHA-512");
@@ -4061,7 +4062,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
}
//
-@@ -788,55 +925,70 @@
+@@ -788,55 +929,70 @@
//
private void addSignatureAlgorithms()
{
@@ -4170,7 +4171,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
put("Alg.Alias.Signature.SHA256withRSAEncryption", "SHA256WithRSAEncryption");
put("Alg.Alias.Signature.SHA384withRSAEncryption", "SHA384WithRSAEncryption");
-@@ -850,24 +1002,30 @@
+@@ -850,24 +1006,30 @@
put("Alg.Alias.Signature.SHA384WITHRSAENCRYPTION", "SHA384WithRSAEncryption");
put("Alg.Alias.Signature.SHA512WITHRSAENCRYPTION", "SHA512WithRSAEncryption");
@@ -4213,7 +4214,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
put("Alg.Alias.Signature.SHA256WithRSA", "SHA256WithRSAEncryption");
put("Alg.Alias.Signature.SHA256withRSA", "SHA256WithRSAEncryption");
put("Alg.Alias.Signature.SHA384WithRSA", "SHA384WithRSAEncryption");
-@@ -877,92 +1035,110 @@
+@@ -877,92 +1039,110 @@
put("Alg.Alias.Signature.SHA1/RSA", "SHA1WithRSAEncryption");
put("Alg.Alias.Signature.SHA-1/RSA", "SHA1WithRSAEncryption");
put("Alg.Alias.Signature." + PKCSObjectIdentifiers.sha1WithRSAEncryption, "SHA1WithRSAEncryption");
@@ -4397,7 +4398,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/BouncyCastleProvi
{
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java bcprov-jdk16-145/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java 2010-10-05 22:48:58.000000000 +0000
@@ -24,6 +24,7 @@
import java.security.spec.DSAPublicKeySpec;
import java.text.ParseException;
@@ -4744,7 +4745,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/CertPathValidator
CRLDistPoint crldp, ExtendedPKIXParameters pkixParams)
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEBlockCipher.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEBlockCipher.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEBlockCipher.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEBlockCipher.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEBlockCipher.java 2010-10-05 22:48:58.000000000 +0000
@@ -7,22 +7,31 @@
import org.bouncycastle.crypto.InvalidCipherTextException;
import org.bouncycastle.crypto.engines.AESFastEngine;
@@ -5693,7 +5694,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEBlockCipher.ja
*/
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java 2010-10-05 22:48:58.000000000 +0000
@@ -37,9 +37,11 @@
static
@@ -5711,7 +5712,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEDHKeyAgreement
algorithms.put("DESEDE", i192);
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEDigestUtil.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEDigestUtil.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEDigestUtil.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEDigestUtil.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEDigestUtil.java 2010-10-05 22:48:58.000000000 +0000
@@ -12,7 +12,9 @@
import org.bouncycastle.crypto.Digest;
import org.bouncycastle.crypto.digests.MD5Digest;
@@ -5794,7 +5795,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEDigestUtil.jav
|| (sha512.contains(digest1) && sha512.contains(digest2))
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEKeyGenerator.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEKeyGenerator.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEKeyGenerator.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEKeyGenerator.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEKeyGenerator.java 2010-10-05 22:48:58.000000000 +0000
@@ -145,30 +145,32 @@
}
}
@@ -6426,7 +6427,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEKeyGenerator.j
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEMac.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEMac.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEMac.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEMac.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEMac.java 2010-10-05 22:48:58.000000000 +0000
@@ -2,29 +2,43 @@
import org.bouncycastle.crypto.CipherParameters;
@@ -7179,7 +7180,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEMac.java bcpro
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSACipher.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSACipher.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSACipher.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSACipher.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSACipher.java 2010-10-05 22:48:58.000000000 +0000
@@ -534,48 +534,50 @@
}
}
@@ -7277,7 +7278,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSACipher.java
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java 2010-10-05 22:48:58.000000000 +0000
@@ -125,7 +125,9 @@
*/
public byte[] getEncoded()
@@ -7291,7 +7292,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPrivateCrtK
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPrivateKey.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPrivateKey.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPrivateKey.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPrivateKey.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPrivateKey.java 2010-10-05 22:48:58.000000000 +0000
@@ -77,7 +77,9 @@
public byte[] getEncoded()
@@ -7305,7 +7306,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPrivateKey.
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPublicKey.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPublicKey.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPublicKey.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPublicKey.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCERSAPublicKey.java 2010-10-05 22:48:58.000000000 +0000
@@ -90,7 +90,9 @@
public byte[] getEncoded()
@@ -7319,7 +7320,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCERSAPublicKey.j
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCESecretKeyFactory.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCESecretKeyFactory.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCESecretKeyFactory.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCESecretKeyFactory.java 2010-10-05 22:48:58.000000000 +0000
@@ -321,29 +321,31 @@
}
}
@@ -7437,9 +7438,66 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCESecretKeyFacto
/**
* PBEWithSHA1And128BitAES-BC
+@@ -620,4 +626,56 @@
+ super("PBEWithMD5And256BitAES-CBC-OpenSSL", null, true, OPENSSL, MD5, 256, 128);
+ }
+ }
++ // BEGIN android-added
++ static public class PBKDF2WithHmacSHA1
++ extends JCESecretKeyFactory
++ {
++ public PBKDF2WithHmacSHA1()
++ {
++ super("PBKDF2WithHmacSHA1", PKCSObjectIdentifiers.id_PBKDF2);
++ }
++
++ protected SecretKey engineGenerateSecret(
++ KeySpec keySpec)
++ throws InvalidKeySpecException
++ {
++ if (keySpec instanceof PBEKeySpec)
++ {
++ PBEKeySpec pbeSpec = (PBEKeySpec)keySpec;
++
++ if (pbeSpec.getSalt() == null)
++ {
++ throw new InvalidKeySpecException("missing required salt");
++ }
++
++ if (pbeSpec.getIterationCount() <= 0)
++ {
++ throw new InvalidKeySpecException("positive iteration count required: "
++ + pbeSpec.getIterationCount());
++ }
++
++ if (pbeSpec.getKeyLength() <= 0)
++ {
++ throw new InvalidKeySpecException("positive key length required: "
++ + pbeSpec.getKeyLength());
++ }
++
++ if (pbeSpec.getPassword().length == 0)
++ {
++ throw new IllegalArgumentException("password empty");
++ }
++
++ int scheme = PKCS5S2;
++ int digest = SHA1;
++ int keySize = pbeSpec.getKeyLength();
++ int ivSize = -1;
++ CipherParameters param = Util.makePBEMacParameters(pbeSpec, scheme, digest, keySize);
++
++ return new JCEPBEKey(this.algName, this.algOid, scheme, digest, keySize, ivSize, pbeSpec, param);
++ }
++
++ throw new InvalidKeySpecException("Invalid KeySpec");
++ }
++ }
++ // END android-added
+ }
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEStreamCipher.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEStreamCipher.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEStreamCipher.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEStreamCipher.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JCEStreamCipher.java 2010-10-05 22:48:58.000000000 +0000
@@ -5,17 +5,21 @@
import org.bouncycastle.crypto.DataLengthException;
import org.bouncycastle.crypto.StreamBlockCipher;
@@ -7883,7 +7941,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JCEStreamCipher.j
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java 2010-10-05 22:48:58.000000000 +0000
@@ -2,19 +2,25 @@
import org.bouncycastle.crypto.generators.DHParametersGenerator;
@@ -8310,8 +8368,8 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java 2010-09-17 06:35:03.000000000 +0000
-@@ -10,21 +10,29 @@
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java 2010-10-05 22:48:58.000000000 +0000
+@@ -10,21 +10,27 @@
import org.bouncycastle.asn1.DERObjectIdentifier;
import org.bouncycastle.asn1.DEROctetString;
import org.bouncycastle.asn1.DERSequence;
@@ -8330,10 +8388,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
+// END android-removed
import org.bouncycastle.asn1.pkcs.RSAESOAEPparams;
import org.bouncycastle.asn1.pkcs.RSASSAPSSparams;
--import org.bouncycastle.asn1.pkcs.PBKDF2Params;
-+// BEGIN android-removed
-+// import org.bouncycastle.asn1.pkcs.PBKDF2Params;
-+// END android-removed
+ import org.bouncycastle.asn1.pkcs.PBKDF2Params;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.asn1.x509.DSAParameter;
-import org.bouncycastle.jce.spec.ElGamalParameterSpec;
@@ -8349,7 +8404,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
import org.bouncycastle.util.Arrays;
import javax.crypto.spec.DHParameterSpec;
-@@ -32,7 +40,9 @@
+@@ -32,7 +38,9 @@
import javax.crypto.spec.OAEPParameterSpec;
import javax.crypto.spec.PBEParameterSpec;
import javax.crypto.spec.PSource;
@@ -8360,7 +8415,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
import java.io.IOException;
import java.security.AlgorithmParametersSpi;
import java.security.spec.AlgorithmParameterSpec;
-@@ -68,13 +78,13 @@
+@@ -68,13 +76,13 @@
extends JDKAlgorithmParameters
{
private byte[] iv;
@@ -8376,7 +8431,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected byte[] engineGetEncoded(
String format)
throws IOException
-@@ -83,15 +93,15 @@
+@@ -83,15 +91,15 @@
{
return new DEROctetString(engineGetEncoded("RAW")).getEncoded();
}
@@ -8395,7 +8450,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected AlgorithmParameterSpec localEngineGetParameterSpec(
Class paramSpec)
throws InvalidParameterSpecException
-@@ -100,10 +110,10 @@
+@@ -100,10 +108,10 @@
{
return new IvParameterSpec(iv);
}
@@ -8408,7 +8463,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected void engineInit(
AlgorithmParameterSpec paramSpec)
throws InvalidParameterSpecException
-@@ -112,10 +122,10 @@
+@@ -112,10 +120,10 @@
{
throw new InvalidParameterSpecException("IvParameterSpec required to initialise a IV parameters algorithm parameters object");
}
@@ -8421,7 +8476,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected void engineInit(
byte[] params)
throws IOException
-@@ -127,13 +137,13 @@
+@@ -127,13 +135,13 @@
&& params[0] == 0x04 && params[1] == params.length - 2)
{
ASN1OctetString oct = (ASN1OctetString)ASN1Object.fromByteArray(params);
@@ -8438,7 +8493,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected void engineInit(
byte[] params,
String format)
-@@ -144,292 +154,294 @@
+@@ -144,204 +152,206 @@
try
{
ASN1OctetString oct = (ASN1OctetString)ASN1Object.fromByteArray(params);
@@ -8645,89 +8700,6 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
- }
- }
-
-- public static class PBKDF2
-- extends JDKAlgorithmParameters
-- {
-- PBKDF2Params params;
--
-- protected byte[] engineGetEncoded()
-- {
-- try
-- {
-- return params.getEncoded(ASN1Encodable.DER);
-- }
-- catch (IOException e)
-- {
-- throw new RuntimeException("Oooops! " + e.toString());
-- }
-- }
--
-- protected byte[] engineGetEncoded(
-- String format)
-- {
-- if (isASN1FormatString(format))
-- {
-- return engineGetEncoded();
-- }
--
-- return null;
-- }
--
-- protected AlgorithmParameterSpec localEngineGetParameterSpec(
-- Class paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (paramSpec == PBEParameterSpec.class)
-- {
-- return new PBEParameterSpec(params.getSalt(),
-- params.getIterationCount().intValue());
-- }
--
-- throw new InvalidParameterSpecException("unknown parameter spec passed to PKCS12 PBE parameters object.");
-- }
--
-- protected void engineInit(
-- AlgorithmParameterSpec paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (!(paramSpec instanceof PBEParameterSpec))
-- {
-- throw new InvalidParameterSpecException("PBEParameterSpec required to initialise a PKCS12 PBE parameters algorithm parameters object");
-- }
--
-- PBEParameterSpec pbeSpec = (PBEParameterSpec)paramSpec;
--
-- this.params = new PBKDF2Params(pbeSpec.getSalt(),
-- pbeSpec.getIterationCount());
-- }
--
-- protected void engineInit(
-- byte[] params)
-- throws IOException
-- {
-- this.params = PBKDF2Params.getInstance(ASN1Object.fromByteArray(params));
-- }
--
-- protected void engineInit(
-- byte[] params,
-- String format)
-- throws IOException
-- {
-- if (isASN1FormatString(format))
-- {
-- engineInit(params);
-- return;
-- }
--
-- throw new IOException("Unknown parameters format in PWRIKEK parameters object");
-- }
--
-- protected String engineToString()
-- {
-- return "PBKDF2 Parameters";
-- }
-- }
--
+
+ // BEGIN android-removed
+ // public static class RC2AlgorithmParameters
@@ -8901,92 +8873,12 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
+ // return "RC2 Parameters";
+ // }
+ // }
-+ //
-+ // public static class PBKDF2
-+ // extends JDKAlgorithmParameters
-+ // {
-+ // PBKDF2Params params;
-+ //
-+ // protected byte[] engineGetEncoded()
-+ // {
-+ // try
-+ // {
-+ // return params.getEncoded(ASN1Encodable.DER);
-+ // }
-+ // catch (IOException e)
-+ // {
-+ // throw new RuntimeException("Oooops! " + e.toString());
-+ // }
-+ // }
-+ //
-+ // protected byte[] engineGetEncoded(
-+ // String format)
-+ // {
-+ // if (isASN1FormatString(format))
-+ // {
-+ // return engineGetEncoded();
-+ // }
-+ //
-+ // return null;
-+ // }
-+ //
-+ // protected AlgorithmParameterSpec localEngineGetParameterSpec(
-+ // Class paramSpec)
-+ // throws InvalidParameterSpecException
-+ // {
-+ // if (paramSpec == PBEParameterSpec.class)
-+ // {
-+ // return new PBEParameterSpec(params.getSalt(),
-+ // params.getIterationCount().intValue());
-+ // }
-+ //
-+ // throw new InvalidParameterSpecException("unknown parameter spec passed to PKCS12 PBE parameters object.");
-+ // }
-+ //
-+ // protected void engineInit(
-+ // AlgorithmParameterSpec paramSpec)
-+ // throws InvalidParameterSpecException
-+ // {
-+ // if (!(paramSpec instanceof PBEParameterSpec))
-+ // {
-+ // throw new InvalidParameterSpecException("PBEParameterSpec required to initialise a PKCS12 PBE parameters algorithm parameters object");
-+ // }
-+ //
-+ // PBEParameterSpec pbeSpec = (PBEParameterSpec)paramSpec;
-+ //
-+ // this.params = new PBKDF2Params(pbeSpec.getSalt(),
-+ // pbeSpec.getIterationCount());
-+ // }
-+ //
-+ // protected void engineInit(
-+ // byte[] params)
-+ // throws IOException
-+ // {
-+ // this.params = PBKDF2Params.getInstance(ASN1Object.fromByteArray(params));
-+ // }
-+ //
-+ // protected void engineInit(
-+ // byte[] params,
-+ // String format)
-+ // throws IOException
-+ // {
-+ // if (isASN1FormatString(format))
-+ // {
-+ // engineInit(params);
-+ // return;
-+ // }
-+ //
-+ // throw new IOException("Unknown parameters format in PWRIKEK parameters object");
-+ // }
-+ //
-+ // protected String engineToString()
-+ // {
-+ // return "PBKDF2 Parameters";
-+ // }
-+ // }
+ // END android-removed
+
- public static class PKCS12PBE
+ public static class PBKDF2
+ extends JDKAlgorithmParameters
+ {
+@@ -429,7 +439,7 @@
extends JDKAlgorithmParameters
{
PKCS12PBEParams params;
@@ -8995,7 +8887,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected byte[] engineGetEncoded()
{
try
-@@ -441,7 +453,7 @@
+@@ -441,7 +451,7 @@
throw new RuntimeException("Oooops! " + e.toString());
}
}
@@ -9004,7 +8896,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected byte[] engineGetEncoded(
String format)
{
-@@ -449,10 +461,10 @@
+@@ -449,10 +459,10 @@
{
return engineGetEncoded();
}
@@ -9017,7 +8909,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected AlgorithmParameterSpec localEngineGetParameterSpec(
Class paramSpec)
throws InvalidParameterSpecException
-@@ -462,10 +474,10 @@
+@@ -462,10 +472,10 @@
return new PBEParameterSpec(params.getIV(),
params.getIterations().intValue());
}
@@ -9030,7 +8922,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected void engineInit(
AlgorithmParameterSpec paramSpec)
throws InvalidParameterSpecException
-@@ -474,20 +486,20 @@
+@@ -474,20 +484,20 @@
{
throw new InvalidParameterSpecException("PBEParameterSpec required to initialise a PKCS12 PBE parameters algorithm parameters object");
}
@@ -9055,7 +8947,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected void engineInit(
byte[] params,
String format)
-@@ -498,10 +510,10 @@
+@@ -498,10 +508,10 @@
engineInit(params);
return;
}
@@ -9068,11 +8960,338 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
protected String engineToString()
{
return "PKCS12 PBE Parameters";
-@@ -725,381 +737,387 @@
+@@ -725,334 +735,336 @@
}
}
- public static class GOST3410
+- extends JDKAlgorithmParameters
+- {
+- GOST3410ParameterSpec currentSpec;
+-
+- /**
+- * Return the X.509 ASN.1 structure GOST3410Parameter.
+- * <p>
+- * <pre>
+- * GOST3410Parameter ::= SEQUENCE {
+- * prime INTEGER, -- p
+- * subprime INTEGER, -- q
+- * base INTEGER, -- a}
+- * </pre>
+- */
+- protected byte[] engineGetEncoded()
+- {
+- GOST3410PublicKeyAlgParameters gost3410P = new GOST3410PublicKeyAlgParameters(new DERObjectIdentifier(currentSpec.getPublicKeyParamSetOID()), new DERObjectIdentifier(currentSpec.getDigestParamSetOID()), new DERObjectIdentifier(currentSpec.getEncryptionParamSetOID()));
+-
+- try
+- {
+- return gost3410P.getEncoded(ASN1Encodable.DER);
+- }
+- catch (IOException e)
+- {
+- throw new RuntimeException("Error encoding GOST3410Parameters");
+- }
+- }
+-
+- protected byte[] engineGetEncoded(
+- String format)
+- {
+- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
+- {
+- return engineGetEncoded();
+- }
+-
+- return null;
+- }
+-
+- protected AlgorithmParameterSpec localEngineGetParameterSpec(
+- Class paramSpec)
+- throws InvalidParameterSpecException
+- {
+- if (paramSpec == GOST3410PublicKeyParameterSetSpec.class)
+- {
+- return currentSpec;
+- }
+-
+- throw new InvalidParameterSpecException("unknown parameter spec passed to GOST3410 parameters object.");
+- }
+-
+- protected void engineInit(
+- AlgorithmParameterSpec paramSpec)
+- throws InvalidParameterSpecException
+- {
+- if (!(paramSpec instanceof GOST3410ParameterSpec))
+- {
+- throw new InvalidParameterSpecException("GOST3410ParameterSpec required to initialise a GOST3410 algorithm parameters object");
+- }
+-
+- this.currentSpec = (GOST3410ParameterSpec)paramSpec;
+- }
+-
+- protected void engineInit(
+- byte[] params)
+- throws IOException
+- {
+- try
+- {
+- ASN1Sequence seq = (ASN1Sequence) ASN1Object.fromByteArray(params);
+-
+- this.currentSpec = GOST3410ParameterSpec.fromPublicKeyAlg(
+- new GOST3410PublicKeyAlgParameters(seq));
+- }
+- catch (ClassCastException e)
+- {
+- throw new IOException("Not a valid GOST3410 Parameter encoding.");
+- }
+- catch (ArrayIndexOutOfBoundsException e)
+- {
+- throw new IOException("Not a valid GOST3410 Parameter encoding.");
+- }
+- }
+-
+- protected void engineInit(
+- byte[] params,
+- String format)
+- throws IOException
+- {
+- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
+- {
+- engineInit(params);
+- }
+- else
+- {
+- throw new IOException("Unknown parameter format " + format);
+- }
+- }
+-
+- protected String engineToString()
+- {
+- return "GOST3410 Parameters";
+- }
+- }
+-
+- public static class ElGamal
+- extends JDKAlgorithmParameters
+- {
+- ElGamalParameterSpec currentSpec;
+-
+- /**
+- * Return the X.509 ASN.1 structure ElGamalParameter.
+- * <p>
+- * <pre>
+- * ElGamalParameter ::= SEQUENCE {
+- * prime INTEGER, -- p
+- * base INTEGER, -- g}
+- * </pre>
+- */
+- protected byte[] engineGetEncoded()
+- {
+- ElGamalParameter elP = new ElGamalParameter(currentSpec.getP(), currentSpec.getG());
+-
+- try
+- {
+- return elP.getEncoded(ASN1Encodable.DER);
+- }
+- catch (IOException e)
+- {
+- throw new RuntimeException("Error encoding ElGamalParameters");
+- }
+- }
+-
+- protected byte[] engineGetEncoded(
+- String format)
+- {
+- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
+- {
+- return engineGetEncoded();
+- }
+-
+- return null;
+- }
+-
+- protected AlgorithmParameterSpec localEngineGetParameterSpec(
+- Class paramSpec)
+- throws InvalidParameterSpecException
+- {
+- if (paramSpec == ElGamalParameterSpec.class)
+- {
+- return currentSpec;
+- }
+- else if (paramSpec == DHParameterSpec.class)
+- {
+- return new DHParameterSpec(currentSpec.getP(), currentSpec.getG());
+- }
+-
+- throw new InvalidParameterSpecException("unknown parameter spec passed to ElGamal parameters object.");
+- }
+-
+- protected void engineInit(
+- AlgorithmParameterSpec paramSpec)
+- throws InvalidParameterSpecException
+- {
+- if (!(paramSpec instanceof ElGamalParameterSpec) && !(paramSpec instanceof DHParameterSpec))
+- {
+- throw new InvalidParameterSpecException("DHParameterSpec required to initialise a ElGamal algorithm parameters object");
+- }
+-
+- if (paramSpec instanceof ElGamalParameterSpec)
+- {
+- this.currentSpec = (ElGamalParameterSpec)paramSpec;
+- }
+- else
+- {
+- DHParameterSpec s = (DHParameterSpec)paramSpec;
+-
+- this.currentSpec = new ElGamalParameterSpec(s.getP(), s.getG());
+- }
+- }
+-
+- protected void engineInit(
+- byte[] params)
+- throws IOException
+- {
+- try
+- {
+- ElGamalParameter elP = new ElGamalParameter((ASN1Sequence)ASN1Object.fromByteArray(params));
+-
+- currentSpec = new ElGamalParameterSpec(elP.getP(), elP.getG());
+- }
+- catch (ClassCastException e)
+- {
+- throw new IOException("Not a valid ElGamal Parameter encoding.");
+- }
+- catch (ArrayIndexOutOfBoundsException e)
+- {
+- throw new IOException("Not a valid ElGamal Parameter encoding.");
+- }
+- }
+-
+- protected void engineInit(
+- byte[] params,
+- String format)
+- throws IOException
+- {
+- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
+- {
+- engineInit(params);
+- }
+- else
+- {
+- throw new IOException("Unknown parameter format " + format);
+- }
+- }
+-
+- protected String engineToString()
+- {
+- return "ElGamal Parameters";
+- }
+- }
+-
+- public static class IES
+- extends JDKAlgorithmParameters
+- {
+- IESParameterSpec currentSpec;
+-
+- /**
+- * in the absence of a standard way of doing it this will do for
+- * now...
+- */
+- protected byte[] engineGetEncoded()
+- {
+- try
+- {
+- ASN1EncodableVector v = new ASN1EncodableVector();
+-
+- v.add(new DEROctetString(currentSpec.getDerivationV()));
+- v.add(new DEROctetString(currentSpec.getEncodingV()));
+- v.add(new DERInteger(currentSpec.getMacKeySize()));
+-
+- return new DERSequence(v).getEncoded(ASN1Encodable.DER);
+- }
+- catch (IOException e)
+- {
+- throw new RuntimeException("Error encoding IESParameters");
+- }
+- }
+-
+- protected byte[] engineGetEncoded(
+- String format)
+- {
+- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
+- {
+- return engineGetEncoded();
+- }
+-
+- return null;
+- }
+-
+- protected AlgorithmParameterSpec localEngineGetParameterSpec(
+- Class paramSpec)
+- throws InvalidParameterSpecException
+- {
+- if (paramSpec == IESParameterSpec.class)
+- {
+- return currentSpec;
+- }
+-
+- throw new InvalidParameterSpecException("unknown parameter spec passed to ElGamal parameters object.");
+- }
+-
+- protected void engineInit(
+- AlgorithmParameterSpec paramSpec)
+- throws InvalidParameterSpecException
+- {
+- if (!(paramSpec instanceof IESParameterSpec))
+- {
+- throw new InvalidParameterSpecException("IESParameterSpec required to initialise a IES algorithm parameters object");
+- }
+-
+- this.currentSpec = (IESParameterSpec)paramSpec;
+- }
+-
+- protected void engineInit(
+- byte[] params)
+- throws IOException
+- {
+- try
+- {
+- ASN1Sequence s = (ASN1Sequence)ASN1Object.fromByteArray(params);
+-
+- this.currentSpec = new IESParameterSpec(
+- ((ASN1OctetString)s.getObjectAt(0)).getOctets(),
+- ((ASN1OctetString)s.getObjectAt(0)).getOctets(),
+- ((DERInteger)s.getObjectAt(0)).getValue().intValue());
+- }
+- catch (ClassCastException e)
+- {
+- throw new IOException("Not a valid IES Parameter encoding.");
+- }
+- catch (ArrayIndexOutOfBoundsException e)
+- {
+- throw new IOException("Not a valid IES Parameter encoding.");
+- }
+- }
+-
+- protected void engineInit(
+- byte[] params,
+- String format)
+- throws IOException
+- {
+- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
+- {
+- engineInit(params);
+- }
+- else
+- {
+- throw new IOException("Unknown parameter format " + format);
+- }
+- }
+-
+- protected String engineToString()
+- {
+- return "IES Parameters";
+- }
+- }
+ // BEGIN android-removed
+ // public static class GOST3410
+ // extends JDKAlgorithmParameters
@@ -9403,414 +9622,28 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
+ // }
+ // }
+ // END android-removed
-+
-+ public static class OAEP
+
+ public static class OAEP
extends JDKAlgorithmParameters
- {
-- GOST3410ParameterSpec currentSpec;
--
-+ OAEPParameterSpec currentSpec;
-+
- /**
-- * Return the X.509 ASN.1 structure GOST3410Parameter.
-- * <p>
-- * <pre>
-- * GOST3410Parameter ::= SEQUENCE {
-- * prime INTEGER, -- p
-- * subprime INTEGER, -- q
-- * base INTEGER, -- a}
-- * </pre>
-+ * Return the PKCS#1 ASN.1 structure RSAES-OAEP-params.
- */
-- protected byte[] engineGetEncoded()
-+ protected byte[] engineGetEncoded()
+@@ -1066,11 +1078,15 @@
{
-- GOST3410PublicKeyAlgParameters gost3410P = new GOST3410PublicKeyAlgParameters(new DERObjectIdentifier(currentSpec.getPublicKeyParamSetOID()), new DERObjectIdentifier(currentSpec.getDigestParamSetOID()), new DERObjectIdentifier(currentSpec.getEncryptionParamSetOID()));
--
-+ AlgorithmIdentifier hashAlgorithm = new AlgorithmIdentifier(
-+ JCEDigestUtil.getOID(currentSpec.getDigestAlgorithm()),
+ AlgorithmIdentifier hashAlgorithm = new AlgorithmIdentifier(
+ JCEDigestUtil.getOID(currentSpec.getDigestAlgorithm()),
+- new DERNull());
+ // BEGIN android-changed
+ DERNull.INSTANCE);
+ // END android-changed
-+ MGF1ParameterSpec mgfSpec = (MGF1ParameterSpec)currentSpec.getMGFParameters();
-+ AlgorithmIdentifier maskGenAlgorithm = new AlgorithmIdentifier(
-+ PKCSObjectIdentifiers.id_mgf1,
+ MGF1ParameterSpec mgfSpec = (MGF1ParameterSpec)currentSpec.getMGFParameters();
+ AlgorithmIdentifier maskGenAlgorithm = new AlgorithmIdentifier(
+ PKCSObjectIdentifiers.id_mgf1,
+- new AlgorithmIdentifier(JCEDigestUtil.getOID(mgfSpec.getDigestAlgorithm()), new DERNull()));
+ // BEGIN android-changed
+ new AlgorithmIdentifier(JCEDigestUtil.getOID(mgfSpec.getDigestAlgorithm()), DERNull.INSTANCE));
+ // END android-changed
-+ PSource.PSpecified pSource = (PSource.PSpecified)currentSpec.getPSource();
-+ AlgorithmIdentifier pSourceAlgorithm = new AlgorithmIdentifier(
-+ PKCSObjectIdentifiers.id_pSpecified, new DEROctetString(pSource.getValue()));
-+ RSAESOAEPparams oaepP = new RSAESOAEPparams(hashAlgorithm, maskGenAlgorithm, pSourceAlgorithm);
-+
- try
- {
-- return gost3410P.getEncoded(ASN1Encodable.DER);
-+ return oaepP.getEncoded(ASN1Encodable.DER);
- }
- catch (IOException e)
- {
-- throw new RuntimeException("Error encoding GOST3410Parameters");
-+ throw new RuntimeException("Error encoding OAEPParameters");
- }
- }
--
-+
- protected byte[] engineGetEncoded(
-- String format)
-+ String format)
- {
- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
- {
- return engineGetEncoded();
- }
--
-+
- return null;
- }
--
-+
- protected AlgorithmParameterSpec localEngineGetParameterSpec(
-- Class paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (paramSpec == GOST3410PublicKeyParameterSetSpec.class)
-- {
-- return currentSpec;
-- }
--
-- throw new InvalidParameterSpecException("unknown parameter spec passed to GOST3410 parameters object.");
-- }
--
-- protected void engineInit(
-- AlgorithmParameterSpec paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (!(paramSpec instanceof GOST3410ParameterSpec))
-- {
-- throw new InvalidParameterSpecException("GOST3410ParameterSpec required to initialise a GOST3410 algorithm parameters object");
-- }
--
-- this.currentSpec = (GOST3410ParameterSpec)paramSpec;
-- }
--
-- protected void engineInit(
-- byte[] params)
-- throws IOException
-- {
-- try
-- {
-- ASN1Sequence seq = (ASN1Sequence) ASN1Object.fromByteArray(params);
--
-- this.currentSpec = GOST3410ParameterSpec.fromPublicKeyAlg(
-- new GOST3410PublicKeyAlgParameters(seq));
-- }
-- catch (ClassCastException e)
-- {
-- throw new IOException("Not a valid GOST3410 Parameter encoding.");
-- }
-- catch (ArrayIndexOutOfBoundsException e)
-- {
-- throw new IOException("Not a valid GOST3410 Parameter encoding.");
-- }
-- }
--
-- protected void engineInit(
-- byte[] params,
-- String format)
-- throws IOException
-- {
-- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
-- {
-- engineInit(params);
-- }
-- else
-- {
-- throw new IOException("Unknown parameter format " + format);
-- }
-- }
--
-- protected String engineToString()
-- {
-- return "GOST3410 Parameters";
-- }
-- }
--
-- public static class ElGamal
-- extends JDKAlgorithmParameters
-- {
-- ElGamalParameterSpec currentSpec;
--
-- /**
-- * Return the X.509 ASN.1 structure ElGamalParameter.
-- * <p>
-- * <pre>
-- * ElGamalParameter ::= SEQUENCE {
-- * prime INTEGER, -- p
-- * base INTEGER, -- g}
-- * </pre>
-- */
-- protected byte[] engineGetEncoded()
-- {
-- ElGamalParameter elP = new ElGamalParameter(currentSpec.getP(), currentSpec.getG());
--
-- try
-- {
-- return elP.getEncoded(ASN1Encodable.DER);
-- }
-- catch (IOException e)
-- {
-- throw new RuntimeException("Error encoding ElGamalParameters");
-- }
-- }
--
-- protected byte[] engineGetEncoded(
-- String format)
-- {
-- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
-- {
-- return engineGetEncoded();
-- }
--
-- return null;
-- }
--
-- protected AlgorithmParameterSpec localEngineGetParameterSpec(
-- Class paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (paramSpec == ElGamalParameterSpec.class)
-- {
-- return currentSpec;
-- }
-- else if (paramSpec == DHParameterSpec.class)
-- {
-- return new DHParameterSpec(currentSpec.getP(), currentSpec.getG());
-- }
--
-- throw new InvalidParameterSpecException("unknown parameter spec passed to ElGamal parameters object.");
-- }
--
-- protected void engineInit(
-- AlgorithmParameterSpec paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (!(paramSpec instanceof ElGamalParameterSpec) && !(paramSpec instanceof DHParameterSpec))
-- {
-- throw new InvalidParameterSpecException("DHParameterSpec required to initialise a ElGamal algorithm parameters object");
-- }
--
-- if (paramSpec instanceof ElGamalParameterSpec)
-- {
-- this.currentSpec = (ElGamalParameterSpec)paramSpec;
-- }
-- else
-- {
-- DHParameterSpec s = (DHParameterSpec)paramSpec;
--
-- this.currentSpec = new ElGamalParameterSpec(s.getP(), s.getG());
-- }
-- }
--
-- protected void engineInit(
-- byte[] params)
-- throws IOException
-- {
-- try
-- {
-- ElGamalParameter elP = new ElGamalParameter((ASN1Sequence)ASN1Object.fromByteArray(params));
--
-- currentSpec = new ElGamalParameterSpec(elP.getP(), elP.getG());
-- }
-- catch (ClassCastException e)
-- {
-- throw new IOException("Not a valid ElGamal Parameter encoding.");
-- }
-- catch (ArrayIndexOutOfBoundsException e)
-- {
-- throw new IOException("Not a valid ElGamal Parameter encoding.");
-- }
-- }
--
-- protected void engineInit(
-- byte[] params,
-- String format)
-- throws IOException
-- {
-- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
-- {
-- engineInit(params);
-- }
-- else
-- {
-- throw new IOException("Unknown parameter format " + format);
-- }
-- }
--
-- protected String engineToString()
-- {
-- return "ElGamal Parameters";
-- }
-- }
--
-- public static class IES
-- extends JDKAlgorithmParameters
-- {
-- IESParameterSpec currentSpec;
--
-- /**
-- * in the absence of a standard way of doing it this will do for
-- * now...
-- */
-- protected byte[] engineGetEncoded()
-- {
-- try
-- {
-- ASN1EncodableVector v = new ASN1EncodableVector();
--
-- v.add(new DEROctetString(currentSpec.getDerivationV()));
-- v.add(new DEROctetString(currentSpec.getEncodingV()));
-- v.add(new DERInteger(currentSpec.getMacKeySize()));
--
-- return new DERSequence(v).getEncoded(ASN1Encodable.DER);
-- }
-- catch (IOException e)
-- {
-- throw new RuntimeException("Error encoding IESParameters");
-- }
-- }
--
-- protected byte[] engineGetEncoded(
-- String format)
-- {
-- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
-- {
-- return engineGetEncoded();
-- }
--
-- return null;
-- }
--
-- protected AlgorithmParameterSpec localEngineGetParameterSpec(
-- Class paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (paramSpec == IESParameterSpec.class)
-- {
-- return currentSpec;
-- }
--
-- throw new InvalidParameterSpecException("unknown parameter spec passed to ElGamal parameters object.");
-- }
--
-- protected void engineInit(
-- AlgorithmParameterSpec paramSpec)
-- throws InvalidParameterSpecException
-- {
-- if (!(paramSpec instanceof IESParameterSpec))
-- {
-- throw new InvalidParameterSpecException("IESParameterSpec required to initialise a IES algorithm parameters object");
-- }
--
-- this.currentSpec = (IESParameterSpec)paramSpec;
-- }
--
-- protected void engineInit(
-- byte[] params)
-- throws IOException
-- {
-- try
-- {
-- ASN1Sequence s = (ASN1Sequence)ASN1Object.fromByteArray(params);
--
-- this.currentSpec = new IESParameterSpec(
-- ((ASN1OctetString)s.getObjectAt(0)).getOctets(),
-- ((ASN1OctetString)s.getObjectAt(0)).getOctets(),
-- ((DERInteger)s.getObjectAt(0)).getValue().intValue());
-- }
-- catch (ClassCastException e)
-- {
-- throw new IOException("Not a valid IES Parameter encoding.");
-- }
-- catch (ArrayIndexOutOfBoundsException e)
-- {
-- throw new IOException("Not a valid IES Parameter encoding.");
-- }
-- }
--
-- protected void engineInit(
-- byte[] params,
-- String format)
-- throws IOException
-- {
-- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
-- {
-- engineInit(params);
-- }
-- else
-- {
-- throw new IOException("Unknown parameter format " + format);
-- }
-- }
--
-- protected String engineToString()
-- {
-- return "IES Parameters";
-- }
-- }
--
-- public static class OAEP
-- extends JDKAlgorithmParameters
-- {
-- OAEPParameterSpec currentSpec;
--
-- /**
-- * Return the PKCS#1 ASN.1 structure RSAES-OAEP-params.
-- */
-- protected byte[] engineGetEncoded()
-- {
-- AlgorithmIdentifier hashAlgorithm = new AlgorithmIdentifier(
-- JCEDigestUtil.getOID(currentSpec.getDigestAlgorithm()),
-- new DERNull());
-- MGF1ParameterSpec mgfSpec = (MGF1ParameterSpec)currentSpec.getMGFParameters();
-- AlgorithmIdentifier maskGenAlgorithm = new AlgorithmIdentifier(
-- PKCSObjectIdentifiers.id_mgf1,
-- new AlgorithmIdentifier(JCEDigestUtil.getOID(mgfSpec.getDigestAlgorithm()), new DERNull()));
-- PSource.PSpecified pSource = (PSource.PSpecified)currentSpec.getPSource();
-- AlgorithmIdentifier pSourceAlgorithm = new AlgorithmIdentifier(
-- PKCSObjectIdentifiers.id_pSpecified, new DEROctetString(pSource.getValue()));
-- RSAESOAEPparams oaepP = new RSAESOAEPparams(hashAlgorithm, maskGenAlgorithm, pSourceAlgorithm);
--
-- try
-- {
-- return oaepP.getEncoded(ASN1Encodable.DER);
-- }
-- catch (IOException e)
-- {
-- throw new RuntimeException("Error encoding OAEPParameters");
-- }
-- }
--
-- protected byte[] engineGetEncoded(
-- String format)
-- {
-- if (isASN1FormatString(format) || format.equalsIgnoreCase("X.509"))
-- {
-- return engineGetEncoded();
-- }
--
-- return null;
-- }
--
-- protected AlgorithmParameterSpec localEngineGetParameterSpec(
-- Class paramSpec)
-- throws InvalidParameterSpecException
-+ Class paramSpec)
-+ throws InvalidParameterSpecException
- {
- if (paramSpec == OAEPParameterSpec.class && currentSpec != null)
- {
-@@ -1167,110 +1185,116 @@
+ PSource.PSpecified pSource = (PSource.PSpecified)currentSpec.getPSource();
+ AlgorithmIdentifier pSourceAlgorithm = new AlgorithmIdentifier(
+ PKCSObjectIdentifiers.id_pSpecified, new DEROctetString(pSource.getValue()));
+@@ -1167,110 +1183,116 @@
}
}
@@ -10035,7 +9868,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKAlgorithmParam
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKDSASigner.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKDSASigner.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKDSASigner.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKDSASigner.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKDSASigner.java 2010-10-05 22:48:58.000000000 +0000
@@ -22,13 +22,17 @@
import org.bouncycastle.crypto.DSA;
import org.bouncycastle.crypto.Digest;
@@ -10186,7 +10019,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKDSASigner.java
extends JDKDSASigner
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKDigestSignature.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKDigestSignature.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKDigestSignature.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKDigestSignature.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKDigestSignature.java 2010-10-05 22:48:58.000000000 +0000
@@ -23,14 +23,20 @@
import org.bouncycastle.crypto.AsymmetricBlockCipher;
import org.bouncycastle.crypto.CipherParameters;
@@ -10387,7 +10220,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKDigestSignatur
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyFactory.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyFactory.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyFactory.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyFactory.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyFactory.java 2010-10-05 22:48:58.000000000 +0000
@@ -36,17 +36,21 @@
import org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure;
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
@@ -10765,7 +10598,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyFactory.jav
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java 2010-10-05 22:48:58.000000000 +0000
@@ -6,9 +6,11 @@
import org.bouncycastle.crypto.generators.DHParametersGenerator;
import org.bouncycastle.crypto.generators.DSAKeyPairGenerator;
@@ -11109,7 +10942,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyPairGenerat
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyStore.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyStore.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyStore.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyStore.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKKeyStore.java 2010-10-05 22:48:58.000000000 +0000
@@ -39,7 +39,12 @@
import org.bouncycastle.crypto.CipherParameters;
import org.bouncycastle.crypto.Digest;
@@ -11212,7 +11045,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKKeyStore.java
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKMessageDigest.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKMessageDigest.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKMessageDigest.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKMessageDigest.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKMessageDigest.java 2010-10-05 22:48:58.000000000 +0000
@@ -57,36 +57,38 @@
{
super(new SHA1Digest());
@@ -11659,7 +11492,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKMessageDigest.
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java 2010-10-05 22:48:58.000000000 +0000
@@ -255,10 +255,13 @@
}
}
@@ -11829,7 +11662,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/JDKPKCS12KeyStore
return null;
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PBE.java bcprov-jdk16-145/org/bouncycastle/jce/provider/PBE.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PBE.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PBE.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PBE.java 2010-10-05 22:48:58.000000000 +0000
@@ -7,12 +7,18 @@
import org.bouncycastle.crypto.CipherParameters;
@@ -11904,7 +11737,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PBE.java bcprov-j
break;
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java bcprov-jdk16-145/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java 2010-10-05 22:48:58.000000000 +0000
@@ -1,6 +1,9 @@
package org.bouncycastle.jce.provider;
@@ -12047,7 +11880,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKCS12BagAttribut
{
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPath.java bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPath.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPath.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPath.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPath.java 2010-10-05 22:48:58.000000000 +0000
@@ -33,7 +33,9 @@
import org.bouncycastle.asn1.pkcs.ContentInfo;
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
@@ -12112,7 +11945,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPath.java
throw new CertificateEncodingException("unsupported encoding: " + encoding);
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java 2010-10-05 22:48:58.000000000 +0000
@@ -172,8 +172,9 @@
try
{
@@ -12127,7 +11960,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPathBuild
// chains
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java 2010-10-05 22:48:58.000000000 +0000
@@ -13,6 +13,7 @@
import java.security.cert.TrustAnchor;
import java.security.cert.X509Certificate;
@@ -12223,7 +12056,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXCertPathValid
maxPathLength = RFC3280CertPathUtilities.prepareNextCertL(certPath, index, maxPathLength);
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java 2010-10-05 22:48:58.000000000 +0000
@@ -1533,7 +1533,9 @@
for (Enumeration e = permitted.getObjects(); e.hasMoreElements();)
{
@@ -12237,7 +12070,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/PKIXNameConstrain
subtreesMap.put(tagNo, new HashSet());
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/ProviderUtil.java bcprov-jdk16-145/org/bouncycastle/jce/provider/ProviderUtil.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/ProviderUtil.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/ProviderUtil.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/ProviderUtil.java 2010-10-05 22:48:58.000000000 +0000
@@ -1,9 +1,13 @@
package org.bouncycastle.jce.provider;
@@ -12386,7 +12219,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/ProviderUtil.java
throws IOException
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java bcprov-jdk16-145/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java 2010-10-05 22:48:58.000000000 +0000
@@ -1471,7 +1471,11 @@
PublicKey workingPublicKey,
boolean verificationAlreadyPerformed,
@@ -12446,7 +12279,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/RFC3280CertPathUt
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/WrapCipherSpi.java bcprov-jdk16-145/org/bouncycastle/jce/provider/WrapCipherSpi.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/WrapCipherSpi.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/WrapCipherSpi.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/WrapCipherSpi.java 2010-10-05 22:48:58.000000000 +0000
@@ -12,8 +12,10 @@
import org.bouncycastle.crypto.Wrapper;
import org.bouncycastle.crypto.engines.DESedeEngine;
@@ -12611,7 +12444,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/WrapCipherSpi.jav
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/X509CertificateObject.java bcprov-jdk16-145/org/bouncycastle/jce/provider/X509CertificateObject.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/X509CertificateObject.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/X509CertificateObject.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/X509CertificateObject.java 2010-10-05 22:48:58.000000000 +0000
@@ -518,12 +518,20 @@
return JDKKeyFactory.createPublicKeyFromPublicKeyInfo(c.getSubjectPublicKeyInfo());
}
@@ -12645,7 +12478,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/X509CertificateOb
signature = Signature.getInstance(sigName, "BC");
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/X509SignatureUtil.java bcprov-jdk16-145/org/bouncycastle/jce/provider/X509SignatureUtil.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/X509SignatureUtil.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/X509SignatureUtil.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/X509SignatureUtil.java 2010-10-05 22:48:58.000000000 +0000
@@ -25,7 +25,9 @@
class X509SignatureUtil
@@ -12738,7 +12571,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/X509SignatureUtil
return digestAlgOID.getId();
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/symmetric/AES.java bcprov-jdk16-145/org/bouncycastle/jce/provider/symmetric/AES.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/symmetric/AES.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/symmetric/AES.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/symmetric/AES.java 2010-10-05 22:48:58.000000000 +0000
@@ -5,7 +5,9 @@
import org.bouncycastle.crypto.engines.AESEngine;
import org.bouncycastle.crypto.engines.AESFastEngine;
@@ -12975,7 +12808,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/symmetric/AES.jav
extends JDKAlgorithmParameters.IVAlgorithmParameters
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/symmetric/AESMappings.java bcprov-jdk16-145/org/bouncycastle/jce/provider/symmetric/AESMappings.java
--- bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/symmetric/AESMappings.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/jce/provider/symmetric/AESMappings.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/jce/provider/symmetric/AESMappings.java 2010-10-05 22:48:58.000000000 +0000
@@ -26,55 +26,63 @@
put("Alg.Alias.AlgorithmParameters." + NISTObjectIdentifiers.id_aes192_CBC, "AES");
put("Alg.Alias.AlgorithmParameters." + NISTObjectIdentifiers.id_aes256_CBC, "AES");
@@ -13081,7 +12914,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/jce/provider/symmetric/AESMapp
}
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/x509/X509Util.java bcprov-jdk16-145/org/bouncycastle/x509/X509Util.java
--- bcprov-jdk16-145.orig/org/bouncycastle/x509/X509Util.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/x509/X509Util.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/x509/X509Util.java 2010-10-05 22:48:58.000000000 +0000
@@ -43,8 +43,10 @@
static
@@ -13143,7 +12976,7 @@ diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/x509/X509Util.java bcprov-jdk1
diff -Naur bcprov-jdk16-145.orig/org/bouncycastle/x509/extension/X509ExtensionUtil.java bcprov-jdk16-145/org/bouncycastle/x509/extension/X509ExtensionUtil.java
--- bcprov-jdk16-145.orig/org/bouncycastle/x509/extension/X509ExtensionUtil.java 2010-01-11 21:46:14.000000000 +0000
-+++ bcprov-jdk16-145/org/bouncycastle/x509/extension/X509ExtensionUtil.java 2010-09-17 06:35:03.000000000 +0000
++++ bcprov-jdk16-145/org/bouncycastle/x509/extension/X509ExtensionUtil.java 2010-10-05 22:48:58.000000000 +0000
@@ -62,7 +62,9 @@
{
GeneralName genName = GeneralName.getInstance(it.nextElement());