diff options
author | Brian Carlstrom <bdc@google.com> | 2010-10-05 15:57:48 -0700 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2010-10-05 15:57:48 -0700 |
commit | 83ebf91dca9720cd1575bbb8f19fe976ab99f77c (patch) | |
tree | 5df537efc6e6a414ac940fbe3b671d0ed6a09772 /patches | |
parent | f2f9cd54598d633a9895f741629bd26c2a5ecc05 (diff) | |
parent | 5faee297baafbc31667954a404d0451916ef5c59 (diff) | |
download | bouncycastle-83ebf91dca9720cd1575bbb8f19fe976ab99f77c.tar.gz |
resolved conflicts for merge of 5faee297 to master
Change-Id: Ie91354430d7a81a1fe800e968bbcc959d43231a1
Diffstat (limited to 'patches')
-rw-r--r-- | patches/README | 3 | ||||
-rw-r--r-- | patches/android.patch | 1187 |
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()); |