1156 lines
63 KiB
Diff
1156 lines
63 KiB
Diff
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSSignedData.java bcpkix-jdk15on-152/org/bouncycastle/cms/CMSSignedData.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSSignedData.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/cms/CMSSignedData.java 2015-04-09 13:10:16.000000000 +0000
|
|
@@ -287,18 +287,20 @@
|
|
return HELPER.getAttributeCertificates(signedData.getCertificates());
|
|
}
|
|
|
|
- /**
|
|
- * Return any OtherRevocationInfo OtherRevInfo objects of the type indicated by otherRevocationInfoFormat in
|
|
- * this SignedData structure.
|
|
- *
|
|
- * @param otherRevocationInfoFormat OID of the format type been looked for.
|
|
- *
|
|
- * @return a Store of ASN1Encodable objects representing any objects of otherRevocationInfoFormat found.
|
|
- */
|
|
- public Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat)
|
|
- {
|
|
- return HELPER.getOtherRevocationInfo(otherRevocationInfoFormat, signedData.getCRLs());
|
|
- }
|
|
+ // BEGIN android-removed
|
|
+ // /**
|
|
+ // * Return any OtherRevocationInfo OtherRevInfo objects of the type indicated by otherRevocationInfoFormat in
|
|
+ // * this SignedData structure.
|
|
+ // *
|
|
+ // * @param otherRevocationInfoFormat OID of the format type been looked for.
|
|
+ // *
|
|
+ // * @return a Store of ASN1Encodable objects representing any objects of otherRevocationInfoFormat found.
|
|
+ // */
|
|
+ // public Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat)
|
|
+ // {
|
|
+ // return HELPER.getOtherRevocationInfo(otherRevocationInfoFormat, signedData.getCRLs());
|
|
+ // }
|
|
+ // END android-removed
|
|
|
|
/**
|
|
* Return the a string representation of the OID associated with the
|
|
@@ -333,90 +335,92 @@
|
|
return contentInfo.getEncoded();
|
|
}
|
|
|
|
- /**
|
|
- * Verify all the SignerInformation objects and their associated counter signatures attached
|
|
- * to this CMS SignedData object.
|
|
- *
|
|
- * @param verifierProvider a provider of SignerInformationVerifier objects.
|
|
- * @return true if all verify, false otherwise.
|
|
- * @throws CMSException if an exception occurs during the verification process.
|
|
- */
|
|
- public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider)
|
|
- throws CMSException
|
|
- {
|
|
- return verifySignatures(verifierProvider, false);
|
|
- }
|
|
-
|
|
- /**
|
|
- * Verify all the SignerInformation objects and optionally their associated counter signatures attached
|
|
- * to this CMS SignedData object.
|
|
- *
|
|
- * @param verifierProvider a provider of SignerInformationVerifier objects.
|
|
- * @param ignoreCounterSignatures if true don't check counter signatures. If false check counter signatures as well.
|
|
- * @return true if all verify, false otherwise.
|
|
- * @throws CMSException if an exception occurs during the verification process.
|
|
- */
|
|
- public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider, boolean ignoreCounterSignatures)
|
|
- throws CMSException
|
|
- {
|
|
- Collection signers = this.getSignerInfos().getSigners();
|
|
-
|
|
- for (Iterator it = signers.iterator(); it.hasNext();)
|
|
- {
|
|
- SignerInformation signer = (SignerInformation)it.next();
|
|
-
|
|
- try
|
|
- {
|
|
- SignerInformationVerifier verifier = verifierProvider.get(signer.getSID());
|
|
-
|
|
- if (!signer.verify(verifier))
|
|
- {
|
|
- return false;
|
|
- }
|
|
-
|
|
- if (!ignoreCounterSignatures)
|
|
- {
|
|
- Collection counterSigners = signer.getCounterSignatures().getSigners();
|
|
-
|
|
- for (Iterator cIt = counterSigners.iterator(); cIt.hasNext();)
|
|
- {
|
|
- if (!verifyCounterSignature((SignerInformation)cIt.next(), verifierProvider))
|
|
- {
|
|
- return false;
|
|
- }
|
|
- }
|
|
- }
|
|
- }
|
|
- catch (OperatorCreationException e)
|
|
- {
|
|
- throw new CMSException("failure in verifier provider: " + e.getMessage(), e);
|
|
- }
|
|
- }
|
|
-
|
|
- return true;
|
|
- }
|
|
-
|
|
- private boolean verifyCounterSignature(SignerInformation counterSigner, SignerInformationVerifierProvider verifierProvider)
|
|
- throws OperatorCreationException, CMSException
|
|
- {
|
|
- SignerInformationVerifier counterVerifier = verifierProvider.get(counterSigner.getSID());
|
|
-
|
|
- if (!counterSigner.verify(counterVerifier))
|
|
- {
|
|
- return false;
|
|
- }
|
|
-
|
|
- Collection counterSigners = counterSigner.getCounterSignatures().getSigners();
|
|
- for (Iterator cIt = counterSigners.iterator(); cIt.hasNext();)
|
|
- {
|
|
- if (!verifyCounterSignature((SignerInformation)cIt.next(), verifierProvider))
|
|
- {
|
|
- return false;
|
|
- }
|
|
- }
|
|
-
|
|
- return true;
|
|
- }
|
|
+ // BEGIN android-removed
|
|
+ // /**
|
|
+ // * Verify all the SignerInformation objects and their associated counter signatures attached
|
|
+ // * to this CMS SignedData object.
|
|
+ // *
|
|
+ // * @param verifierProvider a provider of SignerInformationVerifier objects.
|
|
+ // * @return true if all verify, false otherwise.
|
|
+ // * @throws CMSException if an exception occurs during the verification process.
|
|
+ // */
|
|
+ // public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider)
|
|
+ // throws CMSException
|
|
+ // {
|
|
+ // return verifySignatures(verifierProvider, false);
|
|
+ // }
|
|
+ //
|
|
+ // /**
|
|
+ // * Verify all the SignerInformation objects and optionally their associated counter signatures attached
|
|
+ // * to this CMS SignedData object.
|
|
+ // *
|
|
+ // * @param verifierProvider a provider of SignerInformationVerifier objects.
|
|
+ // * @param ignoreCounterSignatures if true don't check counter signatures. If false check counter signatures as well.
|
|
+ // * @return true if all verify, false otherwise.
|
|
+ // * @throws CMSException if an exception occurs during the verification process.
|
|
+ // */
|
|
+ // public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider, boolean ignoreCounterSignatures)
|
|
+ // throws CMSException
|
|
+ // {
|
|
+ // Collection signers = this.getSignerInfos().getSigners();
|
|
+ //
|
|
+ // for (Iterator it = signers.iterator(); it.hasNext();)
|
|
+ // {
|
|
+ // SignerInformation signer = (SignerInformation)it.next();
|
|
+ //
|
|
+ // try
|
|
+ // {
|
|
+ // SignerInformationVerifier verifier = verifierProvider.get(signer.getSID());
|
|
+ //
|
|
+ // if (!signer.verify(verifier))
|
|
+ // {
|
|
+ // return false;
|
|
+ // }
|
|
+ //
|
|
+ // if (!ignoreCounterSignatures)
|
|
+ // {
|
|
+ // Collection counterSigners = signer.getCounterSignatures().getSigners();
|
|
+ //
|
|
+ // for (Iterator cIt = counterSigners.iterator(); cIt.hasNext();)
|
|
+ // {
|
|
+ // if (!verifyCounterSignature((SignerInformation)cIt.next(), verifierProvider))
|
|
+ // {
|
|
+ // return false;
|
|
+ // }
|
|
+ // }
|
|
+ // }
|
|
+ // }
|
|
+ // catch (OperatorCreationException e)
|
|
+ // {
|
|
+ // throw new CMSException("failure in verifier provider: " + e.getMessage(), e);
|
|
+ // }
|
|
+ // }
|
|
+ //
|
|
+ // return true;
|
|
+ // }
|
|
+ //
|
|
+ // private boolean verifyCounterSignature(SignerInformation counterSigner, SignerInformationVerifierProvider verifierProvider)
|
|
+ // throws OperatorCreationException, CMSException
|
|
+ // {
|
|
+ // SignerInformationVerifier counterVerifier = verifierProvider.get(counterSigner.getSID());
|
|
+ //
|
|
+ // if (!counterSigner.verify(counterVerifier))
|
|
+ // {
|
|
+ // return false;
|
|
+ // }
|
|
+ //
|
|
+ // Collection counterSigners = counterSigner.getCounterSignatures().getSigners();
|
|
+ // for (Iterator cIt = counterSigners.iterator(); cIt.hasNext();)
|
|
+ // {
|
|
+ // if (!verifyCounterSignature((SignerInformation)cIt.next(), verifierProvider))
|
|
+ // {
|
|
+ // return false;
|
|
+ // }
|
|
+ // }
|
|
+ //
|
|
+ // return true;
|
|
+ // }
|
|
+ // END android-removed
|
|
|
|
/**
|
|
* Replace the SignerInformation store associated with this
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSSignedGenerator.java bcpkix-jdk15on-152/org/bouncycastle/cms/CMSSignedGenerator.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSSignedGenerator.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/cms/CMSSignedGenerator.java 2013-12-12 00:35:05.000000000 +0000
|
|
@@ -12,8 +12,10 @@
|
|
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
|
|
import org.bouncycastle.asn1.DERTaggedObject;
|
|
import org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
|
|
-import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
|
|
-import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
|
|
+// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// END android-removed
|
|
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
|
|
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
|
|
@@ -39,17 +41,21 @@
|
|
public static final String DIGEST_SHA384 = NISTObjectIdentifiers.id_sha384.getId();
|
|
public static final String DIGEST_SHA512 = NISTObjectIdentifiers.id_sha512.getId();
|
|
public static final String DIGEST_MD5 = PKCSObjectIdentifiers.md5.getId();
|
|
- public static final String DIGEST_GOST3411 = CryptoProObjectIdentifiers.gostR3411.getId();
|
|
- public static final String DIGEST_RIPEMD128 = TeleTrusTObjectIdentifiers.ripemd128.getId();
|
|
- public static final String DIGEST_RIPEMD160 = TeleTrusTObjectIdentifiers.ripemd160.getId();
|
|
- public static final String DIGEST_RIPEMD256 = TeleTrusTObjectIdentifiers.ripemd256.getId();
|
|
+ // BEGIN android-removed
|
|
+ // public static final String DIGEST_GOST3411 = CryptoProObjectIdentifiers.gostR3411.getId();
|
|
+ // public static final String DIGEST_RIPEMD128 = TeleTrusTObjectIdentifiers.ripemd128.getId();
|
|
+ // public static final String DIGEST_RIPEMD160 = TeleTrusTObjectIdentifiers.ripemd160.getId();
|
|
+ // public static final String DIGEST_RIPEMD256 = TeleTrusTObjectIdentifiers.ripemd256.getId();
|
|
+ // END android-removed
|
|
|
|
public static final String ENCRYPTION_RSA = PKCSObjectIdentifiers.rsaEncryption.getId();
|
|
public static final String ENCRYPTION_DSA = X9ObjectIdentifiers.id_dsa_with_sha1.getId();
|
|
public static final String ENCRYPTION_ECDSA = X9ObjectIdentifiers.ecdsa_with_SHA1.getId();
|
|
public static final String ENCRYPTION_RSA_PSS = PKCSObjectIdentifiers.id_RSASSA_PSS.getId();
|
|
- public static final String ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94.getId();
|
|
- public static final String ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001.getId();
|
|
+ // BEGIN android-removed
|
|
+ // public static final String ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94.getId();
|
|
+ // public static final String ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001.getId();
|
|
+ // END android-removed
|
|
|
|
private static final String ENCRYPTION_ECDSA_WITH_SHA1 = X9ObjectIdentifiers.ecdsa_with_SHA1.getId();
|
|
private static final String ENCRYPTION_ECDSA_WITH_SHA224 = X9ObjectIdentifiers.ecdsa_with_SHA224.getId();
|
|
@@ -174,31 +180,33 @@
|
|
certs.addAll(CMSUtils.getAttributeCertificatesFromStore(attrStore));
|
|
}
|
|
|
|
- /**
|
|
- * Add a single instance of otherRevocationData to the CRL set to be included with the generated SignedData message.
|
|
- *
|
|
- * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
|
|
- * @param otherRevocationInfo the otherRevocationInfo ASN.1 structure.
|
|
- */
|
|
- public void addOtherRevocationInfo(
|
|
- ASN1ObjectIdentifier otherRevocationInfoFormat,
|
|
- ASN1Encodable otherRevocationInfo)
|
|
- {
|
|
- crls.add(new DERTaggedObject(false, 1, new OtherRevocationInfoFormat(otherRevocationInfoFormat, otherRevocationInfo)));
|
|
- }
|
|
-
|
|
- /**
|
|
- * Add a Store of otherRevocationData to the CRL set to be included with the generated SignedData message.
|
|
- *
|
|
- * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
|
|
- * @param otherRevocationInfos a Store of otherRevocationInfo data to add.
|
|
- */
|
|
- public void addOtherRevocationInfo(
|
|
- ASN1ObjectIdentifier otherRevocationInfoFormat,
|
|
- Store otherRevocationInfos)
|
|
- {
|
|
- crls.addAll(CMSUtils.getOthersFromStore(otherRevocationInfoFormat, otherRevocationInfos));
|
|
- }
|
|
+ // BEGIN android-removed
|
|
+ // /**
|
|
+ // * Add a single instance of otherRevocationData to the CRL set to be included with the generated SignedData message.
|
|
+ // *
|
|
+ // * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
|
|
+ // * @param otherRevocationInfo the otherRevocationInfo ASN.1 structure.
|
|
+ // */
|
|
+ // public void addOtherRevocationInfo(
|
|
+ // ASN1ObjectIdentifier otherRevocationInfoFormat,
|
|
+ // ASN1Encodable otherRevocationInfo)
|
|
+ // {
|
|
+ // crls.add(new DERTaggedObject(false, 1, new OtherRevocationInfoFormat(otherRevocationInfoFormat, otherRevocationInfo)));
|
|
+ // }
|
|
+ //
|
|
+ // /**
|
|
+ // * Add a Store of otherRevocationData to the CRL set to be included with the generated SignedData message.
|
|
+ // *
|
|
+ // * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
|
|
+ // * @param otherRevocationInfos a Store of otherRevocationInfo data to add.
|
|
+ // */
|
|
+ // public void addOtherRevocationInfo(
|
|
+ // ASN1ObjectIdentifier otherRevocationInfoFormat,
|
|
+ // Store otherRevocationInfos)
|
|
+ // {
|
|
+ // crls.addAll(CMSUtils.getOthersFromStore(otherRevocationInfoFormat, otherRevocationInfos));
|
|
+ // }
|
|
+ // END android-removed
|
|
|
|
/**
|
|
* Add a store of pre-calculated signers to the generator.
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSSignedHelper.java bcpkix-jdk15on-152/org/bouncycastle/cms/CMSSignedHelper.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSSignedHelper.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/cms/CMSSignedHelper.java 2013-12-12 00:35:05.000000000 +0000
|
|
@@ -13,8 +13,10 @@
|
|
import org.bouncycastle.asn1.ASN1Set;
|
|
import org.bouncycastle.asn1.ASN1TaggedObject;
|
|
import org.bouncycastle.asn1.DERNull;
|
|
-import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
|
|
-import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
|
|
+// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// END android-removed
|
|
import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
|
|
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
|
|
@@ -53,12 +55,16 @@
|
|
addEntries(NISTObjectIdentifiers.dsa_with_sha384, "SHA384", "DSA");
|
|
addEntries(NISTObjectIdentifiers.dsa_with_sha512, "SHA512", "DSA");
|
|
addEntries(OIWObjectIdentifiers.dsaWithSHA1, "SHA1", "DSA");
|
|
- addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
|
|
- addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // BEGIN android-removed
|
|
+ // addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
|
|
+ // addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // END android-removed
|
|
addEntries(OIWObjectIdentifiers.md5WithRSA, "MD5", "RSA");
|
|
addEntries(OIWObjectIdentifiers.sha1WithRSA, "SHA1", "RSA");
|
|
- addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
|
|
- addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // BEGIN android-removed
|
|
+ // addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
|
|
+ // addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // END android-removed
|
|
addEntries(PKCSObjectIdentifiers.md5WithRSAEncryption, "MD5", "RSA");
|
|
addEntries(PKCSObjectIdentifiers.sha1WithRSAEncryption, "SHA1", "RSA");
|
|
addEntries(PKCSObjectIdentifiers.sha224WithRSAEncryption, "SHA224", "RSA");
|
|
@@ -85,27 +91,31 @@
|
|
encryptionAlgs.put(PKCSObjectIdentifiers.rsaEncryption.getId(), "RSA");
|
|
encryptionAlgs.put(TeleTrusTObjectIdentifiers.teleTrusTRSAsignatureAlgorithm, "RSA");
|
|
encryptionAlgs.put(X509ObjectIdentifiers.id_ea_rsa.getId(), "RSA");
|
|
- encryptionAlgs.put(CMSSignedDataGenerator.ENCRYPTION_RSA_PSS, "RSAandMGF1");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94.getId(), "GOST3410");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001.getId(), "ECGOST3410");
|
|
- encryptionAlgs.put("1.3.6.1.4.1.5849.1.6.2", "ECGOST3410");
|
|
- encryptionAlgs.put("1.3.6.1.4.1.5849.1.1.5", "GOST3410");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001.getId(), "ECGOST3410");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94.getId(), "GOST3410");
|
|
-
|
|
- digestAlgs.put(PKCSObjectIdentifiers.md2.getId(), "MD2");
|
|
- digestAlgs.put(PKCSObjectIdentifiers.md4.getId(), "MD4");
|
|
+ // BEGIN android-removed
|
|
+ // encryptionAlgs.put(CMSSignedDataGenerator.ENCRYPTION_RSA_PSS, "RSAandMGF1");
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94.getId(), "GOST3410");
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001.getId(), "ECGOST3410");
|
|
+ // encryptionAlgs.put("1.3.6.1.4.1.5849.1.6.2", "ECGOST3410");
|
|
+ // encryptionAlgs.put("1.3.6.1.4.1.5849.1.1.5", "GOST3410");
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001.getId(), "ECGOST3410");
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94.getId(), "GOST3410");
|
|
+ //
|
|
+ // digestAlgs.put(PKCSObjectIdentifiers.md2.getId(), "MD2");
|
|
+ // digestAlgs.put(PKCSObjectIdentifiers.md4.getId(), "MD4");
|
|
+ // END android-removed
|
|
digestAlgs.put(PKCSObjectIdentifiers.md5.getId(), "MD5");
|
|
digestAlgs.put(OIWObjectIdentifiers.idSHA1.getId(), "SHA1");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha224.getId(), "SHA224");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha256.getId(), "SHA256");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha384.getId(), "SHA384");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha512.getId(), "SHA512");
|
|
- digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128.getId(), "RIPEMD128");
|
|
- digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160.getId(), "RIPEMD160");
|
|
- digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256.getId(), "RIPEMD256");
|
|
- digestAlgs.put(CryptoProObjectIdentifiers.gostR3411.getId(), "GOST3411");
|
|
- digestAlgs.put("1.3.6.1.4.1.5849.1.2.1", "GOST3411");
|
|
+ // BEGIN android-removed
|
|
+ // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128.getId(), "RIPEMD128");
|
|
+ // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160.getId(), "RIPEMD160");
|
|
+ // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256.getId(), "RIPEMD256");
|
|
+ // digestAlgs.put(CryptoProObjectIdentifiers.gostR3411.getId(), "GOST3411");
|
|
+ // digestAlgs.put("1.3.6.1.4.1.5849.1.2.1", "GOST3411");
|
|
+ // END android-removed
|
|
|
|
digestAliases.put("SHA1", new String[] { "SHA-1" });
|
|
digestAliases.put("SHA224", new String[] { "SHA-224" });
|
|
@@ -219,35 +229,35 @@
|
|
return new CollectionStore(new ArrayList());
|
|
}
|
|
|
|
- Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat, ASN1Set crlSet)
|
|
- {
|
|
- if (crlSet != null)
|
|
- {
|
|
- List crlList = new ArrayList(crlSet.size());
|
|
-
|
|
- for (Enumeration en = crlSet.getObjects(); en.hasMoreElements();)
|
|
- {
|
|
- ASN1Primitive obj = ((ASN1Encodable)en.nextElement()).toASN1Primitive();
|
|
-
|
|
- if (obj instanceof ASN1TaggedObject)
|
|
- {
|
|
- ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(obj);
|
|
-
|
|
- if (tObj.getTagNo() == 1)
|
|
- {
|
|
- OtherRevocationInfoFormat other = OtherRevocationInfoFormat.getInstance(tObj, false);
|
|
-
|
|
- if (otherRevocationInfoFormat.equals(other.getInfoFormat()))
|
|
- {
|
|
- crlList.add(other.getInfo());
|
|
- }
|
|
- }
|
|
- }
|
|
- }
|
|
-
|
|
- return new CollectionStore(crlList);
|
|
- }
|
|
-
|
|
- return new CollectionStore(new ArrayList());
|
|
- }
|
|
+ // Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat, ASN1Set crlSet)
|
|
+ // {
|
|
+ // if (crlSet != null)
|
|
+ // {
|
|
+ // List crlList = new ArrayList(crlSet.size());
|
|
+ //
|
|
+ // for (Enumeration en = crlSet.getObjects(); en.hasMoreElements();)
|
|
+ // {
|
|
+ // ASN1Primitive obj = ((ASN1Encodable)en.nextElement()).toASN1Primitive();
|
|
+ //
|
|
+ // if (obj instanceof ASN1TaggedObject)
|
|
+ // {
|
|
+ // ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(obj);
|
|
+ //
|
|
+ // if (tObj.getTagNo() == 1)
|
|
+ // {
|
|
+ // OtherRevocationInfoFormat other = OtherRevocationInfoFormat.getInstance(tObj, false);
|
|
+ //
|
|
+ // if (otherRevocationInfoFormat.equals(other.getInfoFormat()))
|
|
+ // {
|
|
+ // crlList.add(other.getInfo());
|
|
+ // }
|
|
+ // }
|
|
+ // }
|
|
+ // }
|
|
+ //
|
|
+ // return new CollectionStore(crlList);
|
|
+ // }
|
|
+ //
|
|
+ // return new CollectionStore(new ArrayList());
|
|
+ // }
|
|
}
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSUtils.java bcpkix-jdk15on-152/org/bouncycastle/cms/CMSUtils.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/cms/CMSUtils.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/cms/CMSUtils.java 2014-07-28 19:51:54.000000000 +0000
|
|
@@ -20,9 +20,11 @@
|
|
import org.bouncycastle.asn1.DERTaggedObject;
|
|
import org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
|
|
import org.bouncycastle.asn1.cms.ContentInfo;
|
|
-import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
|
|
-import org.bouncycastle.asn1.ocsp.OCSPResponse;
|
|
-import org.bouncycastle.asn1.ocsp.OCSPResponseStatus;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
|
|
+// import org.bouncycastle.asn1.ocsp.OCSPResponse;
|
|
+// import org.bouncycastle.asn1.ocsp.OCSPResponseStatus;
|
|
+// END android-removed
|
|
import org.bouncycastle.cert.X509AttributeCertificateHolder;
|
|
import org.bouncycastle.cert.X509CRLHolder;
|
|
import org.bouncycastle.cert.X509CertificateHolder;
|
|
@@ -113,14 +115,16 @@
|
|
|
|
crls.add(c.toASN1Structure());
|
|
}
|
|
- else if (rev instanceof OtherRevocationInfoFormat)
|
|
- {
|
|
- OtherRevocationInfoFormat infoFormat = OtherRevocationInfoFormat.getInstance(rev);
|
|
-
|
|
- validateInfoFormat(infoFormat);
|
|
-
|
|
- crls.add(new DERTaggedObject(false, 1, infoFormat));
|
|
- }
|
|
+ // BEGIN android-removed
|
|
+ // else if (rev instanceof OtherRevocationInfoFormat)
|
|
+ // {
|
|
+ // OtherRevocationInfoFormat infoFormat = OtherRevocationInfoFormat.getInstance(rev);
|
|
+ //
|
|
+ // validateInfoFormat(infoFormat);
|
|
+ //
|
|
+ // crls.add(new DERTaggedObject(false, 1, infoFormat));
|
|
+ // }
|
|
+ // END android-removed
|
|
else if (rev instanceof ASN1TaggedObject)
|
|
{
|
|
crls.add(rev);
|
|
@@ -135,35 +139,36 @@
|
|
}
|
|
}
|
|
|
|
- private static void validateInfoFormat(OtherRevocationInfoFormat infoFormat)
|
|
- {
|
|
- if (CMSObjectIdentifiers.id_ri_ocsp_response.equals(infoFormat.getInfoFormat()))
|
|
- {
|
|
- OCSPResponse resp = OCSPResponse.getInstance(infoFormat.getInfo());
|
|
-
|
|
- if (resp.getResponseStatus().getValue().intValue() != OCSPResponseStatus.SUCCESSFUL)
|
|
- {
|
|
- throw new IllegalArgumentException("cannot add unsuccessful OCSP response to CMS SignedData");
|
|
- }
|
|
- }
|
|
- }
|
|
-
|
|
- static Collection getOthersFromStore(ASN1ObjectIdentifier otherRevocationInfoFormat, Store otherRevocationInfos)
|
|
- {
|
|
- List others = new ArrayList();
|
|
-
|
|
- for (Iterator it = otherRevocationInfos.getMatches(null).iterator(); it.hasNext();)
|
|
- {
|
|
- ASN1Encodable info = (ASN1Encodable)it.next();
|
|
- OtherRevocationInfoFormat infoFormat = new OtherRevocationInfoFormat(otherRevocationInfoFormat, info);
|
|
-
|
|
- validateInfoFormat(infoFormat);
|
|
-
|
|
- others.add(new DERTaggedObject(false, 1, infoFormat));
|
|
- }
|
|
-
|
|
- return others;
|
|
- }
|
|
+ // BEGIN android-removed
|
|
+ // private static void validateInfoFormat(OtherRevocationInfoFormat infoFormat)
|
|
+ // {
|
|
+ // if (CMSObjectIdentifiers.id_ri_ocsp_response.equals(infoFormat.getInfoFormat()))
|
|
+ // {
|
|
+ // OCSPResponse resp = OCSPResponse.getInstance(infoFormat.getInfo());
|
|
+ //
|
|
+ // if (resp.getResponseStatus().getValue().intValue() != OCSPResponseStatus.SUCCESSFUL)
|
|
+ // {
|
|
+ // throw new IllegalArgumentException("cannot add unsuccessful OCSP response to CMS SignedData");
|
|
+ // }
|
|
+ // }
|
|
+ // }
|
|
+ //
|
|
+ // static Collection getOthersFromStore(ASN1ObjectIdentifier otherRevocationInfoFormat, Store otherRevocationInfos)
|
|
+ // {
|
|
+ // List others = new ArrayList();
|
|
+ //
|
|
+ // for (Iterator it = otherRevocationInfos.getMatches(null).iterator(); it.hasNext();)
|
|
+ // {
|
|
+ // ASN1Encodable info = (ASN1Encodable)it.next();
|
|
+ // OtherRevocationInfoFormat infoFormat = new OtherRevocationInfoFormat(otherRevocationInfoFormat, info);
|
|
+ // validateInfoFormat(infoFormat);
|
|
+ //
|
|
+ // others.add(new DERTaggedObject(false, 1, infoFormat));
|
|
+ // }
|
|
+ //
|
|
+ // return others;
|
|
+ // }
|
|
+ // END android-removed
|
|
|
|
static ASN1Set createBerSetFromList(List derObjects)
|
|
{
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java bcpkix-jdk15on-152/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java 2015-04-09 13:10:16.000000000 +0000
|
|
@@ -4,8 +4,10 @@
|
|
import java.util.Map;
|
|
|
|
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
|
|
-import org.bouncycastle.asn1.bsi.BSIObjectIdentifiers;
|
|
-import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.bsi.BSIObjectIdentifiers;
|
|
+// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// END android-removed
|
|
import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
|
|
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
|
|
@@ -34,12 +36,16 @@
|
|
addEntries(NISTObjectIdentifiers.dsa_with_sha384, "SHA384", "DSA");
|
|
addEntries(NISTObjectIdentifiers.dsa_with_sha512, "SHA512", "DSA");
|
|
addEntries(OIWObjectIdentifiers.dsaWithSHA1, "SHA1", "DSA");
|
|
- addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
|
|
- addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // BEGIN android-removed
|
|
+ // addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
|
|
+ // addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // END android-removed
|
|
addEntries(OIWObjectIdentifiers.md5WithRSA, "MD5", "RSA");
|
|
addEntries(OIWObjectIdentifiers.sha1WithRSA, "SHA1", "RSA");
|
|
- addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
|
|
- addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // BEGIN android-removed
|
|
+ // addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
|
|
+ // addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
|
|
+ // END android-removed
|
|
addEntries(PKCSObjectIdentifiers.md5WithRSAEncryption, "MD5", "RSA");
|
|
addEntries(PKCSObjectIdentifiers.sha1WithRSAEncryption, "SHA1", "RSA");
|
|
addEntries(PKCSObjectIdentifiers.sha224WithRSAEncryption, "SHA224", "RSA");
|
|
@@ -66,38 +72,44 @@
|
|
addEntries(EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_256, "SHA256", "RSA");
|
|
addEntries(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_1, "SHA1", "RSAandMGF1");
|
|
addEntries(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_256, "SHA256", "RSAandMGF1");
|
|
- addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA1, "SHA1", "PLAIN-ECDSA");
|
|
- addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA224, "SHA224", "PLAIN-ECDSA");
|
|
- addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA256, "SHA256", "PLAIN-ECDSA");
|
|
- addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA384, "SHA384", "PLAIN-ECDSA");
|
|
- addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA512, "SHA512", "PLAIN-ECDSA");
|
|
- addEntries(BSIObjectIdentifiers.ecdsa_plain_RIPEMD160, "RIPEMD160", "PLAIN-ECDSA");
|
|
+ // BEGIN android-removed
|
|
+ // addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA1, "SHA1", "PLAIN-ECDSA");
|
|
+ // addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA224, "SHA224", "PLAIN-ECDSA");
|
|
+ // addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA256, "SHA256", "PLAIN-ECDSA");
|
|
+ // addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA384, "SHA384", "PLAIN-ECDSA");
|
|
+ // addEntries(BSIObjectIdentifiers.ecdsa_plain_SHA512, "SHA512", "PLAIN-ECDSA");
|
|
+ // addEntries(BSIObjectIdentifiers.ecdsa_plain_RIPEMD160, "RIPEMD160", "PLAIN-ECDSA");
|
|
+ // END android-removed
|
|
|
|
encryptionAlgs.put(X9ObjectIdentifiers.id_dsa, "DSA");
|
|
encryptionAlgs.put(PKCSObjectIdentifiers.rsaEncryption, "RSA");
|
|
encryptionAlgs.put(TeleTrusTObjectIdentifiers.teleTrusTRSAsignatureAlgorithm, "RSA");
|
|
encryptionAlgs.put(X509ObjectIdentifiers.id_ea_rsa, "RSA");
|
|
encryptionAlgs.put(PKCSObjectIdentifiers.id_RSASSA_PSS, "RSAandMGF1");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94, "GOST3410");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001, "ECGOST3410");
|
|
- encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.6.2"), "ECGOST3410");
|
|
- encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.1.5"), "GOST3410");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "ECGOST3410");
|
|
- encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3410");
|
|
-
|
|
- digestAlgs.put(PKCSObjectIdentifiers.md2, "MD2");
|
|
- digestAlgs.put(PKCSObjectIdentifiers.md4, "MD4");
|
|
+ // BEGIN android-removed
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94, "GOST3410");
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001, "ECGOST3410");
|
|
+ // encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.6.2"), "ECGOST3410");
|
|
+ // encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.1.5"), "GOST3410");
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "ECGOST3410");
|
|
+ // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3410");
|
|
+ //
|
|
+ // digestAlgs.put(PKCSObjectIdentifiers.md2, "MD2");
|
|
+ // digestAlgs.put(PKCSObjectIdentifiers.md4, "MD4");
|
|
+ // END android-removed
|
|
digestAlgs.put(PKCSObjectIdentifiers.md5, "MD5");
|
|
digestAlgs.put(OIWObjectIdentifiers.idSHA1, "SHA1");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha224, "SHA224");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha256, "SHA256");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha384, "SHA384");
|
|
digestAlgs.put(NISTObjectIdentifiers.id_sha512, "SHA512");
|
|
- digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128, "RIPEMD128");
|
|
- digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160, "RIPEMD160");
|
|
- digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256, "RIPEMD256");
|
|
- digestAlgs.put(CryptoProObjectIdentifiers.gostR3411, "GOST3411");
|
|
- digestAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.2.1"), "GOST3411");
|
|
+ // BEGIN android-removed
|
|
+ // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128, "RIPEMD128");
|
|
+ // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160, "RIPEMD160");
|
|
+ // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256, "RIPEMD256");
|
|
+ // digestAlgs.put(CryptoProObjectIdentifiers.gostR3411, "GOST3411");
|
|
+ // digestAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.2.1"), "GOST3411");
|
|
+ // END android-removed
|
|
}
|
|
|
|
/**
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java bcpkix-jdk15on-152/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java 2013-09-26 18:06:21.000000000 +0000
|
|
@@ -16,21 +16,27 @@
|
|
|
|
static
|
|
{
|
|
- RSA_PKCS1d5.add(PKCSObjectIdentifiers.md2WithRSAEncryption);
|
|
- RSA_PKCS1d5.add(PKCSObjectIdentifiers.md4WithRSAEncryption);
|
|
+ // BEGIN android-removed
|
|
+ // RSA_PKCS1d5.add(PKCSObjectIdentifiers.md2WithRSAEncryption);
|
|
+ // RSA_PKCS1d5.add(PKCSObjectIdentifiers.md4WithRSAEncryption);
|
|
+ // END android-removed
|
|
RSA_PKCS1d5.add(PKCSObjectIdentifiers.md5WithRSAEncryption);
|
|
RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha1WithRSAEncryption);
|
|
RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha224WithRSAEncryption);
|
|
RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha256WithRSAEncryption);
|
|
RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha384WithRSAEncryption);
|
|
RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha512WithRSAEncryption);
|
|
- RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSAEncryption);
|
|
- RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSA);
|
|
+ // BEGIN android-removed
|
|
+ // RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSAEncryption);
|
|
+ // RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSA);
|
|
+ // END android-removed
|
|
RSA_PKCS1d5.add(OIWObjectIdentifiers.md5WithRSA);
|
|
RSA_PKCS1d5.add(OIWObjectIdentifiers.sha1WithRSA);
|
|
- RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
- RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
- RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
+ // BEGIN android-removed
|
|
+ // RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
+ // RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
+ // RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
+ // END android-removed
|
|
}
|
|
|
|
public AlgorithmIdentifier findEncryptionAlgorithm(AlgorithmIdentifier signatureAlgorithm)
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java bcpkix-jdk15on-152/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java 2013-09-26 18:06:21.000000000 +0000
|
|
@@ -5,7 +5,9 @@
|
|
|
|
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
|
|
import org.bouncycastle.asn1.DERNull;
|
|
-import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// END android-removed
|
|
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
|
|
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
|
|
@@ -25,16 +27,20 @@
|
|
//
|
|
// digests
|
|
//
|
|
- digestOids.put(OIWObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
|
|
- digestOids.put(OIWObjectIdentifiers.md4WithRSA, PKCSObjectIdentifiers.md4);
|
|
+ // BEGIN android-removed
|
|
+ // digestOids.put(OIWObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
|
|
+ // digestOids.put(OIWObjectIdentifiers.md4WithRSA, PKCSObjectIdentifiers.md4);
|
|
+ // END android-removed
|
|
digestOids.put(OIWObjectIdentifiers.sha1WithRSA, OIWObjectIdentifiers.idSHA1);
|
|
|
|
digestOids.put(PKCSObjectIdentifiers.sha224WithRSAEncryption, NISTObjectIdentifiers.id_sha224);
|
|
digestOids.put(PKCSObjectIdentifiers.sha256WithRSAEncryption, NISTObjectIdentifiers.id_sha256);
|
|
digestOids.put(PKCSObjectIdentifiers.sha384WithRSAEncryption, NISTObjectIdentifiers.id_sha384);
|
|
digestOids.put(PKCSObjectIdentifiers.sha512WithRSAEncryption, NISTObjectIdentifiers.id_sha512);
|
|
- digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
|
|
- digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
|
|
+ // BEGIN android-removed
|
|
+ // digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
|
|
+ // digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
|
|
+ // END android-removed
|
|
digestOids.put(PKCSObjectIdentifiers.md5WithRSAEncryption, PKCSObjectIdentifiers.md5);
|
|
digestOids.put(PKCSObjectIdentifiers.sha1WithRSAEncryption, OIWObjectIdentifiers.idSHA1);
|
|
|
|
@@ -50,12 +56,14 @@
|
|
digestOids.put(NISTObjectIdentifiers.dsa_with_sha384, NISTObjectIdentifiers.id_sha384);
|
|
digestOids.put(NISTObjectIdentifiers.dsa_with_sha512, NISTObjectIdentifiers.id_sha512);
|
|
|
|
- digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
|
|
- digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
|
|
- digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
|
|
-
|
|
- digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
|
|
- digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
|
|
+ // BEGIN android-removed
|
|
+ // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
|
|
+ // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
|
|
+ // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
|
|
+ //
|
|
+ // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
|
|
+ // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
|
|
+ // END android-removed
|
|
|
|
digestNameToOids.put("SHA-1", OIWObjectIdentifiers.idSHA1);
|
|
digestNameToOids.put("SHA-224", NISTObjectIdentifiers.id_sha224);
|
|
@@ -63,15 +71,19 @@
|
|
digestNameToOids.put("SHA-384", NISTObjectIdentifiers.id_sha384);
|
|
digestNameToOids.put("SHA-512", NISTObjectIdentifiers.id_sha512);
|
|
|
|
- digestNameToOids.put("GOST3411", CryptoProObjectIdentifiers.gostR3411);
|
|
-
|
|
- digestNameToOids.put("MD2", PKCSObjectIdentifiers.md2);
|
|
- digestNameToOids.put("MD4", PKCSObjectIdentifiers.md4);
|
|
+ // BEGIN android-removed
|
|
+ // digestNameToOids.put("GOST3411", CryptoProObjectIdentifiers.gostR3411);
|
|
+ //
|
|
+ // digestNameToOids.put("MD2", PKCSObjectIdentifiers.md2);
|
|
+ // digestNameToOids.put("MD4", PKCSObjectIdentifiers.md4);
|
|
+ // END android-removed
|
|
digestNameToOids.put("MD5", PKCSObjectIdentifiers.md5);
|
|
|
|
- digestNameToOids.put("RIPEMD128", TeleTrusTObjectIdentifiers.ripemd128);
|
|
- digestNameToOids.put("RIPEMD160", TeleTrusTObjectIdentifiers.ripemd160);
|
|
- digestNameToOids.put("RIPEMD256", TeleTrusTObjectIdentifiers.ripemd256);
|
|
+ // BEGIN android-removed
|
|
+ // digestNameToOids.put("RIPEMD128", TeleTrusTObjectIdentifiers.ripemd128);
|
|
+ // digestNameToOids.put("RIPEMD160", TeleTrusTObjectIdentifiers.ripemd160);
|
|
+ // digestNameToOids.put("RIPEMD256", TeleTrusTObjectIdentifiers.ripemd256);
|
|
+ // END android-removed
|
|
}
|
|
|
|
public AlgorithmIdentifier find(AlgorithmIdentifier sigAlgId)
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java bcpkix-jdk15on-152/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java 2014-07-28 19:51:54.000000000 +0000
|
|
@@ -9,9 +9,11 @@
|
|
import org.bouncycastle.asn1.ASN1Integer;
|
|
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
|
|
import org.bouncycastle.asn1.DERNull;
|
|
-import org.bouncycastle.asn1.bsi.BSIObjectIdentifiers;
|
|
-import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
-import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.bsi.BSIObjectIdentifiers;
|
|
+// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
|
|
+// END android-removed
|
|
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
|
|
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
|
|
@@ -34,13 +36,17 @@
|
|
private static final ASN1ObjectIdentifier ENCRYPTION_DSA = X9ObjectIdentifiers.id_dsa_with_sha1;
|
|
private static final ASN1ObjectIdentifier ENCRYPTION_ECDSA = X9ObjectIdentifiers.ecdsa_with_SHA1;
|
|
private static final ASN1ObjectIdentifier ENCRYPTION_RSA_PSS = PKCSObjectIdentifiers.id_RSASSA_PSS;
|
|
- private static final ASN1ObjectIdentifier ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94;
|
|
- private static final ASN1ObjectIdentifier ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001;
|
|
+ // BEGIN android-removed
|
|
+ // private static final ASN1ObjectIdentifier ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94;
|
|
+ // private static final ASN1ObjectIdentifier ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001;
|
|
+ // END android-removed
|
|
|
|
static
|
|
{
|
|
- algorithms.put("MD2WITHRSAENCRYPTION", PKCSObjectIdentifiers.md2WithRSAEncryption);
|
|
- algorithms.put("MD2WITHRSA", PKCSObjectIdentifiers.md2WithRSAEncryption);
|
|
+ // BEGIN android-removed
|
|
+ // algorithms.put("MD2WITHRSAENCRYPTION", PKCSObjectIdentifiers.md2WithRSAEncryption);
|
|
+ // algorithms.put("MD2WITHRSA", PKCSObjectIdentifiers.md2WithRSAEncryption);
|
|
+ // END android-removed
|
|
algorithms.put("MD5WITHRSAENCRYPTION", PKCSObjectIdentifiers.md5WithRSAEncryption);
|
|
algorithms.put("MD5WITHRSA", PKCSObjectIdentifiers.md5WithRSAEncryption);
|
|
algorithms.put("SHA1WITHRSAENCRYPTION", PKCSObjectIdentifiers.sha1WithRSAEncryption);
|
|
@@ -58,12 +64,14 @@
|
|
algorithms.put("SHA256WITHRSAANDMGF1", PKCSObjectIdentifiers.id_RSASSA_PSS);
|
|
algorithms.put("SHA384WITHRSAANDMGF1", PKCSObjectIdentifiers.id_RSASSA_PSS);
|
|
algorithms.put("SHA512WITHRSAANDMGF1", PKCSObjectIdentifiers.id_RSASSA_PSS);
|
|
- algorithms.put("RIPEMD160WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
- algorithms.put("RIPEMD160WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
- algorithms.put("RIPEMD128WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
- algorithms.put("RIPEMD128WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
- algorithms.put("RIPEMD256WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
- algorithms.put("RIPEMD256WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
+ // BEGIN android-removed
|
|
+ // algorithms.put("RIPEMD160WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
+ // algorithms.put("RIPEMD160WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
+ // algorithms.put("RIPEMD128WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
+ // algorithms.put("RIPEMD128WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
+ // algorithms.put("RIPEMD256WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
+ // algorithms.put("RIPEMD256WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
+ // END android-removed
|
|
algorithms.put("SHA1WITHDSA", X9ObjectIdentifiers.id_dsa_with_sha1);
|
|
algorithms.put("DSAWITHSHA1", X9ObjectIdentifiers.id_dsa_with_sha1);
|
|
algorithms.put("SHA224WITHDSA", NISTObjectIdentifiers.dsa_with_sha224);
|
|
@@ -76,22 +84,24 @@
|
|
algorithms.put("SHA256WITHECDSA", X9ObjectIdentifiers.ecdsa_with_SHA256);
|
|
algorithms.put("SHA384WITHECDSA", X9ObjectIdentifiers.ecdsa_with_SHA384);
|
|
algorithms.put("SHA512WITHECDSA", X9ObjectIdentifiers.ecdsa_with_SHA512);
|
|
- algorithms.put("GOST3411WITHGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
|
|
- algorithms.put("GOST3411WITHGOST3410-94", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
|
|
- algorithms.put("GOST3411WITHECGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
- algorithms.put("GOST3411WITHECGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
- algorithms.put("GOST3411WITHGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
- algorithms.put("SHA1WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA1);
|
|
- algorithms.put("SHA224WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA224);
|
|
- algorithms.put("SHA256WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA256);
|
|
- algorithms.put("SHA384WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA384);
|
|
- algorithms.put("SHA512WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA512);
|
|
- algorithms.put("RIPEMD160WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_RIPEMD160);
|
|
- algorithms.put("SHA1WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_1);
|
|
- algorithms.put("SHA224WITHPCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_224);
|
|
- algorithms.put("SHA256WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_256);
|
|
- algorithms.put("SHA384WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_384);
|
|
- algorithms.put("SHA512WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_512);
|
|
+ // BEGIN android-removed
|
|
+ // algorithms.put("GOST3411WITHGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
|
|
+ // algorithms.put("GOST3411WITHGOST3410-94", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
|
|
+ // algorithms.put("GOST3411WITHECGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
+ // algorithms.put("GOST3411WITHECGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
+ // algorithms.put("GOST3411WITHGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
+ // algorithms.put("SHA1WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA1);
|
|
+ // algorithms.put("SHA224WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA224);
|
|
+ // algorithms.put("SHA256WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA256);
|
|
+ // algorithms.put("SHA384WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA384);
|
|
+ // algorithms.put("SHA512WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_SHA512);
|
|
+ // algorithms.put("RIPEMD160WITHPLAIN-ECDSA", BSIObjectIdentifiers.ecdsa_plain_RIPEMD160);
|
|
+ // algorithms.put("SHA1WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_1);
|
|
+ // algorithms.put("SHA224WITHPCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_224);
|
|
+ // algorithms.put("SHA256WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_256);
|
|
+ // algorithms.put("SHA384WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_384);
|
|
+ // algorithms.put("SHA512WITHCVC-ECDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_512);
|
|
+ // END android-removed
|
|
//
|
|
// According to RFC 3279, the ASN.1 encoding SHALL (id-dsa-with-sha1) or MUST (ecdsa-with-SHA*) omit the parameters field.
|
|
// The parameters field SHALL be NULL for RSA based signature algorithms.
|
|
@@ -110,8 +120,10 @@
|
|
//
|
|
// RFC 4491
|
|
//
|
|
- noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
|
|
- noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
+ // BEGIN android-removed
|
|
+ // noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
|
|
+ // noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
|
|
+ // END android-removed
|
|
|
|
//
|
|
// PKCS 1.5 encrypted algorithms
|
|
@@ -121,9 +133,11 @@
|
|
pkcs15RsaEncryption.add(PKCSObjectIdentifiers.sha256WithRSAEncryption);
|
|
pkcs15RsaEncryption.add(PKCSObjectIdentifiers.sha384WithRSAEncryption);
|
|
pkcs15RsaEncryption.add(PKCSObjectIdentifiers.sha512WithRSAEncryption);
|
|
- pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
- pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
- pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
+ // BEGIN android-removed
|
|
+ // pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
|
|
+ // pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
|
|
+ // pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
|
|
+ // END android-removed
|
|
|
|
//
|
|
// explicit params
|
|
@@ -150,15 +164,19 @@
|
|
digestOids.put(PKCSObjectIdentifiers.sha256WithRSAEncryption, NISTObjectIdentifiers.id_sha256);
|
|
digestOids.put(PKCSObjectIdentifiers.sha384WithRSAEncryption, NISTObjectIdentifiers.id_sha384);
|
|
digestOids.put(PKCSObjectIdentifiers.sha512WithRSAEncryption, NISTObjectIdentifiers.id_sha512);
|
|
- digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
|
|
- digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
|
|
+ // BEGIN android-removed
|
|
+ // digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
|
|
+ // digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
|
|
+ // END android-removed
|
|
digestOids.put(PKCSObjectIdentifiers.md5WithRSAEncryption, PKCSObjectIdentifiers.md5);
|
|
digestOids.put(PKCSObjectIdentifiers.sha1WithRSAEncryption, OIWObjectIdentifiers.idSHA1);
|
|
- digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
|
|
- digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
|
|
- digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
|
|
- digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
|
|
- digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
|
|
+ // BEGIN android-removed
|
|
+ // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
|
|
+ // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
|
|
+ // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
|
|
+ // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
|
|
+ // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
|
|
+ // END android-removed
|
|
}
|
|
|
|
private static AlgorithmIdentifier generate(String signatureAlgorithm)
|
|
@@ -221,4 +239,4 @@
|
|
{
|
|
return generate(sigAlgName);
|
|
}
|
|
-}
|
|
\ No newline at end of file
|
|
+}
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java bcpkix-jdk15on-152/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java 2013-09-26 18:06:21.000000000 +0000
|
|
@@ -4,20 +4,26 @@
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
-import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// END android-removed
|
|
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
|
|
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
|
|
import org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
|
|
import org.bouncycastle.crypto.ExtendedDigest;
|
|
-import org.bouncycastle.crypto.digests.GOST3411Digest;
|
|
-import org.bouncycastle.crypto.digests.MD2Digest;
|
|
-import org.bouncycastle.crypto.digests.MD4Digest;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.crypto.digests.GOST3411Digest;
|
|
+// import org.bouncycastle.crypto.digests.MD2Digest;
|
|
+// import org.bouncycastle.crypto.digests.MD4Digest;
|
|
+// END android-removed
|
|
import org.bouncycastle.crypto.digests.MD5Digest;
|
|
-import org.bouncycastle.crypto.digests.RIPEMD128Digest;
|
|
-import org.bouncycastle.crypto.digests.RIPEMD160Digest;
|
|
-import org.bouncycastle.crypto.digests.RIPEMD256Digest;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.crypto.digests.RIPEMD128Digest;
|
|
+// import org.bouncycastle.crypto.digests.RIPEMD160Digest;
|
|
+// import org.bouncycastle.crypto.digests.RIPEMD256Digest;
|
|
+// END android-removed
|
|
import org.bouncycastle.crypto.digests.SHA1Digest;
|
|
import org.bouncycastle.crypto.digests.SHA224Digest;
|
|
import org.bouncycastle.crypto.digests.SHA256Digest;
|
|
@@ -76,48 +82,50 @@
|
|
return new MD5Digest();
|
|
}
|
|
});
|
|
- table.put(PKCSObjectIdentifiers.md4, new BcDigestProvider()
|
|
- {
|
|
- public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
- {
|
|
- return new MD4Digest();
|
|
- }
|
|
- });
|
|
- table.put(PKCSObjectIdentifiers.md2, new BcDigestProvider()
|
|
- {
|
|
- public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
- {
|
|
- return new MD2Digest();
|
|
- }
|
|
- });
|
|
- table.put(CryptoProObjectIdentifiers.gostR3411, new BcDigestProvider()
|
|
- {
|
|
- public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
- {
|
|
- return new GOST3411Digest();
|
|
- }
|
|
- });
|
|
- table.put(TeleTrusTObjectIdentifiers.ripemd128, new BcDigestProvider()
|
|
- {
|
|
- public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
- {
|
|
- return new RIPEMD128Digest();
|
|
- }
|
|
- });
|
|
- table.put(TeleTrusTObjectIdentifiers.ripemd160, new BcDigestProvider()
|
|
- {
|
|
- public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
- {
|
|
- return new RIPEMD160Digest();
|
|
- }
|
|
- });
|
|
- table.put(TeleTrusTObjectIdentifiers.ripemd256, new BcDigestProvider()
|
|
- {
|
|
- public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
- {
|
|
- return new RIPEMD256Digest();
|
|
- }
|
|
- });
|
|
+ // BEGIN android-removed
|
|
+ // table.put(PKCSObjectIdentifiers.md4, new BcDigestProvider()
|
|
+ // {
|
|
+ // public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
+ // {
|
|
+ // return new MD4Digest();
|
|
+ // }
|
|
+ // });
|
|
+ // table.put(PKCSObjectIdentifiers.md2, new BcDigestProvider()
|
|
+ // {
|
|
+ // public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
+ // {
|
|
+ // return new MD2Digest();
|
|
+ // }
|
|
+ // });
|
|
+ // table.put(CryptoProObjectIdentifiers.gostR3411, new BcDigestProvider()
|
|
+ // {
|
|
+ // public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
+ // {
|
|
+ // return new GOST3411Digest();
|
|
+ // }
|
|
+ // });
|
|
+ // table.put(TeleTrusTObjectIdentifiers.ripemd128, new BcDigestProvider()
|
|
+ // {
|
|
+ // public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
+ // {
|
|
+ // return new RIPEMD128Digest();
|
|
+ // }
|
|
+ // });
|
|
+ // table.put(TeleTrusTObjectIdentifiers.ripemd160, new BcDigestProvider()
|
|
+ // {
|
|
+ // public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
+ // {
|
|
+ // return new RIPEMD160Digest();
|
|
+ // }
|
|
+ // });
|
|
+ // table.put(TeleTrusTObjectIdentifiers.ripemd256, new BcDigestProvider()
|
|
+ // {
|
|
+ // public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
|
|
+ // {
|
|
+ // return new RIPEMD256Digest();
|
|
+ // }
|
|
+ // });
|
|
+ // END android-removed
|
|
|
|
return Collections.unmodifiableMap(table);
|
|
}
|
|
diff -Naur bcpkix-jdk15on-152.orig/org/bouncycastle/operator/jcajce/OperatorHelper.java bcpkix-jdk15on-152/org/bouncycastle/operator/jcajce/OperatorHelper.java
|
|
--- bcpkix-jdk15on-152.orig/org/bouncycastle/operator/jcajce/OperatorHelper.java 2015-03-01 12:03:46.000000000 +0000
|
|
+++ bcpkix-jdk15on-152/org/bouncycastle/operator/jcajce/OperatorHelper.java 2015-04-09 13:10:16.000000000 +0000
|
|
@@ -24,9 +24,11 @@
|
|
import org.bouncycastle.asn1.ASN1Encodable;
|
|
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
|
|
import org.bouncycastle.asn1.DERNull;
|
|
-import org.bouncycastle.asn1.bsi.BSIObjectIdentifiers;
|
|
-import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
-import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
|
|
+// BEGIN android-removed
|
|
+// import org.bouncycastle.asn1.bsi.BSIObjectIdentifiers;
|
|
+// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
|
|
+// import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
|
|
+// END android-removed
|
|
import org.bouncycastle.asn1.kisa.KISAObjectIdentifiers;
|
|
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
|
|
import org.bouncycastle.asn1.ntt.NTTObjectIdentifiers;
|
|
@@ -59,22 +61,26 @@
|
|
oids.put(PKCSObjectIdentifiers.sha256WithRSAEncryption, "SHA256WITHRSA");
|
|
oids.put(PKCSObjectIdentifiers.sha384WithRSAEncryption, "SHA384WITHRSA");
|
|
oids.put(PKCSObjectIdentifiers.sha512WithRSAEncryption, "SHA512WITHRSA");
|
|
- oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3411WITHGOST3410");
|
|
- oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "GOST3411WITHECGOST3410");
|
|
- oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA1, "SHA1WITHPLAIN-ECDSA");
|
|
- oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA224, "SHA224WITHPLAIN-ECDSA");
|
|
- oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA256, "SHA256WITHPLAIN-ECDSA");
|
|
- oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA384, "SHA384WITHPLAIN-ECDSA");
|
|
- oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA512, "SHA512WITHPLAIN-ECDSA");
|
|
- oids.put(BSIObjectIdentifiers.ecdsa_plain_RIPEMD160, "RIPEMD160WITHPLAIN-ECDSA");
|
|
- oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_1, "SHA1WITHCVC-ECDSA");
|
|
- oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_224, "SHA224WITHCVC-ECDSA");
|
|
- oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_256, "SHA256WITHCVC-ECDSA");
|
|
- oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_384, "SHA384WITHCVC-ECDSA");
|
|
- oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_512, "SHA512WITHCVC-ECDSA");
|
|
+ // BEGIN android-removed
|
|
+ // oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3411WITHGOST3410");
|
|
+ // oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "GOST3411WITHECGOST3410");
|
|
+ // oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA1, "SHA1WITHPLAIN-ECDSA");
|
|
+ // oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA224, "SHA224WITHPLAIN-ECDSA");
|
|
+ // oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA256, "SHA256WITHPLAIN-ECDSA");
|
|
+ // oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA384, "SHA384WITHPLAIN-ECDSA");
|
|
+ // oids.put(BSIObjectIdentifiers.ecdsa_plain_SHA512, "SHA512WITHPLAIN-ECDSA");
|
|
+ // oids.put(BSIObjectIdentifiers.ecdsa_plain_RIPEMD160, "RIPEMD160WITHPLAIN-ECDSA");
|
|
+ // oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_1, "SHA1WITHCVC-ECDSA");
|
|
+ // oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_224, "SHA224WITHCVC-ECDSA");
|
|
+ // oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_256, "SHA256WITHCVC-ECDSA");
|
|
+ // oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_384, "SHA384WITHCVC-ECDSA");
|
|
+ // oids.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_512, "SHA512WITHCVC-ECDSA");
|
|
+ // END android-removed
|
|
|
|
oids.put(new ASN1ObjectIdentifier("1.2.840.113549.1.1.4"), "MD5WITHRSA");
|
|
- oids.put(new ASN1ObjectIdentifier("1.2.840.113549.1.1.2"), "MD2WITHRSA");
|
|
+ // BEGIN android-removed
|
|
+ // oids.put(new ASN1ObjectIdentifier("1.2.840.113549.1.1.2"), "MD2WITHRSA");
|
|
+ // END android-removed
|
|
oids.put(new ASN1ObjectIdentifier("1.2.840.10040.4.3"), "SHA1WITHDSA");
|
|
oids.put(X9ObjectIdentifiers.ecdsa_with_SHA1, "SHA1WITHECDSA");
|
|
oids.put(X9ObjectIdentifiers.ecdsa_with_SHA224, "SHA224WITHECDSA");
|