Home | History | Annotate | Download | only in patches
      1 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSSignedData.java bcpkix-jdk15on-150/org/bouncycastle/cms/CMSSignedData.java
      2 --- bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSSignedData.java	2013-12-03 20:18:54.000000000 +0000
      3 +++ bcpkix-jdk15on-150/org/bouncycastle/cms/CMSSignedData.java	2013-12-12 00:35:05.000000000 +0000
      4 @@ -285,18 +285,20 @@
      5          return HELPER.getAttributeCertificates(signedData.getCertificates());
      6      }
      7  
      8 -    /**
      9 -     * Return any OtherRevocationInfo OtherRevInfo objects of the type indicated by otherRevocationInfoFormat in
     10 -     * this SignedData structure.
     11 -     *
     12 -     * @param otherRevocationInfoFormat OID of the format type been looked for.
     13 -     *
     14 -     * @return a Store of ASN1Encodable objects representing any objects of otherRevocationInfoFormat found.
     15 -     */
     16 -    public Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat)
     17 -    {
     18 -        return HELPER.getOtherRevocationInfo(otherRevocationInfoFormat, signedData.getCRLs());
     19 -    }
     20 +    // BEGIN android-removed
     21 +    // /**
     22 +    //  * Return any OtherRevocationInfo OtherRevInfo objects of the type indicated by otherRevocationInfoFormat in
     23 +    //  * this SignedData structure.
     24 +    //  *
     25 +    //  * @param otherRevocationInfoFormat OID of the format type been looked for.
     26 +    //  *
     27 +    //  * @return a Store of ASN1Encodable objects representing any objects of otherRevocationInfoFormat found.
     28 +    //  */
     29 +    // public Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat)
     30 +    // {
     31 +    //     return HELPER.getOtherRevocationInfo(otherRevocationInfoFormat, signedData.getCRLs());
     32 +    // }
     33 +    // END android-removed
     34  
     35      /**
     36       * Return the a string representation of the OID associated with the
     37 @@ -331,71 +333,73 @@
     38          return contentInfo.getEncoded();
     39      }
     40  
     41 -    /**
     42 -     * Verify all the SignerInformation objects and their associated counter signatures attached
     43 -     * to this CMS SignedData object.
     44 -     *
     45 -     * @param verifierProvider  a provider of SignerInformationVerifier objects.
     46 -     * @return true if all verify, false otherwise.
     47 -     * @throws CMSException  if an exception occurs during the verification process.
     48 -     */
     49 -    public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider)
     50 -        throws CMSException
     51 -    {
     52 -        return verifySignatures(verifierProvider, false);
     53 -    }
     54 -
     55 -    /**
     56 -     * Verify all the SignerInformation objects and optionally their associated counter signatures attached
     57 -     * to this CMS SignedData object.
     58 -     *
     59 -     * @param verifierProvider  a provider of SignerInformationVerifier objects.
     60 -     * @param ignoreCounterSignatures if true don't check counter signatures. If false check counter signatures as well.
     61 -     * @return true if all verify, false otherwise.
     62 -     * @throws CMSException  if an exception occurs during the verification process.
     63 -     */
     64 -    public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider, boolean ignoreCounterSignatures)
     65 -        throws CMSException
     66 -    {
     67 -        Collection signers = this.getSignerInfos().getSigners();
     68 -
     69 -        for (Iterator it = signers.iterator(); it.hasNext();)
     70 -        {
     71 -            SignerInformation signer = (SignerInformation)it.next();
     72 -
     73 -            try
     74 -            {
     75 -                SignerInformationVerifier verifier = verifierProvider.get(signer.getSID());
     76 -
     77 -                if (!signer.verify(verifier))
     78 -                {
     79 -                    return false;
     80 -                }
     81 -
     82 -                if (!ignoreCounterSignatures)
     83 -                {
     84 -                    Collection counterSigners = signer.getCounterSignatures().getSigners();
     85 -
     86 -                    for  (Iterator cIt = counterSigners.iterator(); cIt.hasNext();)
     87 -                    {
     88 -                        SignerInformation counterSigner = (SignerInformation)cIt.next();
     89 -                        SignerInformationVerifier counterVerifier = verifierProvider.get(signer.getSID());
     90 -
     91 -                        if (!counterSigner.verify(counterVerifier))
     92 -                        {
     93 -                            return false;
     94 -                        }
     95 -                    }
     96 -                }
     97 -            }
     98 -            catch (OperatorCreationException e)
     99 -            {
    100 -                throw new CMSException("failure in verifier provider: " + e.getMessage(), e);
    101 -            }
    102 -        }
    103 -
    104 -        return true;
    105 -    }
    106 +    // BEGIN android-removed
    107 +    // /**
    108 +    //  * Verify all the SignerInformation objects and their associated counter signatures attached
    109 +    //  * to this CMS SignedData object.
    110 +    //  *
    111 +    //  * @param verifierProvider  a provider of SignerInformationVerifier objects.
    112 +    //  * @return true if all verify, false otherwise.
    113 +    //  * @throws CMSException  if an exception occurs during the verification process.
    114 +    //  */
    115 +    // public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider)
    116 +    //     throws CMSException
    117 +    // {
    118 +    //     return verifySignatures(verifierProvider, false);
    119 +    // }
    120 +    //
    121 +    // /**
    122 +    //  * Verify all the SignerInformation objects and optionally their associated counter signatures attached
    123 +    //  * to this CMS SignedData object.
    124 +    //  *
    125 +    //  * @param verifierProvider  a provider of SignerInformationVerifier objects.
    126 +    //  * @param ignoreCounterSignatures if true don't check counter signatures. If false check counter signatures as well.
    127 +    //  * @return true if all verify, false otherwise.
    128 +    //  * @throws CMSException  if an exception occurs during the verification process.
    129 +    //  */
    130 +    // public boolean verifySignatures(SignerInformationVerifierProvider verifierProvider, boolean ignoreCounterSignatures)
    131 +    //     throws CMSException
    132 +    // {
    133 +    //     Collection signers = this.getSignerInfos().getSigners();
    134 +    //
    135 +    //     for (Iterator it = signers.iterator(); it.hasNext();)
    136 +    //     {
    137 +    //         SignerInformation signer = (SignerInformation)it.next();
    138 +    //
    139 +    //         try
    140 +    //         {
    141 +    //             SignerInformationVerifier verifier = verifierProvider.get(signer.getSID());
    142 +    //
    143 +    //             if (!signer.verify(verifier))
    144 +    //             {
    145 +    //                 return false;
    146 +    //             }
    147 +    //
    148 +    //             if (!ignoreCounterSignatures)
    149 +    //             {
    150 +    //                 Collection counterSigners = signer.getCounterSignatures().getSigners();
    151 +    //
    152 +    //                 for  (Iterator cIt = counterSigners.iterator(); cIt.hasNext();)
    153 +    //                 {
    154 +    //                     SignerInformation counterSigner = (SignerInformation)cIt.next();
    155 +    //                     SignerInformationVerifier counterVerifier = verifierProvider.get(signer.getSID());
    156 +    //
    157 +    //                     if (!counterSigner.verify(counterVerifier))
    158 +    //                     {
    159 +    //                         return false;
    160 +    //                     }
    161 +    //                 }
    162 +    //             }
    163 +    //         }
    164 +    //         catch (OperatorCreationException e)
    165 +    //         {
    166 +    //             throw new CMSException("failure in verifier provider: " + e.getMessage(), e);
    167 +    //         }
    168 +    //     }
    169 +    //
    170 +    //     return true;
    171 +    // }
    172 +    // END android-removed
    173  
    174      /**
    175       * Replace the SignerInformation store associated with this
    176 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSSignedGenerator.java bcpkix-jdk15on-150/org/bouncycastle/cms/CMSSignedGenerator.java
    177 --- bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSSignedGenerator.java	2013-12-03 20:18:54.000000000 +0000
    178 +++ bcpkix-jdk15on-150/org/bouncycastle/cms/CMSSignedGenerator.java	2013-12-12 00:35:05.000000000 +0000
    179 @@ -12,8 +12,10 @@
    180  import org.bouncycastle.asn1.ASN1ObjectIdentifier;
    181  import org.bouncycastle.asn1.DERTaggedObject;
    182  import org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
    183 -import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
    184 -import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    185 +// BEGIN android-removed
    186 +// import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
    187 +// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    188 +// END android-removed
    189  import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
    190  import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
    191  import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
    192 @@ -39,17 +41,21 @@
    193      public static final String  DIGEST_SHA384 = NISTObjectIdentifiers.id_sha384.getId();
    194      public static final String  DIGEST_SHA512 = NISTObjectIdentifiers.id_sha512.getId();
    195      public static final String  DIGEST_MD5 = PKCSObjectIdentifiers.md5.getId();
    196 -    public static final String  DIGEST_GOST3411 = CryptoProObjectIdentifiers.gostR3411.getId();
    197 -    public static final String  DIGEST_RIPEMD128 = TeleTrusTObjectIdentifiers.ripemd128.getId();
    198 -    public static final String  DIGEST_RIPEMD160 = TeleTrusTObjectIdentifiers.ripemd160.getId();
    199 -    public static final String  DIGEST_RIPEMD256 = TeleTrusTObjectIdentifiers.ripemd256.getId();
    200 +    // BEGIN android-removed
    201 +    // public static final String  DIGEST_GOST3411 = CryptoProObjectIdentifiers.gostR3411.getId();
    202 +    // public static final String  DIGEST_RIPEMD128 = TeleTrusTObjectIdentifiers.ripemd128.getId();
    203 +    // public static final String  DIGEST_RIPEMD160 = TeleTrusTObjectIdentifiers.ripemd160.getId();
    204 +    // public static final String  DIGEST_RIPEMD256 = TeleTrusTObjectIdentifiers.ripemd256.getId();
    205 +    // END android-removed
    206  
    207      public static final String  ENCRYPTION_RSA = PKCSObjectIdentifiers.rsaEncryption.getId();
    208      public static final String  ENCRYPTION_DSA = X9ObjectIdentifiers.id_dsa_with_sha1.getId();
    209      public static final String  ENCRYPTION_ECDSA = X9ObjectIdentifiers.ecdsa_with_SHA1.getId();
    210      public static final String  ENCRYPTION_RSA_PSS = PKCSObjectIdentifiers.id_RSASSA_PSS.getId();
    211 -    public static final String  ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94.getId();
    212 -    public static final String  ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001.getId();
    213 +    // BEGIN android-removed
    214 +    // public static final String  ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94.getId();
    215 +    // public static final String  ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001.getId();
    216 +    // END android-removed
    217  
    218      private static final String  ENCRYPTION_ECDSA_WITH_SHA1 = X9ObjectIdentifiers.ecdsa_with_SHA1.getId();
    219      private static final String  ENCRYPTION_ECDSA_WITH_SHA224 = X9ObjectIdentifiers.ecdsa_with_SHA224.getId();
    220 @@ -174,31 +180,33 @@
    221          certs.addAll(CMSUtils.getAttributeCertificatesFromStore(attrStore));
    222      }
    223  
    224 -    /**
    225 -     * Add a single instance of otherRevocationData to the CRL set to be included with the generated SignedData message.
    226 -     *
    227 -     * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
    228 -     * @param otherRevocationInfo the otherRevocationInfo ASN.1 structure.
    229 -     */
    230 -    public void addOtherRevocationInfo(
    231 -        ASN1ObjectIdentifier   otherRevocationInfoFormat,
    232 -        ASN1Encodable          otherRevocationInfo)
    233 -    {
    234 -        crls.add(new DERTaggedObject(false, 1, new OtherRevocationInfoFormat(otherRevocationInfoFormat, otherRevocationInfo)));
    235 -    }
    236 -
    237 -    /**
    238 -     * Add a Store of otherRevocationData to the CRL set to be included with the generated SignedData message.
    239 -     *
    240 -     * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
    241 -     * @param otherRevocationInfos a Store of otherRevocationInfo data to add.
    242 -     */
    243 -    public void addOtherRevocationInfo(
    244 -        ASN1ObjectIdentifier   otherRevocationInfoFormat,
    245 -        Store                  otherRevocationInfos)
    246 -    {
    247 -        crls.addAll(CMSUtils.getOthersFromStore(otherRevocationInfoFormat, otherRevocationInfos));
    248 -    }
    249 +    // BEGIN android-removed
    250 +    // /**
    251 +    //  * Add a single instance of otherRevocationData to the CRL set to be included with the generated SignedData message.
    252 +    //  *
    253 +    //  * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
    254 +    //  * @param otherRevocationInfo the otherRevocationInfo ASN.1 structure.
    255 +    //  */
    256 +    // public void addOtherRevocationInfo(
    257 +    //     ASN1ObjectIdentifier   otherRevocationInfoFormat,
    258 +    //     ASN1Encodable          otherRevocationInfo)
    259 +    // {
    260 +    //     crls.add(new DERTaggedObject(false, 1, new OtherRevocationInfoFormat(otherRevocationInfoFormat, otherRevocationInfo)));
    261 +    // }
    262 +    //
    263 +    // /**
    264 +    //  * Add a Store of otherRevocationData to the CRL set to be included with the generated SignedData message.
    265 +    //  *
    266 +    //  * @param otherRevocationInfoFormat the OID specifying the format of the otherRevocationInfo data.
    267 +    //  * @param otherRevocationInfos a Store of otherRevocationInfo data to add.
    268 +    //  */
    269 +    // public void addOtherRevocationInfo(
    270 +    //     ASN1ObjectIdentifier   otherRevocationInfoFormat,
    271 +    //     Store                  otherRevocationInfos)
    272 +    // {
    273 +    //     crls.addAll(CMSUtils.getOthersFromStore(otherRevocationInfoFormat, otherRevocationInfos));
    274 +    // }
    275 +    // END android-removed
    276  
    277      /**
    278       * Add a store of pre-calculated signers to the generator.
    279 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSSignedHelper.java bcpkix-jdk15on-150/org/bouncycastle/cms/CMSSignedHelper.java
    280 --- bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSSignedHelper.java	2013-12-03 20:18:54.000000000 +0000
    281 +++ bcpkix-jdk15on-150/org/bouncycastle/cms/CMSSignedHelper.java	2013-12-12 00:35:05.000000000 +0000
    282 @@ -13,8 +13,10 @@
    283  import org.bouncycastle.asn1.ASN1Set;
    284  import org.bouncycastle.asn1.ASN1TaggedObject;
    285  import org.bouncycastle.asn1.DERNull;
    286 -import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
    287 -import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    288 +// BEGIN android-removed
    289 +// import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
    290 +// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    291 +// END android-removed
    292  import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
    293  import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
    294  import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
    295 @@ -53,12 +55,16 @@
    296          addEntries(NISTObjectIdentifiers.dsa_with_sha384, "SHA384", "DSA");
    297          addEntries(NISTObjectIdentifiers.dsa_with_sha512, "SHA512", "DSA");
    298          addEntries(OIWObjectIdentifiers.dsaWithSHA1, "SHA1", "DSA");
    299 -        addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
    300 -        addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    301 +        // BEGIN android-removed
    302 +        // addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
    303 +        // addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    304 +        // END android-removed
    305          addEntries(OIWObjectIdentifiers.md5WithRSA, "MD5", "RSA");
    306          addEntries(OIWObjectIdentifiers.sha1WithRSA, "SHA1", "RSA");
    307 -        addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
    308 -        addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    309 +        // BEGIN android-removed
    310 +        // addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
    311 +        // addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    312 +        // END android-removed
    313          addEntries(PKCSObjectIdentifiers.md5WithRSAEncryption, "MD5", "RSA");
    314          addEntries(PKCSObjectIdentifiers.sha1WithRSAEncryption, "SHA1", "RSA");
    315          addEntries(PKCSObjectIdentifiers.sha224WithRSAEncryption, "SHA224", "RSA");
    316 @@ -85,27 +91,31 @@
    317          encryptionAlgs.put(PKCSObjectIdentifiers.rsaEncryption.getId(), "RSA");
    318          encryptionAlgs.put(TeleTrusTObjectIdentifiers.teleTrusTRSAsignatureAlgorithm, "RSA");
    319          encryptionAlgs.put(X509ObjectIdentifiers.id_ea_rsa.getId(), "RSA");
    320 -        encryptionAlgs.put(CMSSignedDataGenerator.ENCRYPTION_RSA_PSS, "RSAandMGF1");
    321 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94.getId(), "GOST3410");
    322 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001.getId(), "ECGOST3410");
    323 -        encryptionAlgs.put("1.3.6.1.4.1.5849.1.6.2", "ECGOST3410");
    324 -        encryptionAlgs.put("1.3.6.1.4.1.5849.1.1.5", "GOST3410");
    325 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001.getId(), "ECGOST3410");
    326 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94.getId(), "GOST3410");
    327 -
    328 -        digestAlgs.put(PKCSObjectIdentifiers.md2.getId(), "MD2");
    329 -        digestAlgs.put(PKCSObjectIdentifiers.md4.getId(), "MD4");
    330 +        // BEGIN android-removed
    331 +        // encryptionAlgs.put(CMSSignedDataGenerator.ENCRYPTION_RSA_PSS, "RSAandMGF1");
    332 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94.getId(), "GOST3410");
    333 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001.getId(), "ECGOST3410");
    334 +        // encryptionAlgs.put("1.3.6.1.4.1.5849.1.6.2", "ECGOST3410");
    335 +        // encryptionAlgs.put("1.3.6.1.4.1.5849.1.1.5", "GOST3410");
    336 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001.getId(), "ECGOST3410");
    337 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94.getId(), "GOST3410");
    338 +        //
    339 +        // digestAlgs.put(PKCSObjectIdentifiers.md2.getId(), "MD2");
    340 +        // digestAlgs.put(PKCSObjectIdentifiers.md4.getId(), "MD4");
    341 +        // END android-removed
    342          digestAlgs.put(PKCSObjectIdentifiers.md5.getId(), "MD5");
    343          digestAlgs.put(OIWObjectIdentifiers.idSHA1.getId(), "SHA1");
    344          digestAlgs.put(NISTObjectIdentifiers.id_sha224.getId(), "SHA224");
    345          digestAlgs.put(NISTObjectIdentifiers.id_sha256.getId(), "SHA256");
    346          digestAlgs.put(NISTObjectIdentifiers.id_sha384.getId(), "SHA384");
    347          digestAlgs.put(NISTObjectIdentifiers.id_sha512.getId(), "SHA512");
    348 -        digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128.getId(), "RIPEMD128");
    349 -        digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160.getId(), "RIPEMD160");
    350 -        digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256.getId(), "RIPEMD256");
    351 -        digestAlgs.put(CryptoProObjectIdentifiers.gostR3411.getId(),  "GOST3411");
    352 -        digestAlgs.put("1.3.6.1.4.1.5849.1.2.1",  "GOST3411");
    353 +        // BEGIN android-removed
    354 +        // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128.getId(), "RIPEMD128");
    355 +        // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160.getId(), "RIPEMD160");
    356 +        // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256.getId(), "RIPEMD256");
    357 +        // digestAlgs.put(CryptoProObjectIdentifiers.gostR3411.getId(),  "GOST3411");
    358 +        // digestAlgs.put("1.3.6.1.4.1.5849.1.2.1",  "GOST3411");
    359 +        // END android-removed
    360  
    361          digestAliases.put("SHA1", new String[] { "SHA-1" });
    362          digestAliases.put("SHA224", new String[] { "SHA-224" });
    363 @@ -219,35 +229,35 @@
    364          return new CollectionStore(new ArrayList());
    365      }
    366  
    367 -    Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat, ASN1Set crlSet)
    368 -    {
    369 -        if (crlSet != null)
    370 -        {
    371 -            List    crlList = new ArrayList(crlSet.size());
    372 -
    373 -            for (Enumeration en = crlSet.getObjects(); en.hasMoreElements();)
    374 -            {
    375 -                ASN1Primitive obj = ((ASN1Encodable)en.nextElement()).toASN1Primitive();
    376 -
    377 -                if (obj instanceof ASN1TaggedObject)
    378 -                {
    379 -                    ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(obj);
    380 -
    381 -                    if (tObj.getTagNo() == 1)
    382 -                    {
    383 -                        OtherRevocationInfoFormat other = OtherRevocationInfoFormat.getInstance(tObj, false);
    384 -
    385 -                        if (otherRevocationInfoFormat.equals(other.getInfoFormat()))
    386 -                        {
    387 -                            crlList.add(other.getInfo());
    388 -                        }
    389 -                    }
    390 -                }
    391 -            }
    392 -
    393 -            return new CollectionStore(crlList);
    394 -        }
    395 -
    396 -        return new CollectionStore(new ArrayList());
    397 -    }
    398 +    // Store getOtherRevocationInfo(ASN1ObjectIdentifier otherRevocationInfoFormat, ASN1Set crlSet)
    399 +    // {
    400 +    //     if (crlSet != null)
    401 +    //     {
    402 +    //         List    crlList = new ArrayList(crlSet.size());
    403 +    //
    404 +    //         for (Enumeration en = crlSet.getObjects(); en.hasMoreElements();)
    405 +    //         {
    406 +    //             ASN1Primitive obj = ((ASN1Encodable)en.nextElement()).toASN1Primitive();
    407 +    //
    408 +    //             if (obj instanceof ASN1TaggedObject)
    409 +    //             {
    410 +    //                 ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(obj);
    411 +    //
    412 +    //                 if (tObj.getTagNo() == 1)
    413 +    //                 {
    414 +    //                     OtherRevocationInfoFormat other = OtherRevocationInfoFormat.getInstance(tObj, false);
    415 +    //
    416 +    //                     if (otherRevocationInfoFormat.equals(other.getInfoFormat()))
    417 +    //                     {
    418 +    //                         crlList.add(other.getInfo());
    419 +    //                     }
    420 +    //                 }
    421 +    //             }
    422 +    //         }
    423 +    //
    424 +    //         return new CollectionStore(crlList);
    425 +    //     }
    426 +    //
    427 +    //     return new CollectionStore(new ArrayList());
    428 +    // }
    429  }
    430 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSUtils.java bcpkix-jdk15on-150/org/bouncycastle/cms/CMSUtils.java
    431 --- bcpkix-jdk15on-150.orig/org/bouncycastle/cms/CMSUtils.java	2013-12-03 20:18:54.000000000 +0000
    432 +++ bcpkix-jdk15on-150/org/bouncycastle/cms/CMSUtils.java	2013-12-12 00:35:05.000000000 +0000
    433 @@ -19,9 +19,11 @@
    434  import org.bouncycastle.asn1.DERTaggedObject;
    435  import org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
    436  import org.bouncycastle.asn1.cms.ContentInfo;
    437 -import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
    438 -import org.bouncycastle.asn1.ocsp.OCSPResponse;
    439 -import org.bouncycastle.asn1.ocsp.OCSPResponseStatus;
    440 +// BEGIN android-removed
    441 +// import org.bouncycastle.asn1.cms.OtherRevocationInfoFormat;
    442 +// import org.bouncycastle.asn1.ocsp.OCSPResponse;
    443 +// import org.bouncycastle.asn1.ocsp.OCSPResponseStatus;
    444 +// END android-removed
    445  import org.bouncycastle.cert.X509AttributeCertificateHolder;
    446  import org.bouncycastle.cert.X509CRLHolder;
    447  import org.bouncycastle.cert.X509CertificateHolder;
    448 @@ -116,29 +118,31 @@
    449          }
    450      }
    451  
    452 -    static Collection getOthersFromStore(ASN1ObjectIdentifier otherRevocationInfoFormat, Store otherRevocationInfos)
    453 -    {
    454 -        List others = new ArrayList();
    455 -
    456 -        for (Iterator it = otherRevocationInfos.getMatches(null).iterator(); it.hasNext();)
    457 -        {
    458 -            ASN1Encodable info = (ASN1Encodable)it.next();
    459 -
    460 -            if (CMSObjectIdentifiers.id_ri_ocsp_response.equals(otherRevocationInfoFormat))
    461 -            {
    462 -                OCSPResponse resp = OCSPResponse.getInstance(info);
    463 -
    464 -                if (resp.getResponseStatus().getValue().intValue() != OCSPResponseStatus.SUCCESSFUL)
    465 -                {
    466 -                    throw new IllegalArgumentException("cannot add unsuccessful OCSP response to CMS SignedData");
    467 -                }
    468 -            }
    469 -
    470 -            others.add(new DERTaggedObject(false, 1, new OtherRevocationInfoFormat(otherRevocationInfoFormat, info)));
    471 -        }
    472 -
    473 -        return others;
    474 -    }
    475 +    // BEGIN android-removed
    476 +    // static Collection getOthersFromStore(ASN1ObjectIdentifier otherRevocationInfoFormat, Store otherRevocationInfos)
    477 +    // {
    478 +    //     List others = new ArrayList();
    479 +    //
    480 +    //     for (Iterator it = otherRevocationInfos.getMatches(null).iterator(); it.hasNext();)
    481 +    //     {
    482 +    //         ASN1Encodable info = (ASN1Encodable)it.next();
    483 +    //
    484 +    //         if (CMSObjectIdentifiers.id_ri_ocsp_response.equals(otherRevocationInfoFormat))
    485 +    //         {
    486 +    //             OCSPResponse resp = OCSPResponse.getInstance(info);
    487 +    //
    488 +    //             if (resp.getResponseStatus().getValue().intValue() != OCSPResponseStatus.SUCCESSFUL)
    489 +    //             {
    490 +    //                 throw new IllegalArgumentException("cannot add unsuccessful OCSP response to CMS SignedData");
    491 +    //             }
    492 +    //         }
    493 +    //
    494 +    //         others.add(new DERTaggedObject(false, 1, new OtherRevocationInfoFormat(otherRevocationInfoFormat, info)));
    495 +    //     }
    496 +    //
    497 +    //     return others;
    498 +    // }
    499 +    // END android-removed
    500  
    501      static ASN1Set createBerSetFromList(List derObjects)
    502      {
    503 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java bcpkix-jdk15on-150/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java
    504 --- bcpkix-jdk15on-150.orig/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java	2013-12-03 20:18:54.000000000 +0000
    505 +++ bcpkix-jdk15on-150/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java	2013-09-26 18:06:21.000000000 +0000
    506 @@ -4,7 +4,9 @@
    507  import java.util.Map;
    508  
    509  import org.bouncycastle.asn1.ASN1ObjectIdentifier;
    510 -import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    511 +// BEGIN android-removed
    512 +// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    513 +// END android-removed
    514  import org.bouncycastle.asn1.eac.EACObjectIdentifiers;
    515  import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
    516  import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
    517 @@ -33,12 +35,16 @@
    518          addEntries(NISTObjectIdentifiers.dsa_with_sha384, "SHA384", "DSA");
    519          addEntries(NISTObjectIdentifiers.dsa_with_sha512, "SHA512", "DSA");
    520          addEntries(OIWObjectIdentifiers.dsaWithSHA1, "SHA1", "DSA");
    521 -        addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
    522 -        addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    523 +        // BEGIN android-removed
    524 +        // addEntries(OIWObjectIdentifiers.md4WithRSA, "MD4", "RSA");
    525 +        // addEntries(OIWObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    526 +        // END android-removed
    527          addEntries(OIWObjectIdentifiers.md5WithRSA, "MD5", "RSA");
    528          addEntries(OIWObjectIdentifiers.sha1WithRSA, "SHA1", "RSA");
    529 -        addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
    530 -        addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    531 +        // BEGIN android-removed
    532 +        // addEntries(PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2", "RSA");
    533 +        // addEntries(PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4", "RSA");
    534 +        // END android-removed
    535          addEntries(PKCSObjectIdentifiers.md5WithRSAEncryption, "MD5", "RSA");
    536          addEntries(PKCSObjectIdentifiers.sha1WithRSAEncryption, "SHA1", "RSA");
    537          addEntries(PKCSObjectIdentifiers.sha224WithRSAEncryption, "SHA224", "RSA");
    538 @@ -66,26 +72,30 @@
    539          encryptionAlgs.put(TeleTrusTObjectIdentifiers.teleTrusTRSAsignatureAlgorithm, "RSA");
    540          encryptionAlgs.put(X509ObjectIdentifiers.id_ea_rsa, "RSA");
    541          encryptionAlgs.put(PKCSObjectIdentifiers.id_RSASSA_PSS, "RSAandMGF1");
    542 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94, "GOST3410");
    543 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001, "ECGOST3410");
    544 -        encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.6.2"), "ECGOST3410");
    545 -        encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.1.5"), "GOST3410");
    546 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "ECGOST3410");
    547 -        encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3410");
    548 -
    549 -        digestAlgs.put(PKCSObjectIdentifiers.md2, "MD2");
    550 -        digestAlgs.put(PKCSObjectIdentifiers.md4, "MD4");
    551 +        // BEGIN android-removed
    552 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_94, "GOST3410");
    553 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3410_2001, "ECGOST3410");
    554 +        // encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.6.2"), "ECGOST3410");
    555 +        // encryptionAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.1.5"), "GOST3410");
    556 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "ECGOST3410");
    557 +        // encryptionAlgs.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3410");
    558 +        //
    559 +        // digestAlgs.put(PKCSObjectIdentifiers.md2, "MD2");
    560 +        // digestAlgs.put(PKCSObjectIdentifiers.md4, "MD4");
    561 +        // END android-removed
    562          digestAlgs.put(PKCSObjectIdentifiers.md5, "MD5");
    563          digestAlgs.put(OIWObjectIdentifiers.idSHA1, "SHA1");
    564          digestAlgs.put(NISTObjectIdentifiers.id_sha224, "SHA224");
    565          digestAlgs.put(NISTObjectIdentifiers.id_sha256, "SHA256");
    566          digestAlgs.put(NISTObjectIdentifiers.id_sha384, "SHA384");
    567          digestAlgs.put(NISTObjectIdentifiers.id_sha512, "SHA512");
    568 -        digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128, "RIPEMD128");
    569 -        digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160, "RIPEMD160");
    570 -        digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256, "RIPEMD256");
    571 -        digestAlgs.put(CryptoProObjectIdentifiers.gostR3411,  "GOST3411");
    572 -        digestAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.2.1"),  "GOST3411");
    573 +        // BEGIN android-removed
    574 +        // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd128, "RIPEMD128");
    575 +        // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd160, "RIPEMD160");
    576 +        // digestAlgs.put(TeleTrusTObjectIdentifiers.ripemd256, "RIPEMD256");
    577 +        // digestAlgs.put(CryptoProObjectIdentifiers.gostR3411,  "GOST3411");
    578 +        // digestAlgs.put(new ASN1ObjectIdentifier("1.3.6.1.4.1.5849.1.2.1"),  "GOST3411");
    579 +        // END android-removed
    580      }
    581  
    582      /**
    583 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java bcpkix-jdk15on-150/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java
    584 --- bcpkix-jdk15on-150.orig/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java	2013-12-03 20:18:54.000000000 +0000
    585 +++ bcpkix-jdk15on-150/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java	2013-09-26 18:06:21.000000000 +0000
    586 @@ -16,21 +16,27 @@
    587  
    588      static
    589      {
    590 -        RSA_PKCS1d5.add(PKCSObjectIdentifiers.md2WithRSAEncryption);
    591 -        RSA_PKCS1d5.add(PKCSObjectIdentifiers.md4WithRSAEncryption);
    592 +        // BEGIN android-removed
    593 +        // RSA_PKCS1d5.add(PKCSObjectIdentifiers.md2WithRSAEncryption);
    594 +        // RSA_PKCS1d5.add(PKCSObjectIdentifiers.md4WithRSAEncryption);
    595 +        // END android-removed
    596          RSA_PKCS1d5.add(PKCSObjectIdentifiers.md5WithRSAEncryption);
    597          RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha1WithRSAEncryption);
    598          RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha224WithRSAEncryption);
    599          RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha256WithRSAEncryption);
    600          RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha384WithRSAEncryption);
    601          RSA_PKCS1d5.add(PKCSObjectIdentifiers.sha512WithRSAEncryption);
    602 -        RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSAEncryption);
    603 -        RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSA);
    604 +        // BEGIN android-removed
    605 +        // RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSAEncryption);
    606 +        // RSA_PKCS1d5.add(OIWObjectIdentifiers.md4WithRSA);
    607 +        // END android-removed
    608          RSA_PKCS1d5.add(OIWObjectIdentifiers.md5WithRSA);
    609          RSA_PKCS1d5.add(OIWObjectIdentifiers.sha1WithRSA);
    610 -        RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    611 -        RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    612 -        RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    613 +        // BEGIN android-removed
    614 +        // RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    615 +        // RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    616 +        // RSA_PKCS1d5.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    617 +        // END android-removed
    618      }
    619  
    620      public AlgorithmIdentifier findEncryptionAlgorithm(AlgorithmIdentifier signatureAlgorithm)
    621 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java bcpkix-jdk15on-150/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java
    622 --- bcpkix-jdk15on-150.orig/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java	2013-12-03 20:18:54.000000000 +0000
    623 +++ bcpkix-jdk15on-150/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java	2013-09-26 18:06:21.000000000 +0000
    624 @@ -5,7 +5,9 @@
    625  
    626  import org.bouncycastle.asn1.ASN1ObjectIdentifier;
    627  import org.bouncycastle.asn1.DERNull;
    628 -import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    629 +// BEGIN android-removed
    630 +// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    631 +// END android-removed
    632  import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
    633  import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
    634  import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
    635 @@ -25,16 +27,20 @@
    636          //
    637          // digests
    638          //
    639 -        digestOids.put(OIWObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
    640 -        digestOids.put(OIWObjectIdentifiers.md4WithRSA, PKCSObjectIdentifiers.md4);
    641 +        // BEGIN android-removed
    642 +        // digestOids.put(OIWObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
    643 +        // digestOids.put(OIWObjectIdentifiers.md4WithRSA, PKCSObjectIdentifiers.md4);
    644 +        // END android-removed
    645          digestOids.put(OIWObjectIdentifiers.sha1WithRSA, OIWObjectIdentifiers.idSHA1);
    646  
    647          digestOids.put(PKCSObjectIdentifiers.sha224WithRSAEncryption, NISTObjectIdentifiers.id_sha224);
    648          digestOids.put(PKCSObjectIdentifiers.sha256WithRSAEncryption, NISTObjectIdentifiers.id_sha256);
    649          digestOids.put(PKCSObjectIdentifiers.sha384WithRSAEncryption, NISTObjectIdentifiers.id_sha384);
    650          digestOids.put(PKCSObjectIdentifiers.sha512WithRSAEncryption, NISTObjectIdentifiers.id_sha512);
    651 -        digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
    652 -        digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
    653 +        // BEGIN android-removed
    654 +        // digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
    655 +        // digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
    656 +        // END android-removed
    657          digestOids.put(PKCSObjectIdentifiers.md5WithRSAEncryption, PKCSObjectIdentifiers.md5);
    658          digestOids.put(PKCSObjectIdentifiers.sha1WithRSAEncryption, OIWObjectIdentifiers.idSHA1);
    659  
    660 @@ -50,12 +56,14 @@
    661          digestOids.put(NISTObjectIdentifiers.dsa_with_sha384, NISTObjectIdentifiers.id_sha384);
    662          digestOids.put(NISTObjectIdentifiers.dsa_with_sha512, NISTObjectIdentifiers.id_sha512);
    663  
    664 -        digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
    665 -        digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
    666 -        digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
    667 -
    668 -        digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
    669 -        digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
    670 +        // BEGIN android-removed
    671 +        // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
    672 +        // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
    673 +        // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
    674 +        //
    675 +        // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
    676 +        // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
    677 +        // END android-removed
    678  
    679          digestNameToOids.put("SHA-1", OIWObjectIdentifiers.idSHA1);
    680          digestNameToOids.put("SHA-224", NISTObjectIdentifiers.id_sha224);
    681 @@ -63,15 +71,19 @@
    682          digestNameToOids.put("SHA-384", NISTObjectIdentifiers.id_sha384);
    683          digestNameToOids.put("SHA-512", NISTObjectIdentifiers.id_sha512);
    684  
    685 -        digestNameToOids.put("GOST3411", CryptoProObjectIdentifiers.gostR3411);
    686 -
    687 -        digestNameToOids.put("MD2", PKCSObjectIdentifiers.md2);
    688 -        digestNameToOids.put("MD4", PKCSObjectIdentifiers.md4);
    689 +        // BEGIN android-removed
    690 +        // digestNameToOids.put("GOST3411", CryptoProObjectIdentifiers.gostR3411);
    691 +        //
    692 +        // digestNameToOids.put("MD2", PKCSObjectIdentifiers.md2);
    693 +        // digestNameToOids.put("MD4", PKCSObjectIdentifiers.md4);
    694 +        // END android-removed
    695          digestNameToOids.put("MD5", PKCSObjectIdentifiers.md5);
    696  
    697 -        digestNameToOids.put("RIPEMD128", TeleTrusTObjectIdentifiers.ripemd128);
    698 -        digestNameToOids.put("RIPEMD160", TeleTrusTObjectIdentifiers.ripemd160);
    699 -        digestNameToOids.put("RIPEMD256", TeleTrusTObjectIdentifiers.ripemd256);
    700 +        // BEGIN android-removed
    701 +        // digestNameToOids.put("RIPEMD128", TeleTrusTObjectIdentifiers.ripemd128);
    702 +        // digestNameToOids.put("RIPEMD160", TeleTrusTObjectIdentifiers.ripemd160);
    703 +        // digestNameToOids.put("RIPEMD256", TeleTrusTObjectIdentifiers.ripemd256);
    704 +        // END android-removed
    705      }
    706  
    707      public AlgorithmIdentifier find(AlgorithmIdentifier sigAlgId)
    708 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java bcpkix-jdk15on-150/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java
    709 --- bcpkix-jdk15on-150.orig/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java	2013-12-03 20:18:54.000000000 +0000
    710 +++ bcpkix-jdk15on-150/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java	2013-09-26 18:06:21.000000000 +0000
    711 @@ -9,7 +9,9 @@
    712  import org.bouncycastle.asn1.ASN1Integer;
    713  import org.bouncycastle.asn1.ASN1ObjectIdentifier;
    714  import org.bouncycastle.asn1.DERNull;
    715 -import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    716 +// BEGIN android-removed
    717 +// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    718 +// END android-removed
    719  import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
    720  import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
    721  import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
    722 @@ -32,13 +34,17 @@
    723      private static final ASN1ObjectIdentifier ENCRYPTION_DSA = X9ObjectIdentifiers.id_dsa_with_sha1;
    724      private static final ASN1ObjectIdentifier ENCRYPTION_ECDSA = X9ObjectIdentifiers.ecdsa_with_SHA1;
    725      private static final ASN1ObjectIdentifier ENCRYPTION_RSA_PSS = PKCSObjectIdentifiers.id_RSASSA_PSS;
    726 -    private static final ASN1ObjectIdentifier ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94;
    727 -    private static final ASN1ObjectIdentifier ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001;
    728 +    // BEGIN android-removed
    729 +    // private static final ASN1ObjectIdentifier ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.gostR3410_94;
    730 +    // private static final ASN1ObjectIdentifier ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.gostR3410_2001;
    731 +    // END android-removed
    732  
    733      static
    734      {
    735 -        algorithms.put("MD2WITHRSAENCRYPTION", PKCSObjectIdentifiers.md2WithRSAEncryption);
    736 -        algorithms.put("MD2WITHRSA", PKCSObjectIdentifiers.md2WithRSAEncryption);
    737 +        // BEGIN android-removed
    738 +        // algorithms.put("MD2WITHRSAENCRYPTION", PKCSObjectIdentifiers.md2WithRSAEncryption);
    739 +        // algorithms.put("MD2WITHRSA", PKCSObjectIdentifiers.md2WithRSAEncryption);
    740 +        // END android-removed
    741          algorithms.put("MD5WITHRSAENCRYPTION", PKCSObjectIdentifiers.md5WithRSAEncryption);
    742          algorithms.put("MD5WITHRSA", PKCSObjectIdentifiers.md5WithRSAEncryption);
    743          algorithms.put("SHA1WITHRSAENCRYPTION", PKCSObjectIdentifiers.sha1WithRSAEncryption);
    744 @@ -56,12 +62,14 @@
    745          algorithms.put("SHA256WITHRSAANDMGF1", PKCSObjectIdentifiers.id_RSASSA_PSS);
    746          algorithms.put("SHA384WITHRSAANDMGF1", PKCSObjectIdentifiers.id_RSASSA_PSS);
    747          algorithms.put("SHA512WITHRSAANDMGF1", PKCSObjectIdentifiers.id_RSASSA_PSS);
    748 -        algorithms.put("RIPEMD160WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    749 -        algorithms.put("RIPEMD160WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    750 -        algorithms.put("RIPEMD128WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    751 -        algorithms.put("RIPEMD128WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    752 -        algorithms.put("RIPEMD256WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    753 -        algorithms.put("RIPEMD256WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    754 +        // BEGIN android-removed
    755 +        // algorithms.put("RIPEMD160WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    756 +        // algorithms.put("RIPEMD160WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    757 +        // algorithms.put("RIPEMD128WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    758 +        // algorithms.put("RIPEMD128WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    759 +        // algorithms.put("RIPEMD256WITHRSAENCRYPTION", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    760 +        // algorithms.put("RIPEMD256WITHRSA", TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    761 +        // END android-removed
    762          algorithms.put("SHA1WITHDSA", X9ObjectIdentifiers.id_dsa_with_sha1);
    763          algorithms.put("DSAWITHSHA1", X9ObjectIdentifiers.id_dsa_with_sha1);
    764          algorithms.put("SHA224WITHDSA", NISTObjectIdentifiers.dsa_with_sha224);
    765 @@ -74,11 +82,13 @@
    766          algorithms.put("SHA256WITHECDSA", X9ObjectIdentifiers.ecdsa_with_SHA256);
    767          algorithms.put("SHA384WITHECDSA", X9ObjectIdentifiers.ecdsa_with_SHA384);
    768          algorithms.put("SHA512WITHECDSA", X9ObjectIdentifiers.ecdsa_with_SHA512);
    769 -        algorithms.put("GOST3411WITHGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
    770 -        algorithms.put("GOST3411WITHGOST3410-94", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
    771 -        algorithms.put("GOST3411WITHECGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    772 -        algorithms.put("GOST3411WITHECGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    773 -        algorithms.put("GOST3411WITHGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    774 +        // BEGIN android-removed
    775 +        // algorithms.put("GOST3411WITHGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
    776 +        // algorithms.put("GOST3411WITHGOST3410-94", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
    777 +        // algorithms.put("GOST3411WITHECGOST3410", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    778 +        // algorithms.put("GOST3411WITHECGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    779 +        // algorithms.put("GOST3411WITHGOST3410-2001", CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    780 +        // END android-removed
    781                 
    782          //
    783          // According to RFC 3279, the ASN.1 encoding SHALL (id-dsa-with-sha1) or MUST (ecdsa-with-SHA*) omit the parameters field.
    784 @@ -98,8 +108,10 @@
    785          //
    786          // RFC 4491
    787          //
    788 -        noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
    789 -        noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    790 +        // BEGIN android-removed
    791 +        // noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94);
    792 +        // noParams.add(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001);
    793 +        // END android-removed
    794  
    795          //
    796          // PKCS 1.5 encrypted  algorithms
    797 @@ -109,9 +121,11 @@
    798          pkcs15RsaEncryption.add(PKCSObjectIdentifiers.sha256WithRSAEncryption);
    799          pkcs15RsaEncryption.add(PKCSObjectIdentifiers.sha384WithRSAEncryption);
    800          pkcs15RsaEncryption.add(PKCSObjectIdentifiers.sha512WithRSAEncryption);
    801 -        pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    802 -        pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    803 -        pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    804 +        // BEGIN android-removed
    805 +        // pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128);
    806 +        // pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160);
    807 +        // pkcs15RsaEncryption.add(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256);
    808 +        // END android-removed
    809  
    810          //
    811          // explicit params
    812 @@ -138,15 +152,19 @@
    813          digestOids.put(PKCSObjectIdentifiers.sha256WithRSAEncryption, NISTObjectIdentifiers.id_sha256);
    814          digestOids.put(PKCSObjectIdentifiers.sha384WithRSAEncryption, NISTObjectIdentifiers.id_sha384);
    815          digestOids.put(PKCSObjectIdentifiers.sha512WithRSAEncryption, NISTObjectIdentifiers.id_sha512);
    816 -        digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
    817 -        digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
    818 +        // BEGIN android-removed
    819 +        // digestOids.put(PKCSObjectIdentifiers.md2WithRSAEncryption, PKCSObjectIdentifiers.md2);
    820 +        // digestOids.put(PKCSObjectIdentifiers.md4WithRSAEncryption, PKCSObjectIdentifiers.md4);
    821 +        // END android-removed
    822          digestOids.put(PKCSObjectIdentifiers.md5WithRSAEncryption, PKCSObjectIdentifiers.md5);
    823          digestOids.put(PKCSObjectIdentifiers.sha1WithRSAEncryption, OIWObjectIdentifiers.idSHA1);
    824 -        digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
    825 -        digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
    826 -        digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
    827 -        digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
    828 -        digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
    829 +        // BEGIN android-removed
    830 +        // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd128, TeleTrusTObjectIdentifiers.ripemd128);
    831 +        // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd160, TeleTrusTObjectIdentifiers.ripemd160);
    832 +        // digestOids.put(TeleTrusTObjectIdentifiers.rsaSignatureWithripemd256, TeleTrusTObjectIdentifiers.ripemd256);
    833 +        // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, CryptoProObjectIdentifiers.gostR3411);
    834 +        // digestOids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, CryptoProObjectIdentifiers.gostR3411);
    835 +        // END android-removed
    836      }
    837  
    838      private static AlgorithmIdentifier generate(String signatureAlgorithm)
    839 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java bcpkix-jdk15on-150/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java
    840 --- bcpkix-jdk15on-150.orig/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java	2013-12-03 20:18:54.000000000 +0000
    841 +++ bcpkix-jdk15on-150/org/bouncycastle/operator/bc/BcDefaultDigestProvider.java	2013-09-26 18:06:21.000000000 +0000
    842 @@ -4,20 +4,26 @@
    843  import java.util.HashMap;
    844  import java.util.Map;
    845  
    846 -import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    847 +// BEGIN android-removed
    848 +// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    849 +// END android-removed
    850  import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
    851  import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
    852  import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
    853  import org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers;
    854  import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
    855  import org.bouncycastle.crypto.ExtendedDigest;
    856 -import org.bouncycastle.crypto.digests.GOST3411Digest;
    857 -import org.bouncycastle.crypto.digests.MD2Digest;
    858 -import org.bouncycastle.crypto.digests.MD4Digest;
    859 +// BEGIN android-removed
    860 +// import org.bouncycastle.crypto.digests.GOST3411Digest;
    861 +// import org.bouncycastle.crypto.digests.MD2Digest;
    862 +// import org.bouncycastle.crypto.digests.MD4Digest;
    863 +// END android-removed
    864  import org.bouncycastle.crypto.digests.MD5Digest;
    865 -import org.bouncycastle.crypto.digests.RIPEMD128Digest;
    866 -import org.bouncycastle.crypto.digests.RIPEMD160Digest;
    867 -import org.bouncycastle.crypto.digests.RIPEMD256Digest;
    868 +// BEGIN android-removed
    869 +// import org.bouncycastle.crypto.digests.RIPEMD128Digest;
    870 +// import org.bouncycastle.crypto.digests.RIPEMD160Digest;
    871 +// import org.bouncycastle.crypto.digests.RIPEMD256Digest;
    872 +// END android-removed
    873  import org.bouncycastle.crypto.digests.SHA1Digest;
    874  import org.bouncycastle.crypto.digests.SHA224Digest;
    875  import org.bouncycastle.crypto.digests.SHA256Digest;
    876 @@ -76,48 +82,50 @@
    877                  return new MD5Digest();
    878              }
    879          });
    880 -        table.put(PKCSObjectIdentifiers.md4, new BcDigestProvider()
    881 -        {
    882 -            public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    883 -            {
    884 -                return new MD4Digest();
    885 -            }
    886 -        });
    887 -        table.put(PKCSObjectIdentifiers.md2, new BcDigestProvider()
    888 -        {
    889 -            public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    890 -            {
    891 -                return new MD2Digest();
    892 -            }
    893 -        });
    894 -        table.put(CryptoProObjectIdentifiers.gostR3411, new BcDigestProvider()
    895 -        {
    896 -            public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    897 -            {
    898 -                return new GOST3411Digest();
    899 -            }
    900 -        });
    901 -        table.put(TeleTrusTObjectIdentifiers.ripemd128, new BcDigestProvider()
    902 -        {
    903 -            public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    904 -            {
    905 -                return new RIPEMD128Digest();
    906 -            }
    907 -        });
    908 -        table.put(TeleTrusTObjectIdentifiers.ripemd160, new BcDigestProvider()
    909 -        {
    910 -            public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    911 -            {
    912 -                return new RIPEMD160Digest();
    913 -            }
    914 -        });
    915 -        table.put(TeleTrusTObjectIdentifiers.ripemd256, new BcDigestProvider()
    916 -        {
    917 -            public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    918 -            {
    919 -                return new RIPEMD256Digest();
    920 -            }
    921 -        });
    922 +        // BEGIN android-removed
    923 +        // table.put(PKCSObjectIdentifiers.md4, new BcDigestProvider()
    924 +        // {
    925 +        //     public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    926 +        //     {
    927 +        //         return new MD4Digest();
    928 +        //     }
    929 +        // });
    930 +        // table.put(PKCSObjectIdentifiers.md2, new BcDigestProvider()
    931 +        // {
    932 +        //     public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    933 +        //     {
    934 +        //         return new MD2Digest();
    935 +        //     }
    936 +        // });
    937 +        // table.put(CryptoProObjectIdentifiers.gostR3411, new BcDigestProvider()
    938 +        // {
    939 +        //     public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    940 +        //     {
    941 +        //         return new GOST3411Digest();
    942 +        //     }
    943 +        // });
    944 +        // table.put(TeleTrusTObjectIdentifiers.ripemd128, new BcDigestProvider()
    945 +        // {
    946 +        //     public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    947 +        //     {
    948 +        //         return new RIPEMD128Digest();
    949 +        //     }
    950 +        // });
    951 +        // table.put(TeleTrusTObjectIdentifiers.ripemd160, new BcDigestProvider()
    952 +        // {
    953 +        //     public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    954 +        //     {
    955 +        //         return new RIPEMD160Digest();
    956 +        //     }
    957 +        // });
    958 +        // table.put(TeleTrusTObjectIdentifiers.ripemd256, new BcDigestProvider()
    959 +        // {
    960 +        //     public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier)
    961 +        //     {
    962 +        //         return new RIPEMD256Digest();
    963 +        //     }
    964 +        // });
    965 +        // END android-removed
    966  
    967          return Collections.unmodifiableMap(table);
    968      }
    969 diff -Naur bcpkix-jdk15on-150.orig/org/bouncycastle/operator/jcajce/OperatorHelper.java bcpkix-jdk15on-150/org/bouncycastle/operator/jcajce/OperatorHelper.java
    970 --- bcpkix-jdk15on-150.orig/org/bouncycastle/operator/jcajce/OperatorHelper.java	2013-12-03 20:18:54.000000000 +0000
    971 +++ bcpkix-jdk15on-150/org/bouncycastle/operator/jcajce/OperatorHelper.java	2013-12-12 00:35:05.000000000 +0000
    972 @@ -24,7 +24,9 @@
    973  import org.bouncycastle.asn1.ASN1Encodable;
    974  import org.bouncycastle.asn1.ASN1ObjectIdentifier;
    975  import org.bouncycastle.asn1.DERNull;
    976 -import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    977 +// BEGIN android-removed
    978 +// import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
    979 +// END android-removed
    980  import org.bouncycastle.asn1.kisa.KISAObjectIdentifiers;
    981  import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
    982  import org.bouncycastle.asn1.ntt.NTTObjectIdentifiers;
    983 @@ -57,11 +59,15 @@
    984          oids.put(PKCSObjectIdentifiers.sha256WithRSAEncryption, "SHA256WITHRSA");
    985          oids.put(PKCSObjectIdentifiers.sha384WithRSAEncryption, "SHA384WITHRSA");
    986          oids.put(PKCSObjectIdentifiers.sha512WithRSAEncryption, "SHA512WITHRSA");
    987 -        oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3411WITHGOST3410");
    988 -        oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "GOST3411WITHECGOST3410");
    989 +        // BEGIN android-removed
    990 +        // oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3411WITHGOST3410");
    991 +        // oids.put(CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "GOST3411WITHECGOST3410");
    992 +        // END android-removed
    993  
    994          oids.put(new ASN1ObjectIdentifier("1.2.840.113549.1.1.4"), "MD5WITHRSA");
    995 -        oids.put(new ASN1ObjectIdentifier("1.2.840.113549.1.1.2"), "MD2WITHRSA");
    996 +        // BEGIN android-removed
    997 +        // oids.put(new ASN1ObjectIdentifier("1.2.840.113549.1.1.2"), "MD2WITHRSA");
    998 +        // END android-removed
    999          oids.put(new ASN1ObjectIdentifier("1.2.840.10040.4.3"), "SHA1WITHDSA");
   1000          oids.put(X9ObjectIdentifiers.ecdsa_with_SHA1, "SHA1WITHECDSA");
   1001          oids.put(X9ObjectIdentifiers.ecdsa_with_SHA224, "SHA224WITHECDSA");
   1002 @@ -362,22 +368,24 @@
   1003          {
   1004              return "SHA512";
   1005          }
   1006 -        else if (TeleTrusTObjectIdentifiers.ripemd128.equals(digestAlgOID))
   1007 -        {
   1008 -            return "RIPEMD128";
   1009 -        }
   1010 -        else if (TeleTrusTObjectIdentifiers.ripemd160.equals(digestAlgOID))
   1011 -        {
   1012 -            return "RIPEMD160";
   1013 -        }
   1014 -        else if (TeleTrusTObjectIdentifiers.ripemd256.equals(digestAlgOID))
   1015 -        {
   1016 -            return "RIPEMD256";
   1017 -        }
   1018 -        else if (CryptoProObjectIdentifiers.gostR3411.equals(digestAlgOID))
   1019 -        {
   1020 -            return "GOST3411";
   1021 -        }
   1022 +        // BEGIN android-removed
   1023 +        // else if (TeleTrusTObjectIdentifiers.ripemd128.equals(digestAlgOID))
   1024 +        // {
   1025 +        //     return "RIPEMD128";
   1026 +        // }
   1027 +        // else if (TeleTrusTObjectIdentifiers.ripemd160.equals(digestAlgOID))
   1028 +        // {
   1029 +        //     return "RIPEMD160";
   1030 +        // }
   1031 +        // else if (TeleTrusTObjectIdentifiers.ripemd256.equals(digestAlgOID))
   1032 +        // {
   1033 +        //     return "RIPEMD256";
   1034 +        // }
   1035 +        // else if (CryptoProObjectIdentifiers.gostR3411.equals(digestAlgOID))
   1036 +        // {
   1037 +        //     return "GOST3411";
   1038 +        // }
   1039 +        // END android-removed
   1040          else
   1041          {
   1042              return digestAlgOID.getId();
   1043