BouncyCastleProvider.java revision 2932648271e72bad181b293e1fa5945265c7dbed
1package org.bouncycastle.jce.provider; 2 3import java.security.Provider; 4 5import org.bouncycastle.asn1.DERObjectIdentifier; 6import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers; 7import org.bouncycastle.asn1.nist.NISTObjectIdentifiers; 8import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers; 9import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers; 10import org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers; 11import org.bouncycastle.asn1.x9.X9ObjectIdentifiers; 12import org.bouncycastle.asn1.iana.IANAObjectIdentifiers; 13 14/** 15 * To add the provider at runtime use: 16 * <pre> 17 * import java.security.Security; 18 * import org.bouncycastle.jce.provider.BouncyCastleProvider; 19 * 20 * Security.addProvider(new BouncyCastleProvider()); 21 * </pre> 22 * The provider can also be configured as part of your environment via 23 * static registration by adding an entry to the java.security properties 24 * file (found in $JAVA_HOME/jre/lib/security/java.security, where 25 * $JAVA_HOME is the location of your JDK/JRE distribution). You'll find 26 * detailed instructions in the file but basically it comes down to adding 27 * a line: 28 * <pre> 29 * <code> 30 * security.provider.<n>=org.bouncycastle.jce.provider.BouncyCastleProvider 31 * </code> 32 * </pre> 33 * Where <n> is the preference you want the provider at (1 being the 34 * most prefered). 35 * <p>Note: JCE algorithm names should be uppercase only so the case insensitive 36 * test for getInstance works. 37 */ 38public final class BouncyCastleProvider extends Provider 39{ 40 private static String info = "BouncyCastle Security Provider v1.34"; 41 42 public static String PROVIDER_NAME = "BC"; 43 44 /** 45 * Construct a new provider. This should only be required when 46 * using runtime registration of the provider using the 47 * <code>Security.addProvider()</code> mechanism. 48 */ 49 public BouncyCastleProvider() 50 { 51 super(PROVIDER_NAME, 1.34, info); 52 53 // 54 // KeyStore 55 // 56 put("KeyStore.BKS", "org.bouncycastle.jce.provider.JDKKeyStore"); 57 put("KeyStore.BouncyCastle", "org.bouncycastle.jce.provider.JDKKeyStore$BouncyCastleStore"); 58 put("KeyStore.PKCS12", "org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore"); 59 put("KeyStore.BCPKCS12", "org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore"); 60 put("KeyStore.PKCS12-DEF", "org.bouncycastle.jce.provider.JDKPKCS12KeyStore$DefPKCS12KeyStore"); 61 put("Alg.Alias.KeyStore.UBER", "BouncyCastle"); 62 put("Alg.Alias.KeyStore.BOUNCYCASTLE", "BouncyCastle"); 63 put("Alg.Alias.KeyStore.bouncycastle", "BouncyCastle"); 64 65 // 66 // certificate factories. 67 // 68 put("CertificateFactory.X.509", "org.bouncycastle.jce.provider.JDKX509CertificateFactory"); 69 put("Alg.Alias.CertificateFactory.X509", "X.509"); 70 71 // 72 // algorithm parameter generators 73 // 74 put("AlgorithmParameterGenerator.DH", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$DH"); 75 put("AlgorithmParameterGenerator.DSA", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$DSA"); 76 // BEGIN android-removed 77 // put("AlgorithmParameterGenerator.GOST3410", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$GOST3410"); 78 // put("AlgorithmParameterGenerator.ELGAMAL", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$ElGamal"); 79 // END android-removed 80 put("AlgorithmParameterGenerator.DES", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$DES"); 81 put("AlgorithmParameterGenerator.DESEDE", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$DES"); 82 put("AlgorithmParameterGenerator.1.2.840.113549.3.7", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$DES"); 83 put("AlgorithmParameterGenerator.1.3.14.3.2.7", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$DES"); 84 // BEGIN android-removed 85 // put("AlgorithmParameterGenerator.IDEA", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$IDEA"); 86 // put("AlgorithmParameterGenerator.1.3.6.1.4.1.188.7.1.1.2", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$IDEA"); 87 // put("AlgorithmParameterGenerator.RC2", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2"); 88 // put("AlgorithmParameterGenerator.1.2.840.113549.3.2", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2"); 89 // put("AlgorithmParameterGenerator.CAST5", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$CAST5"); 90 // put("AlgorithmParameterGenerator.1.2.840.113533.7.66.10", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$CAST5"); 91 // END android-removed 92 put("AlgorithmParameterGenerator.AES", "org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$AES"); 93 put("Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.2", "AES"); // these first 3 are wrong, but seem to have got around 94 put("Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.22", "AES"); 95 put("Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.42", "AES"); 96 put("Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.1.2", "AES"); 97 put("Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.1.22", "AES"); 98 put("Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.1.42", "AES"); 99 // BEGIN android-removed 100 // put("Alg.Alias.AlgorithmParameterGenerator.GOST-3410", "GOST3410"); 101 // END android-removed 102 103 // 104 // algorithm parameters 105 // 106 put("AlgorithmParameters.OAEP", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$OAEP"); 107 put("AlgorithmParameters.PSS", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$PSS"); 108 put("AlgorithmParameters.DH", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$DH"); 109 put("AlgorithmParameters.DSA", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$DSA"); 110 // BEGIN android-removed 111 // put("AlgorithmParameters.ELGAMAL", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal"); 112 // END android-removed 113 put("AlgorithmParameters.IES", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IES"); 114 put("AlgorithmParameters.PKCS12PBE", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$PKCS12PBE"); 115 // BEGIN android-removed 116 // double entry 117 // put("AlgorithmParameters.1.2.840.113549.3.7", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 118 // END android-removed 119 // BEGIN android-removed 120 // put("AlgorithmParameters.IDEA", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IDEAAlgorithmParameters"); 121 // put("AlgorithmParameters.1.3.6.1.4.1.188.7.1.1.2", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IDEAAlgorithmParameters"); 122 // put("AlgorithmParameters.CAST5", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$CAST5AlgorithmParameters"); 123 // put("AlgorithmParameters.1.2.840.113533.7.66.10", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$CAST5AlgorithmParameters"); 124 // put("AlgorithmParameters.GOST3410", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$GOST3410"); 125 // put("Alg.Alias.AlgorithmParameters.GOST-3410", "GOST3410"); 126 // END android-removed 127 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA1ANDRC2", "PKCS12PBE"); 128 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND3-KEYTRIPLEDES", "PKCS12PBE"); 129 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND2-KEYTRIPLEDES", "PKCS12PBE"); 130 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDRC2", "PKCS12PBE"); 131 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDRC4", "PKCS12PBE"); 132 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDTWOFISH", "PKCS12PBE"); 133 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDIDEA", "PKCS12PBE"); 134 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA1ANDRC2-CBC", "PKCS12PBE"); 135 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND3-KEYTRIPLEDES-CBC", "PKCS12PBE"); 136 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND2-KEYTRIPLEDES-CBC", "PKCS12PBE"); 137 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDDES3KEY-CBC", "PKCS12PBE"); 138 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDDES2KEY-CBC", "PKCS12PBE"); 139 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND40BITRC2-CBC", "PKCS12PBE"); 140 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND40BITRC4", "PKCS12PBE"); 141 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND128BITRC2-CBC", "PKCS12PBE"); 142 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND128BITRC4", "PKCS12PBE"); 143 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDTWOFISH", "PKCS12PBE"); 144 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAANDIDEA", "PKCS12PBE"); 145 put("Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.1", "PKCS12PBE"); 146 put("Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.2", "PKCS12PBE"); 147 put("Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.3", "PKCS12PBE"); 148 put("Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.4", "PKCS12PBE"); 149 put("Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.5", "PKCS12PBE"); 150 put("Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.6", "PKCS12PBE"); 151 put("Alg.Alias.AlgorithmParameters.PBEWithSHAAnd3KeyTripleDES", "PKCS12PBE"); 152 put("Alg.Alias.AlgorithmParameters." + PKCSObjectIdentifiers.id_RSAES_OAEP, "OAEP"); 153 154 put("Alg.Alias.AlgorithmParameters." + PKCSObjectIdentifiers.id_RSASSA_PSS, "PSS"); 155 put("Alg.Alias.AlgorithmParameters.SHA1WITHRSAANDMGF1", "PSS"); 156 put("Alg.Alias.AlgorithmParameters.SHA224WITHRSAANDMGF1", "PSS"); 157 put("Alg.Alias.AlgorithmParameters.SHA256WITHRSAANDMGF1", "PSS"); 158 put("Alg.Alias.AlgorithmParameters.SHA384WITHRSAANDMGF1", "PSS"); 159 put("Alg.Alias.AlgorithmParameters.SHA512WITHRSAANDMGF1", "PSS"); 160 161 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND128BITAES-CBC-BC", "PKCS12PBE"); 162 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND192BITAES-CBC-BC", "PKCS12PBE"); 163 put("Alg.Alias.AlgorithmParameters.PBEWITHSHAAND256BITAES-CBC-BC", "PKCS12PBE"); 164 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA256AND128BITAES-CBC-BC", "PKCS12PBE"); 165 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA256AND192BITAES-CBC-BC", "PKCS12PBE"); 166 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA256AND256BITAES-CBC-BC", "PKCS12PBE"); 167 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA1AND128BITAES-CBC-BC","PKCS12PBE"); 168 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA1AND192BITAES-CBC-BC","PKCS12PBE"); 169 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA1AND256BITAES-CBC-BC","PKCS12PBE"); 170 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA-1AND128BITAES-CBC-BC","PKCS12PBE"); 171 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA-1AND192BITAES-CBC-BC","PKCS12PBE"); 172 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA-1AND256BITAES-CBC-BC","PKCS12PBE"); 173 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA-256AND128BITAES-CBC-BC","PKCS12PBE"); 174 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA-256AND192BITAES-CBC-BC","PKCS12PBE"); 175 put("Alg.Alias.AlgorithmParameters.PBEWITHSHA-256AND256BITAES-CBC-BC","PKCS12PBE"); 176 177 // BEGIN android-removed 178 // put("AlgorithmParameters.SHA1WITHECDSA", "org.bouncycastle.jce.provider.JDKECDSAAlgParameters$SigAlgParameters"); 179 // put("AlgorithmParameters.SHA224WITHECDSA", "org.bouncycastle.jce.provider.JDKECDSAAlgParameters$SigAlgParameters"); 180 // put("AlgorithmParameters.SHA256WITHECDSA", "org.bouncycastle.jce.provider.JDKECDSAAlgParameters$SigAlgParameters"); 181 // put("AlgorithmParameters.SHA384WITHECDSA", "org.bouncycastle.jce.provider.JDKECDSAAlgParameters$SigAlgParameters"); 182 // put("AlgorithmParameters.SHA512WITHECDSA", "org.bouncycastle.jce.provider.JDKECDSAAlgParameters$SigAlgParameters"); 183 // END android-removed 184 185 // 186 // key agreement 187 // 188 put("KeyAgreement.DH", "org.bouncycastle.jce.provider.JCEDHKeyAgreement"); 189 // BEGIN android-removed 190 // put("KeyAgreement.ECDH", "org.bouncycastle.jce.provider.JCEECDHKeyAgreement$DH"); 191 // put("KeyAgreement.ECDHC", "org.bouncycastle.jce.provider.JCEECDHKeyAgreement$DHC"); 192 // END android-removed 193 194 // 195 // cipher engines 196 // 197 put("Cipher.DES", "org.bouncycastle.jce.provider.JCEBlockCipher$DES"); 198 put("Cipher.DESEDE", "org.bouncycastle.jce.provider.JCEBlockCipher$DESede"); 199 put("Cipher.1.2.840.113549.3.7", "org.bouncycastle.jce.provider.JCEBlockCipher$DESedeCBC"); 200 put("Cipher.1.3.14.3.2.7", "org.bouncycastle.jce.provider.JCEBlockCipher$DESCBC"); 201 put("Cipher.DESEDEWRAP", "org.bouncycastle.jce.provider.WrapCipherSpi$DESEDEWrap"); 202 put("Cipher.1.2.840.113549.1.9.16.3.6", "org.bouncycastle.jce.provider.WrapCipherSpi$DESEDEWrap"); 203 // BEGIN android-removed 204 // put("Cipher.SKIPJACK", "org.bouncycastle.jce.provider.JCEBlockCipher$Skipjack"); 205 // put("Cipher.BLOWFISH", "org.bouncycastle.jce.provider.JCEBlockCipher$Blowfish"); 206 // put("Cipher.TWOFISH", "org.bouncycastle.jce.provider.JCEBlockCipher$Twofish"); 207 // put("Cipher.RC2", "org.bouncycastle.jce.provider.JCEBlockCipher$RC2"); 208 // put("Cipher.RC2WRAP", "org.bouncycastle.jce.provider.WrapCipherSpi$RC2Wrap"); 209 // put("Cipher.1.2.840.113549.1.9.16.3.7", "org.bouncycastle.jce.provider.WrapCipherSpi$RC2Wrap"); 210 // put("Cipher.ARC4", "org.bouncycastle.jce.provider.JCEStreamCipher$RC4"); 211 // put("Alg.Alias.Cipher.1.2.840.113549.3.4", "ARC4"); 212 // put("Alg.Alias.Cipher.ARCFOUR", "ARC4"); 213 // put("Alg.Alias.Cipher.RC4", "ARC4"); 214 // put("Cipher.RC5", "org.bouncycastle.jce.provider.JCEBlockCipher$RC5"); 215 // put("Cipher.1.2.840.113549.3.2", "org.bouncycastle.jce.provider.JCEBlockCipher$RC2CBC"); 216 // put("Alg.Alias.Cipher.RC5-32", "RC5"); 217 // put("Cipher.RC5-64", "org.bouncycastle.jce.provider.JCEBlockCipher$RC564"); 218 // put("Cipher.RC6", "org.bouncycastle.jce.provider.JCEBlockCipher$RC6"); 219 // AES uses some functionality from Rijdael perhaps ... 220 // put("Cipher.RIJNDAEL", "org.bouncycastle.jce.provider.JCEBlockCipher$Rijndael"); 221 // END android-removed 222 put("Cipher.AES", "org.bouncycastle.jce.provider.JCEBlockCipher$AES"); 223 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.2", "AES"); 224 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.22", "AES"); 225 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.42", "AES"); 226 put("Cipher." + NISTObjectIdentifiers.id_aes128_ECB, "org.bouncycastle.jce.provider.JCEBlockCipher$AES"); 227 put("Cipher." + NISTObjectIdentifiers.id_aes192_ECB, "org.bouncycastle.jce.provider.JCEBlockCipher$AES"); 228 put("Cipher." + NISTObjectIdentifiers.id_aes256_ECB, "org.bouncycastle.jce.provider.JCEBlockCipher$AES"); 229 put("Cipher." + NISTObjectIdentifiers.id_aes128_CBC, "org.bouncycastle.jce.provider.JCEBlockCipher$AESCBC"); 230 put("Cipher." + NISTObjectIdentifiers.id_aes192_CBC, "org.bouncycastle.jce.provider.JCEBlockCipher$AESCBC"); 231 put("Cipher." + NISTObjectIdentifiers.id_aes256_CBC, "org.bouncycastle.jce.provider.JCEBlockCipher$AESCBC"); 232 put("Cipher." + NISTObjectIdentifiers.id_aes128_OFB, "org.bouncycastle.jce.provider.JCEBlockCipher$AESOFB"); 233 put("Cipher." + NISTObjectIdentifiers.id_aes192_OFB, "org.bouncycastle.jce.provider.JCEBlockCipher$AESOFB"); 234 put("Cipher." + NISTObjectIdentifiers.id_aes256_OFB, "org.bouncycastle.jce.provider.JCEBlockCipher$AESOFB"); 235 put("Cipher." + NISTObjectIdentifiers.id_aes128_CFB, "org.bouncycastle.jce.provider.JCEBlockCipher$AESCFB"); 236 put("Cipher." + NISTObjectIdentifiers.id_aes192_CFB, "org.bouncycastle.jce.provider.JCEBlockCipher$AESCFB"); 237 put("Cipher." + NISTObjectIdentifiers.id_aes256_CFB, "org.bouncycastle.jce.provider.JCEBlockCipher$AESCFB"); 238 put("Cipher.AESWRAP", "org.bouncycastle.jce.provider.WrapCipherSpi$AESWrap"); 239 put("Alg.Alias.Cipher." + NISTObjectIdentifiers.id_aes128_wrap, "AESWRAP"); 240 put("Alg.Alias.Cipher." + NISTObjectIdentifiers.id_aes192_wrap, "AESWRAP"); 241 put("Alg.Alias.Cipher." + NISTObjectIdentifiers.id_aes256_wrap, "AESWRAP"); 242 243 // BEGIN android-removed 244 // put("Cipher.SERPENT", "org.bouncycastle.jce.provider.JCEBlockCipher$Serpent"); 245 // put("Cipher.CAMELLIA", "org.bouncycastle.jce.provider.JCEBlockCipher$Camellia"); 246 // put("Cipher.CAST5", "org.bouncycastle.jce.provider.JCEBlockCipher$CAST5"); 247 // put("Cipher.1.2.840.113533.7.66.10", "org.bouncycastle.jce.provider.JCEBlockCipher$CAST5CBC"); 248 // put("Cipher.CAST6", "org.bouncycastle.jce.provider.JCEBlockCipher$CAST6"); 249 // put("Cipher.IDEA", "org.bouncycastle.jce.provider.JCEBlockCipher$IDEA"); 250 // put("Cipher.1.3.6.1.4.1.188.7.1.1.2", "org.bouncycastle.jce.provider.JCEBlockCipher$IDEACBC"); 251 // END android-removed 252 put("Alg.Alias.Cipher.PBEWithSHAAnd3KeyTripleDES", "PBEWITHSHAAND3-KEYTRIPLEDES-CBC"); 253 254 // BEGIN android-removed 255 // put("Cipher.GOST28147", "org.bouncycastle.jce.provider.JCEBlockCipher$GOST28147"); 256 // put("Alg.Alias.Cipher.GOST", "GOST28147"); 257 // put("Alg.Alias.Cipher.GOST-28147", "GOST28147"); 258 259 // put("Cipher." + CryptoProObjectIdentifiers.gostR28147_cbc, "org.bouncycastle.jce.provider.JCEBlockCipher$GOST28147cbc"); 260 261 // put("Cipher.DES/CFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$DES_CFB8"); 262 // put("Cipher.DESEDE/CFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$DESede_CFB8"); 263 // put("Cipher.SKIPJACK/CFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$Skipjack_CFB8"); 264 // put("Cipher.BLOWFISH/CFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$Blowfish_CFB8"); 265 // put("Cipher.TWOFISH/CFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$Twofish_CFB8"); 266 // put("Cipher.IDEA/CFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$IDEA_CFB8"); 267 268 // put("Alg.Alias.Cipher.DES/CFB8/NOPADDING", "DES/CFB8"); 269 // put("Alg.Alias.Cipher.DESEDE/CFB8/NOPADDING", "DESEDE/CFB8"); 270 // put("Alg.Alias.Cipher.SKIPJACK/CFB8/NOPADDING", "SKIPJACK/CFB8"); 271 // put("Alg.Alias.Cipher.BLOWFISH/CFB8/NOPADDING", "Blowfish/CFB8"); 272 // put("Alg.Alias.Cipher.TWOFISH/CFB8/NOPADDING", "Twofish/CFB8"); 273 // put("Alg.Alias.Cipher.IDEA/CFB8/NOPADDING", "IDEA/CFB8"); 274 275 // put("Cipher.DES/OFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$DES_OFB8"); 276 // put("Cipher.DESEDE/OFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$DESede_OFB8"); 277 // put("Cipher.SKIPJACK/OFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$Skipjack_OFB8"); 278 // put("Cipher.BLOWFISH/OFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$Blowfish_OFB8"); 279 // put("Cipher.TWOFISH/OFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$Twofish_OFB8"); 280 // put("Cipher.IDEA/OFB8", "org.bouncycastle.jce.provider.JCEStreamCipher$IDEA_OFB8"); 281 282 // put("Alg.Alias.Cipher.DES/OFB8/NOPADDING", "DES/OFB8"); 283 // put("Alg.Alias.Cipher.DESEDE/OFB8/NOPADDING", "DESEDE/OFB8"); 284 // put("Alg.Alias.Cipher.SKIPJACK/OFB8/NOPADDING", "SKIPJACK/OFB8"); 285 // put("Alg.Alias.Cipher.BLOWFISH/OFB8/NOPADDING", "BLOWFISH/OFB8"); 286 // put("Alg.Alias.Cipher.TWOFISH/OFB8/NOPADDING", "TWOFISH/OFB8"); 287 // put("Alg.Alias.Cipher.IDEA/OFB8/NOPADDING", "IDEA/OFB8"); 288 // END android-removed 289 290 put("Cipher.RSA", "org.bouncycastle.jce.provider.JCERSACipher$NoPadding"); 291 put("Cipher.RSA/RAW", "org.bouncycastle.jce.provider.JCERSACipher$NoPadding"); 292 put("Cipher.RSA/PKCS1", "org.bouncycastle.jce.provider.JCERSACipher$PKCS1v1_5Padding"); 293 put("Cipher.1.2.840.113549.1.1.1", "org.bouncycastle.jce.provider.JCERSACipher$PKCS1v1_5Padding"); 294 put("Cipher.2.5.8.1.1", "org.bouncycastle.jce.provider.JCERSACipher$PKCS1v1_5Padding"); 295 put("Cipher.RSA/1", "org.bouncycastle.jce.provider.JCERSACipher$PKCS1v1_5Padding_PrivateOnly"); 296 put("Cipher.RSA/2", "org.bouncycastle.jce.provider.JCERSACipher$PKCS1v1_5Padding_PublicOnly"); 297 put("Cipher.RSA/OAEP", "org.bouncycastle.jce.provider.JCERSACipher$OAEPPadding"); 298 put("Cipher.1.2.840.113549.1.1.7", "org.bouncycastle.jce.provider.JCERSACipher$OAEPPadding"); 299 put("Cipher.RSA/ISO9796-1", "org.bouncycastle.jce.provider.JCERSACipher$ISO9796d1Padding"); 300 301 // BEGIN android-removed 302 // put("Cipher.ECIES", "org.bouncycastle.jce.provider.JCEIESCipher$ECIES"); 303 // put("Cipher.BrokenECIES", "org.bouncycastle.jce.provider.JCEIESCipher$BrokenECIES"); 304 // END android-removed 305 put("Cipher.IES", "org.bouncycastle.jce.provider.JCEIESCipher$IES"); 306 put("Cipher.BrokenIES", "org.bouncycastle.jce.provider.JCEIESCipher$BrokenIES"); 307 // BEGIN android-removed 308 // put("Cipher.ELGAMAL", "org.bouncycastle.jce.provider.JCEElGamalCipher$NoPadding"); 309 // put("Cipher.ELGAMAL/PKCS1", "org.bouncycastle.jce.provider.JCEElGamalCipher$PKCS1v1_5Padding"); 310 // END android-removed 311 312 put("Alg.Alias.Cipher.RSA//RAW", "RSA"); 313 put("Alg.Alias.Cipher.RSA//NOPADDING", "RSA"); 314 put("Alg.Alias.Cipher.RSA//PKCS1PADDING", "RSA/PKCS1"); 315 put("Alg.Alias.Cipher.RSA//OAEPPADDING", "RSA/OAEP"); 316 put("Alg.Alias.Cipher.RSA//ISO9796-1PADDING", "RSA/ISO9796-1"); 317 318 // BEGIN android-removed 319 // put("Alg.Alias.Cipher.ELGAMAL/ECB/PKCS1PADDING", "ELGAMAL/PKCS1"); 320 // put("Alg.Alias.Cipher.ELGAMAL/NONE/PKCS1PADDING", "ELGAMAL/PKCS1"); 321 // put("Alg.Alias.Cipher.ELGAMAL/NONE/NOPADDING", "ELGAMAL"); 322 // END android-removed 323 324 put("Cipher.PBEWITHMD5ANDDES", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithMD5AndDES"); 325 put("Cipher.BROKENPBEWITHMD5ANDDES", "org.bouncycastle.jce.provider.BrokenJCEBlockCipher$BrokePBEWithMD5AndDES"); 326 put("Cipher.PBEWITHMD5ANDRC2", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithMD5AndRC2"); 327 put("Cipher.PBEWITHSHA1ANDDES", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHA1AndDES"); 328 put("Cipher.BROKENPBEWITHSHA1ANDDES", "org.bouncycastle.jce.provider.BrokenJCEBlockCipher$BrokePBEWithSHA1AndDES"); 329 // BEGIN android-removed 330 // put("Cipher.PBEWITHSHA1ANDRC2", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHA1AndRC2"); 331 // END android-removed 332 put("Cipher.PBEWITHSHAAND3-KEYTRIPLEDES-CBC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHAAndDES3Key"); 333 put("Cipher.BROKENPBEWITHSHAAND3-KEYTRIPLEDES-CBC", "org.bouncycastle.jce.provider.BrokenJCEBlockCipher$BrokePBEWithSHAAndDES3Key"); 334 put("Cipher.OLDPBEWITHSHAAND3-KEYTRIPLEDES-CBC", "org.bouncycastle.jce.provider.BrokenJCEBlockCipher$OldPBEWithSHAAndDES3Key"); 335 put("Cipher.PBEWITHSHAAND2-KEYTRIPLEDES-CBC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHAAndDES2Key"); 336 put("Cipher.BROKENPBEWITHSHAAND2-KEYTRIPLEDES-CBC", "org.bouncycastle.jce.provider.BrokenJCEBlockCipher$BrokePBEWithSHAAndDES2Key"); 337 // BEGIN android-removed 338 // put("Cipher.PBEWITHSHAAND128BITRC2-CBC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHAAnd128BitRC2"); 339 // END android-removed 340 put("Cipher.PBEWITHSHAAND40BITRC2-CBC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHAAnd40BitRC2"); 341 // BEGIN android-removed 342 // put("Cipher.PBEWITHSHAAND128BITRC4", "org.bouncycastle.jce.provider.JCEStreamCipher$PBEWithSHAAnd128BitRC4"); 343 // put("Cipher.PBEWITHSHAAND40BITRC4", "org.bouncycastle.jce.provider.JCEStreamCipher$PBEWithSHAAnd40BitRC4"); 344 // END android-removed 345 346 put("Cipher.PBEWITHSHAAND128BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 347 put("Cipher.PBEWITHSHAAND192BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 348 put("Cipher.PBEWITHSHAAND256BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 349 350 put("Alg.Alias.Cipher.PBEWITHSHA1AND3-KEYTRIPLEDES-CBC", "Cipher.PBEWITHSHAAND3-KEYTRIPLEDES-CBC"); 351 put("Alg.Alias.Cipher.PBEWITHSHA1AND2-KEYTRIPLEDES-CBC", "Cipher.PBEWITHSHAAND2-KEYTRIPLEDES-CBC"); 352 // BEGIN android-removed 353 // put("Alg.Alias.Cipher.PBEWITHSHA1AND128BITRC2-CBC", "Cipher.PBEWITHSHAAND128BITRC2-CBC"); 354 // END android-removed 355 put("Alg.Alias.Cipher.PBEWITHSHA1AND40BITRC2-CBC", "Cipher.PBEWITHSHAAND40BITRC2-CBC"); 356 // BEGIN android-removed 357 // put("Alg.Alias.Cipher.PBEWITHSHA1AND128BITRC4", "Cipher.PBEWITHSHAAND128BITRC4"); 358 // put("Alg.Alias.Cipher.PBEWITHSHA1AND40BITRC4", "Cipher.PBEWITHSHAAND40BITRC4"); 359 // END android-removed 360 361 put("Cipher.PBEWITHSHAAND128BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 362 put("Cipher.PBEWITHSHAAND192BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 363 put("Cipher.PBEWITHSHAAND256BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 364 put("Cipher.PBEWITHSHA256AND128BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 365 put("Cipher.PBEWITHSHA256AND192BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 366 put("Cipher.PBEWITHSHA256AND256BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 367 put("Alg.Alias.Cipher.PBEWITHSHA1AND128BITAES-CBC-BC","PBEWITHSHAAND128BITAES-CBC-BC"); 368 put("Alg.Alias.Cipher.PBEWITHSHA1AND192BITAES-CBC-BC","PBEWITHSHAAND192BITAES-CBC-BC"); 369 put("Alg.Alias.Cipher.PBEWITHSHA1AND256BITAES-CBC-BC","PBEWITHSHAAND256BITAES-CBC-BC"); 370 put("Alg.Alias.Cipher.PBEWITHSHA-1AND128BITAES-CBC-BC","PBEWITHSHAAND128BITAES-CBC-BC"); 371 put("Alg.Alias.Cipher.PBEWITHSHA-1AND192BITAES-CBC-BC","PBEWITHSHAAND192BITAES-CBC-BC"); 372 put("Alg.Alias.Cipher.PBEWITHSHA-1AND256BITAES-CBC-BC","PBEWITHSHAAND256BITAES-CBC-BC"); 373 put("Alg.Alias.Cipher.PBEWITHSHA-256AND128BITAES-CBC-BC","PBEWITHSHA256AND128BITAES-CBC-BC"); 374 put("Alg.Alias.Cipher.PBEWITHSHA-256AND192BITAES-CBC-BC","PBEWITHSHA256AND192BITAES-CBC-BC"); 375 put("Alg.Alias.Cipher.PBEWITHSHA-256AND256BITAES-CBC-BC","PBEWITHSHA256AND256BITAES-CBC-BC"); 376 377 put("Cipher.PBEWITHMD5AND128BITAES-CBC-OPENSSL", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 378 put("Cipher.PBEWITHMD5AND192BITAES-CBC-OPENSSL", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 379 put("Cipher.PBEWITHMD5AND256BITAES-CBC-OPENSSL", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithAESCBC"); 380 381 // BEGIN android-removed 382 // put("Cipher.PBEWITHSHAANDTWOFISH-CBC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHAAndTwofish"); 383 // put("Cipher.OLDPBEWITHSHAANDTWOFISH-CBC", "org.bouncycastle.jce.provider.BrokenJCEBlockCipher$OldPBEWithSHAAndTwofish"); 384 // put("Cipher.PBEWITHSHAANDIDEA-CBC", "org.bouncycastle.jce.provider.JCEBlockCipher$PBEWithSHAAndIDEA"); 385 // 386 // put("Alg.Alias.Cipher.1.2.840.113549.1.12.1.1", "PBEWITHSHAAND128BITRC4"); 387 // put("Alg.Alias.Cipher.1.2.840.113549.1.12.1.2", "PBEWITHSHAAND40BITRC4"); 388 // END android-removed 389 put("Alg.Alias.Cipher.1.2.840.113549.1.12.1.3", "PBEWITHSHAAND3-KEYTRIPLEDES-CBC"); 390 put("Alg.Alias.Cipher.1.2.840.113549.1.12.1.4", "PBEWITHSHAAND2-KEYTRIPLEDES-CBC"); 391 // BEGIN android-removed 392 // put("Alg.Alias.Cipher.1.2.840.113549.1.12.1.5", "PBEWITHSHAAND128BITRC2-CBC"); 393 // END android-removed 394 put("Alg.Alias.Cipher.1.2.840.113549.1.12.1.6", "PBEWITHSHAAND40BITRC2-CBC"); 395 put("Alg.Alias.Cipher.PBEWITHSHA1ANDDESEDE", "PBEWITHSHAAND3-KEYTRIPLEDES-CBC"); 396 // 397 // key generators. 398 // 399 put("KeyGenerator.DES", "org.bouncycastle.jce.provider.JCEKeyGenerator$DES"); 400 put("Alg.Alias.KeyGenerator.1.3.14.3.2.7", "DES"); 401 put("KeyGenerator.DESEDE", "org.bouncycastle.jce.provider.JCEKeyGenerator$DESede"); 402 put("KeyGenerator.1.2.840.113549.3.7", "org.bouncycastle.jce.provider.JCEKeyGenerator$DESede3"); 403 put("KeyGenerator.DESEDEWRAP", "org.bouncycastle.jce.provider.JCEKeyGenerator$DESede"); 404 // BEGIN android-removed 405 // put("KeyGenerator.SKIPJACK", "org.bouncycastle.jce.provider.JCEKeyGenerator$Skipjack"); 406 // put("KeyGenerator.BLOWFISH", "org.bouncycastle.jce.provider.JCEKeyGenerator$Blowfish"); 407 // put("KeyGenerator.TWOFISH", "org.bouncycastle.jce.provider.JCEKeyGenerator$Twofish"); 408 // put("KeyGenerator.RC2", "org.bouncycastle.jce.provider.JCEKeyGenerator$RC2"); 409 // put("KeyGenerator.1.2.840.113549.3.2", "org.bouncycastle.jce.provider.JCEKeyGenerator$RC2"); 410 // put("KeyGenerator.RC4", "org.bouncycastle.jce.provider.JCEKeyGenerator$RC4"); 411 // put("Alg.Alias.KeyGenerator.ARC4", "RC4"); 412 // put("Alg.Alias.KeyGenerator.1.2.840.113549.3.4", "RC4"); 413 // put("KeyGenerator.RC5", "org.bouncycastle.jce.provider.JCEKeyGenerator$RC5"); 414 // put("Alg.Alias.KeyGenerator.RC5-32", "RC5"); 415 // put("KeyGenerator.RC5-64", "org.bouncycastle.jce.provider.JCEKeyGenerator$RC564"); 416 // put("KeyGenerator.RC6", "org.bouncycastle.jce.provider.JCEKeyGenerator$RC6"); 417 // put("KeyGenerator.RIJNDAEL", "org.bouncycastle.jce.provider.JCEKeyGenerator$Rijndael"); 418 // END android-removed 419 put("KeyGenerator.AES", "org.bouncycastle.jce.provider.JCEKeyGenerator$AES"); 420 put("KeyGenerator.2.16.840.1.101.3.4.2", "org.bouncycastle.jce.provider.JCEKeyGenerator$AES128"); 421 put("KeyGenerator.2.16.840.1.101.3.4.22", "org.bouncycastle.jce.provider.JCEKeyGenerator$AES192"); 422 put("KeyGenerator.2.16.840.1.101.3.4.42", "org.bouncycastle.jce.provider.JCEKeyGenerator$AES256"); 423 put("KeyGenerator." + NISTObjectIdentifiers.id_aes128_ECB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES128"); 424 put("KeyGenerator." + NISTObjectIdentifiers.id_aes128_CBC, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES128"); 425 put("KeyGenerator." + NISTObjectIdentifiers.id_aes128_OFB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES128"); 426 put("KeyGenerator." + NISTObjectIdentifiers.id_aes128_CFB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES128"); 427 put("KeyGenerator." + NISTObjectIdentifiers.id_aes192_ECB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES192"); 428 put("KeyGenerator." + NISTObjectIdentifiers.id_aes192_CBC, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES192"); 429 put("KeyGenerator." + NISTObjectIdentifiers.id_aes192_OFB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES192"); 430 put("KeyGenerator." + NISTObjectIdentifiers.id_aes192_CFB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES192"); 431 put("KeyGenerator." + NISTObjectIdentifiers.id_aes256_ECB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES256"); 432 put("KeyGenerator." + NISTObjectIdentifiers.id_aes256_CBC, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES256"); 433 put("KeyGenerator." + NISTObjectIdentifiers.id_aes256_OFB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES256"); 434 put("KeyGenerator." + NISTObjectIdentifiers.id_aes256_CFB, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES256"); 435 put("KeyGenerator.AESWRAP", "org.bouncycastle.jce.provider.JCEKeyGenerator$AES"); 436 put("KeyGenerator." + NISTObjectIdentifiers.id_aes128_wrap, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES128"); 437 put("KeyGenerator." + NISTObjectIdentifiers.id_aes192_wrap, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES192"); 438 put("KeyGenerator." + NISTObjectIdentifiers.id_aes256_wrap, "org.bouncycastle.jce.provider.JCEKeyGenerator$AES256"); 439 // BEGIN android-removed 440 // put("KeyGenerator.SERPENT", "org.bouncycastle.jce.provider.JCEKeyGenerator$Serpent"); 441 // put("KeyGenerator.CAMELLIA", "org.bouncycastle.jce.provider.JCEKeyGenerator$Camellia"); 442 // put("KeyGenerator.CAST5", "org.bouncycastle.jce.provider.JCEKeyGenerator$CAST5"); 443 // put("KeyGenerator.1.2.840.113533.7.66.10", "org.bouncycastle.jce.provider.JCEKeyGenerator$CAST5"); 444 // put("KeyGenerator.CAST6", "org.bouncycastle.jce.provider.JCEKeyGenerator$CAST6"); 445 // put("KeyGenerator.IDEA", "org.bouncycastle.jce.provider.JCEKeyGenerator$IDEA"); 446 // put("KeyGenerator.1.3.6.1.4.1.188.7.1.1.2", "org.bouncycastle.jce.provider.JCEKeyGenerator$IDEA"); 447 448 // put("KeyGenerator.GOST28147", "org.bouncycastle.jce.provider.JCEKeyGenerator$GOST28147"); 449 // put("Alg.Alias.KeyGenerator.GOST", "GOST28147"); 450 // put("Alg.Alias.KeyGenerator.GOST-28147", "GOST28147"); 451 // put("Alg.Alias.KeyGenerator." + CryptoProObjectIdentifiers.gostR28147_cbc, "GOST28147"); 452 // END android-removed 453 454 // 455 // key pair generators. 456 // 457 put("KeyPairGenerator.RSA", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$RSA"); 458 put("KeyPairGenerator.DH", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$DH"); 459 put("KeyPairGenerator.DSA", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$DSA"); 460 // BEGIN android-removed 461 // put("KeyPairGenerator.ELGAMAL", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$ElGamal"); 462 // put("KeyPairGenerator.EC", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$EC"); 463 // put("KeyPairGenerator.ECDSA", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$ECDSA"); 464 // put("KeyPairGenerator.ECDH", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$ECDH"); 465 // put("KeyPairGenerator.ECDHC", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$ECDHC"); 466 // put("KeyPairGenerator.ECIES", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$ECDH"); 467 // END android-removed 468 put("Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1.1", "RSA"); 469 470 // BEGIN android-removed 471 // put("KeyPairGenerator.GOST3410", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$GOST3410"); 472 // put("Alg.Alias.KeyPairGenerator.GOST-3410", "GOST3410"); 473 // put("Alg.Alias.KeyPairGenerator.GOST-3410-94", "GOST3410"); 474 475 // put("KeyPairGenerator.ECGOST3410", "org.bouncycastle.jce.provider.JDKKeyPairGenerator$ECGOST3410"); 476 // put("Alg.Alias.KeyPairGenerator.ECGOST-3410", "ECGOST3410"); 477 // put("Alg.Alias.KeyPairGenerator.GOST-3410-2001", "ECGOST3410"); 478 // END android-removed 479 480 481 // 482 // key factories 483 // 484 put("KeyFactory.RSA", "org.bouncycastle.jce.provider.JDKKeyFactory$RSA"); 485 put("KeyFactory.DH", "org.bouncycastle.jce.provider.JDKKeyFactory$DH"); 486 put("KeyFactory.DSA", "org.bouncycastle.jce.provider.JDKKeyFactory$DSA"); 487 // BEGIN android-removed 488 // put("KeyFactory.ELGAMAL", "org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal"); 489 // put("KeyFactory.ElGamal", "org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal"); 490 // put("KeyFactory.EC", "org.bouncycastle.jce.provider.JDKKeyFactory$EC"); 491 // put("KeyFactory.ECDSA", "org.bouncycastle.jce.provider.JDKKeyFactory$ECDSA"); 492 // put("KeyFactory.ECDH", "org.bouncycastle.jce.provider.JDKKeyFactory$ECDH"); 493 // put("KeyFactory.ECDHC", "org.bouncycastle.jce.provider.JDKKeyFactory$ECDHC"); 494 // END android-removed 495 put("KeyFactory.X.509", "org.bouncycastle.jce.provider.JDKKeyFactory$X509"); 496 497 put("Alg.Alias.KeyFactory.1.2.840.113549.1.1.1", "RSA"); 498 put("Alg.Alias.KeyFactory.1.2.840.10040.4.1", "DSA"); 499 // BEGIN android-removed 500 // put("Alg.Alias.KeyFactory." + X9ObjectIdentifiers.id_ecPublicKey, "EC"); 501 502 503 // put("KeyFactory.GOST3410", "org.bouncycastle.jce.provider.JDKKeyFactory$GOST3410"); 504 // put("Alg.Alias.KeyFactory.GOST-3410", "GOST3410"); 505 // put("Alg.Alias.KeyFactory.GOST-3410-94", "GOST3410"); 506 // put("Alg.Alias.KeyFactory." + CryptoProObjectIdentifiers.gostR3410_94, "GOST3410"); 507 // put("KeyFactory.ECGOST3410", "org.bouncycastle.jce.provider.JDKKeyFactory$ECGOST3410"); 508 // put("Alg.Alias.KeyFactory.GOST-3410-2001", "ECGOST3410"); 509 // put("Alg.Alias.KeyFactory.ECGOST-3410", "ECGOST3410"); 510 // put("Alg.Alias.KeyFactory." + CryptoProObjectIdentifiers.gostR3410_2001, "ECGOST3410"); 511 // END android-removed 512 513 // 514 // Algorithm parameters 515 // 516 put("AlgorithmParameters.DES", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 517 put("Alg.Alias.AlgorithmParameters.1.3.14.3.2.7", "DES"); 518 put("AlgorithmParameters.DESEDE", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 519 put("AlgorithmParameters.1.2.840.113549.3.7", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 520 // BEGIN android-removed 521 // put("AlgorithmParameters.RC2", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$RC2AlgorithmParameters"); 522 // put("AlgorithmParameters.1.2.840.113549.3.2", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$RC2AlgorithmParameters"); 523 // put("AlgorithmParameters.RC5", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 524 // put("AlgorithmParameters.RC6", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 525 // put("AlgorithmParameters.IDEA", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IDEAAlgorithmParameters"); 526 // put("AlgorithmParameters.BLOWFISH", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 527 // put("AlgorithmParameters.TWOFISH", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 528 // put("AlgorithmParameters.SKIPJACK", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 529 // put("AlgorithmParameters.RIJNDAEL", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 530 // END android-removed 531 put("AlgorithmParameters.AES", "org.bouncycastle.jce.provider.JDKAlgorithmParameters$IVAlgorithmParameters"); 532 put("Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.2", "AES"); 533 put("Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.22", "AES"); 534 put("Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.42", "AES"); 535 put("Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.2", "AES"); 536 put("Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.22", "AES"); 537 put("Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.42", "AES"); 538 539 // 540 // secret key factories. 541 // 542 put("SecretKeyFactory.DES", "org.bouncycastle.jce.provider.JCESecretKeyFactory$DES"); 543 put("SecretKeyFactory.DESEDE", "org.bouncycastle.jce.provider.JCESecretKeyFactory$DESede"); 544 put("SecretKeyFactory.DESEDE", "org.bouncycastle.jce.provider.JCESecretKeyFactory$DESede"); 545 put("SecretKeyFactory.PBEWITHMD5ANDDES", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithMD5AndDES"); 546 put("SecretKeyFactory.PBEWITHMD5ANDRC2", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithMD5AndRC2"); 547 put("SecretKeyFactory.PBEWITHSHA1ANDDES", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHA1AndDES"); 548 put("SecretKeyFactory.PBEWITHSHA1ANDRC2", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHA1AndRC2"); 549 put("SecretKeyFactory.PBEWITHSHAAND3-KEYTRIPLEDES-CBC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAndDES3Key"); 550 put("SecretKeyFactory.PBEWITHSHAAND2-KEYTRIPLEDES-CBC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAndDES2Key"); 551 // BEGIN android-removed 552 // put("SecretKeyFactory.PBEWITHSHAAND128BITRC4", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAnd128BitRC4"); 553 // put("SecretKeyFactory.PBEWITHSHAAND40BITRC4", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAnd40BitRC4"); 554 // put("SecretKeyFactory.PBEWITHSHAAND128BITRC2-CBC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAnd128BitRC2"); 555 // BEGIN android-removed 556 put("SecretKeyFactory.PBEWITHSHAAND40BITRC2-CBC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAnd40BitRC2"); 557 // END android-removed 558 // put("SecretKeyFactory.PBEWITHSHAANDTWOFISH-CBC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAndTwofish"); 559 // put("SecretKeyFactory.PBEWITHSHAANDIDEA-CBC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAndIDEA"); 560 // put("SecretKeyFactory.PBEWITHHMACRIPEMD160", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithRIPEMD160"); 561 // END android-removed 562 put("SecretKeyFactory.PBEWITHHMACSHA1", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHA"); 563 // BEGIN android-removed 564 // put("SecretKeyFactory.PBEWITHHMACTIGER", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithTiger"); 565 // END android-removed 566 567 put("SecretKeyFactory.PBEWITHMD5AND128BITAES-CBC-OPENSSL", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithMD5And128BitAESCBCOpenSSL"); 568 put("SecretKeyFactory.PBEWITHMD5AND192BITAES-CBC-OPENSSL", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithMD5And192BitAESCBCOpenSSL"); 569 put("SecretKeyFactory.PBEWITHMD5AND256BITAES-CBC-OPENSSL", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithMD5And256BitAESCBCOpenSSL"); 570 571 put("Alg.Alias.SecretKeyFactory.PBE", "PBE/PKCS5"); 572 573 put("Alg.Alias.SecretKeyFactory.BROKENPBEWITHMD5ANDDES", "PBE/PKCS5"); 574 put("Alg.Alias.SecretKeyFactory.BROKENPBEWITHSHA1ANDDES", "PBE/PKCS5"); 575 put("Alg.Alias.SecretKeyFactory.OLDPBEWITHSHAAND3-KEYTRIPLEDES-CBC", "PBE/PKCS12"); 576 put("Alg.Alias.SecretKeyFactory.BROKENPBEWITHSHAAND3-KEYTRIPLEDES-CBC", "PBE/PKCS12"); 577 put("Alg.Alias.SecretKeyFactory.BROKENPBEWITHSHAAND2-KEYTRIPLEDES-CBC", "PBE/PKCS12"); 578 // BEGIN android-removed 579 // put("Alg.Alias.SecretKeyFactory.OLDPBEWITHSHAANDTWOFISH-CBC", "PBE/PKCS12"); 580 581 // put("Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.1", "PBEWITHSHAAND128BITRC4"); 582 // put("Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.2", "PBEWITHSHAAND40BITRC4"); 583 // END android-removed 584 put("Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.3", "PBEWITHSHAAND3-KEYTRIPLEDES-CBC"); 585 // BEGIN android-removed 586 // put("Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.4", "PBEWITHSHAAND2-KEYTRIPLEDES-CBC"); 587 // put("Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.5", "PBEWITHSHAAND128BITRC2-CBC"); 588 // END android-removed 589 put("Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.6", "PBEWITHSHAAND40BITRC2-CBC"); 590 591 put("Alg.Alias.SecretKeyFactory.PBEWITHHMACSHA", "PBEWITHHMACSHA1"); 592 put("Alg.Alias.SecretKeyFactory.1.3.14.3.2.26", "PBEWITHHMACSHA1"); 593 put("Alg.Alias.SecretKeyFactory.PBEWithSHAAnd3KeyTripleDES", "PBEWITHSHAAND3-KEYTRIPLEDES-CBC"); 594 595 put("SecretKeyFactory.PBEWITHSHAAND128BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAnd128BitAESBC"); 596 put("SecretKeyFactory.PBEWITHSHAAND192BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAnd192BitAESBC"); 597 put("SecretKeyFactory.PBEWITHSHAAND256BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHAAnd256BitAESBC"); 598 put("SecretKeyFactory.PBEWITHSHA256AND128BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHA256And128BitAESBC"); 599 put("SecretKeyFactory.PBEWITHSHA256AND192BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHA256And192BitAESBC"); 600 put("SecretKeyFactory.PBEWITHSHA256AND256BITAES-CBC-BC", "org.bouncycastle.jce.provider.JCESecretKeyFactory$PBEWithSHA256And256BitAESBC"); 601 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA1AND128BITAES-CBC-BC","PBEWITHSHAAND128BITAES-CBC-BC"); 602 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA1AND192BITAES-CBC-BC","PBEWITHSHAAND192BITAES-CBC-BC"); 603 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA1AND256BITAES-CBC-BC","PBEWITHSHAAND256BITAES-CBC-BC"); 604 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA-1AND128BITAES-CBC-BC","PBEWITHSHAAND128BITAES-CBC-BC"); 605 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA-1AND192BITAES-CBC-BC","PBEWITHSHAAND192BITAES-CBC-BC"); 606 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA-1AND256BITAES-CBC-BC","PBEWITHSHAAND256BITAES-CBC-BC"); 607 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA-256AND128BITAES-CBC-BC","PBEWITHSHA256AND128BITAES-CBC-BC"); 608 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA-256AND192BITAES-CBC-BC","PBEWITHSHA256AND192BITAES-CBC-BC"); 609 put("Alg.Alias.SecretKeyFactory.PBEWITHSHA-256AND256BITAES-CBC-BC","PBEWITHSHA256AND256BITAES-CBC-BC"); 610 611 addMacAlgorithms(); 612 613 addMessageDigestAlgorithms(); 614 615 addSignatureAlgorithms(); 616 617 // Certification Path API 618 put("CertPathValidator.PKIX", "org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi"); 619 put("CertPathValidator.PKIX ValidationAlgorithm", "RFC2459"); 620 put("CertPathBuilder.PKIX", "org.bouncycastle.jce.provider.PKIXCertPathBuilderSpi"); 621 put("CertPathBuilder.PKIX ValidationAlgorithm", "RFC2459"); 622 put("CertStore.Collection", "org.bouncycastle.jce.provider.CertStoreCollectionSpi"); 623 } 624 625 // 626 // macs 627 // 628 private void addMacAlgorithms() 629 { 630 put("Mac.DESMAC", "org.bouncycastle.jce.provider.JCEMac$DES"); 631 put("Alg.Alias.Mac.DES", "DESMAC"); 632 put("Mac.DESMAC/CFB8", "org.bouncycastle.jce.provider.JCEMac$DESCFB8"); 633 put("Alg.Alias.Mac.DES/CFB8", "DESMAC/CFB8"); 634 635 put("Mac.DESEDEMAC", "org.bouncycastle.jce.provider.JCEMac$DESede"); 636 put("Alg.Alias.Mac.DESEDE", "DESEDEMAC"); 637 put("Mac.DESEDEMAC/CFB8", "org.bouncycastle.jce.provider.JCEMac$DESedeCFB8"); 638 put("Alg.Alias.Mac.DESEDE/CFB8", "DESEDEMAC/CFB8"); 639 640 put("Mac.DESWITHISO9797", "org.bouncycastle.jce.provider.JCEMac$ISO9797_DES"); 641 put("Alg.Alias.Mac.DESISO9797MAC", "DESWITHISO9797"); 642 643 put("Mac.DESEDEMAC64", "org.bouncycastle.jce.provider.JCEMac$DESede64"); 644 put("Alg.Alias.Mac.DESEDE64", "DESEDEMAC64"); 645 646 put("Mac.ISO9797ALG3MAC", "org.bouncycastle.jce.provider.JCEMac$DES9797Alg3"); 647 put("Alg.Alias.Mac.ISO9797ALG3", "ISO9797ALG3MAC"); 648 649 // BEGIN android-removed 650 // put("Mac.SKIPJACKMAC", "org.bouncycastle.jce.provider.JCEMac$Skipjack"); 651 // put("Alg.Alias.Mac.SKIPJACK", "SKIPJACKMAC"); 652 // put("Mac.SKIPJACKMAC/CFB8", "org.bouncycastle.jce.provider.JCEMac$SkipjackCFB8"); 653 // put("Alg.Alias.Mac.SKIPJACK/CFB8", "SKIPJACKMAC/CFB8"); 654 // 655 // put("Mac.IDEAMAC", "org.bouncycastle.jce.provider.JCEMac$IDEA"); 656 // put("Alg.Alias.Mac.IDEA", "IDEAMAC"); 657 // put("Mac.IDEAMAC/CFB8", "org.bouncycastle.jce.provider.JCEMac$IDEACFB8"); 658 // put("Alg.Alias.Mac.IDEA/CFB8", "IDEAMAC/CFB8"); 659 // 660 // put("Mac.RC2MAC", "org.bouncycastle.jce.provider.JCEMac$RC2"); 661 // put("Alg.Alias.Mac.RC2", "RC2MAC"); 662 // put("Mac.RC2MAC/CFB8", "org.bouncycastle.jce.provider.JCEMac$RC2CFB8"); 663 // put("Alg.Alias.Mac.RC2/CFB8", "RC2MAC/CFB8"); 664 // 665 // put("Mac.RC5MAC", "org.bouncycastle.jce.provider.JCEMac$RC5"); 666 // put("Alg.Alias.Mac.RC5", "RC5MAC"); 667 // put("Mac.RC5MAC/CFB8", "org.bouncycastle.jce.provider.JCEMac$RC5CFB8"); 668 // put("Alg.Alias.Mac.RC5/CFB8", "RC5MAC/CFB8"); 669 // 670 // put("Mac.GOST28147MAC", "org.bouncycastle.jce.provider.JCEMac$GOST28147"); 671 // 672 // put("Mac.OLDHMACSHA384", "org.bouncycastle.jce.provider.JCEMac$OldSHA384"); 673 // 674 // put("Mac.OLDHMACSHA512", "org.bouncycastle.jce.provider.JCEMac$OldSHA512"); 675 // 676 // addHMACAlgorithm("MD2", "org.bouncycastle.jce.provider.JCEMac$MD2", "org.bouncycastle.jce.provider.JCEKeyGenerator$MD2HMAC"); 677 // addHMACAlgorithm("MD4", "org.bouncycastle.jce.provider.JCEMac$MD4", "org.bouncycastle.jce.provider.JCEKeyGenerator$MD4HMAC"); 678 // END android-removed 679 addHMACAlgorithm("MD5", "org.bouncycastle.jce.provider.JCEMac$MD5", "org.bouncycastle.jce.provider.JCEKeyGenerator$MD5HMAC"); 680 addHMACAlias("MD5", IANAObjectIdentifiers.hmacMD5); 681 682 addHMACAlgorithm("SHA1", "org.bouncycastle.jce.provider.JCEMac$SHA1", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA1"); 683 addHMACAlias("SHA1", PKCSObjectIdentifiers.id_hmacWithSHA1); 684 addHMACAlias("SHA1", IANAObjectIdentifiers.hmacSHA1); 685 addHMACAlgorithm("SHA224", "org.bouncycastle.jce.provider.JCEMac$SHA224", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA224"); 686 addHMACAlias("SHA224", PKCSObjectIdentifiers.id_hmacWithSHA224); 687 addHMACAlgorithm("SHA256", "org.bouncycastle.jce.provider.JCEMac$SHA256", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA256"); 688 addHMACAlias("SHA256", PKCSObjectIdentifiers.id_hmacWithSHA256); 689 addHMACAlgorithm("SHA384", "org.bouncycastle.jce.provider.JCEMac$SHA384", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA384"); 690 addHMACAlias("SHA384", PKCSObjectIdentifiers.id_hmacWithSHA384); 691 addHMACAlgorithm("SHA512", "org.bouncycastle.jce.provider.JCEMac$SHA512", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA512"); 692 addHMACAlias("SHA512", PKCSObjectIdentifiers.id_hmacWithSHA512); 693 694 // BEGIN android-removed 695 //addHMACAlgorithm("RIPEMD128", "org.bouncycastle.jce.provider.JCEMac$RIPEMD128", "org.bouncycastle.jce.provider.JCEKeyGenerator$RIPEMD128HMAC"); 696 //addHMACAlgorithm("RIPEMD160", "org.bouncycastle.jce.provider.JCEMac$RIPEMD160", "org.bouncycastle.jce.provider.JCEKeyGenerator$RIPEMD160HMAC"); 697 //addHMACAlias("RIPEMD160", IANAObjectIdentifiers.hmacRIPEMD160); 698 699 // addHMACAlgorithm("TIGER", "org.bouncycastle.jce.provider.JCEMac$Tiger", "org.bouncycastle.jce.provider.JCEKeyGenerator$HMACTIGER"); 700 // addHMACAlias("TIGER", IANAObjectIdentifiers.hmacTIGER); 701 // END android-removed 702 703 put("Mac.PBEWITHHMACSHA", "org.bouncycastle.jce.provider.JCEMac$PBEWithSHA"); 704 put("Mac.PBEWITHHMACSHA1", "org.bouncycastle.jce.provider.JCEMac$PBEWithSHA"); 705 // BEGIN android-removed 706 // put("Mac.PBEWITHHMACRIPEMD160", "org.bouncycastle.jce.provider.JCEMac$PBEWithRIPEMD160"); 707 // END android-removed 708 put("Alg.Alias.Mac.1.3.14.3.2.26", "PBEWITHHMACSHA"); 709 } 710 711 private void addHMACAlgorithm( 712 String algorithm, 713 String algorithmClassName, 714 String keyGeneratorClassName) 715 { 716 String mainName = "HMAC" + algorithm; 717 718 put("Mac." + mainName, algorithmClassName); 719 put("Alg.Alias.Mac.HMAC-" + algorithm, mainName); 720 put("Alg.Alias.Mac.HMAC/" + algorithm, mainName); 721 put("KeyGenerator." + mainName, keyGeneratorClassName); 722 put("Alg.Alias.KeyGenerator.HMAC-" + algorithm, mainName); 723 put("Alg.Alias.KeyGenerator.HMAC/" + algorithm, mainName); 724 } 725 726 private void addHMACAlias( 727 String algorithm, 728 DERObjectIdentifier oid) 729 { 730 String mainName = "HMAC" + algorithm; 731 732 put("Alg.Alias.Mac." + oid, mainName); 733 put("Alg.Alias.KeyGenerator." + oid, mainName); 734 } 735 736 // 737 // message digests 738 // 739 private void addMessageDigestAlgorithms() 740 { 741 // BEGIN android-removed 742 // put("MessageDigest.SHA-1", "org.bouncycastle.jce.provider.JDKMessageDigest$SHA1"); 743 // put("Alg.Alias.MessageDigest.SHA1", "SHA-1"); 744 // put("Alg.Alias.MessageDigest.SHA", "SHA-1"); 745 // put("Alg.Alias.MessageDigest." + OIWObjectIdentifiers.idSHA1, "SHA-1"); 746 // put("MessageDigest.SHA-224", "org.bouncycastle.jce.provider.JDKMessageDigest$SHA224"); 747 // put("Alg.Alias.MessageDigest.SHA224", "SHA-224"); 748 // put("Alg.Alias.MessageDigest." + NISTObjectIdentifiers.id_sha224, "SHA-224"); 749 // put("MessageDigest.SHA-256", "org.bouncycastle.jce.provider.JDKMessageDigest$SHA256"); 750 // put("Alg.Alias.MessageDigest.SHA256", "SHA-256"); 751 // put("Alg.Alias.MessageDigest." + NISTObjectIdentifiers.id_sha256, "SHA-256"); 752 // END android-removed 753 put("MessageDigest.SHA-384", "org.bouncycastle.jce.provider.JDKMessageDigest$SHA384"); 754 put("Alg.Alias.MessageDigest.SHA384", "SHA-384"); 755 put("Alg.Alias.MessageDigest." + NISTObjectIdentifiers.id_sha384, "SHA-384"); 756 put("MessageDigest.SHA-512", "org.bouncycastle.jce.provider.JDKMessageDigest$SHA512"); 757 put("Alg.Alias.MessageDigest.SHA512", "SHA-512"); 758 put("Alg.Alias.MessageDigest." + NISTObjectIdentifiers.id_sha512, "SHA-512"); 759 760 // BEGIN android-removed 761 // put("MessageDigest.MD2", "org.bouncycastle.jce.provider.JDKMessageDigest$MD2"); 762 // put("Alg.Alias.MessageDigest." + PKCSObjectIdentifiers.md2, "MD2"); 763 // put("MessageDigest.MD4", "org.bouncycastle.jce.provider.JDKMessageDigest$MD4"); 764 // put("Alg.Alias.MessageDigest." + PKCSObjectIdentifiers.md4, "MD4"); 765 // put("MessageDigest.MD5", "org.bouncycastle.jce.provider.JDKMessageDigest$MD5"); 766 // put("Alg.Alias.MessageDigest." + PKCSObjectIdentifiers.md5, "MD5"); 767 // put("MessageDigest.RIPEMD128", "org.bouncycastle.jce.provider.JDKMessageDigest$RIPEMD128"); 768 // put("Alg.Alias.MessageDigest." + TeleTrusTObjectIdentifiers.ripemd128, "RIPEMD128"); 769 // put("MessageDigest.RIPEMD160", "org.bouncycastle.jce.provider.JDKMessageDigest$RIPEMD160"); 770 // put("Alg.Alias.MessageDigest." + TeleTrusTObjectIdentifiers.ripemd160, "RIPEMD160"); 771 // put("MessageDigest.RIPEMD256", "org.bouncycastle.jce.provider.JDKMessageDigest$RIPEMD256"); 772 // put("Alg.Alias.MessageDigest." + TeleTrusTObjectIdentifiers.ripemd256, "RIPEMD256"); 773 // put("MessageDigest.RIPEMD320", "org.bouncycastle.jce.provider.JDKMessageDigest$RIPEMD320"); 774 // put("MessageDigest.Tiger", "org.bouncycastle.jce.provider.JDKMessageDigest$Tiger"); 775 776 // put("MessageDigest.WHIRLPOOL", "org.bouncycastle.jce.provider.JDKMessageDigest$Whirlpool"); 777 778 // put("MessageDigest.GOST3411", "org.bouncycastle.jce.provider.JDKMessageDigest$GOST3411"); 779 // put("Alg.Alias.MessageDigest.GOST", "GOST3411"); 780 // put("Alg.Alias.MessageDigest.GOST-3411", "GOST3411"); 781 // put("Alg.Alias.MessageDigest." + CryptoProObjectIdentifiers.gostR3411, "GOST3411"); 782 // END android-removed 783 } 784 785 // 786 // signature algorithms. 787 // 788 private void addSignatureAlgorithms() 789 { 790 // BEGIN android-removed 791 // Dropping MD2 792 // put("Signature.MD2WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$MD2WithRSAEncryption"); 793 // END android-removed 794 put("Signature.MD4WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$MD4WithRSAEncryption"); 795 put("Signature.MD5WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$MD5WithRSAEncryption"); 796 put("Signature.SHA1WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$SHA1WithRSAEncryption"); 797 put("Signature.SHA224WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$SHA224WithRSAEncryption"); 798 put("Signature.SHA256WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$SHA256WithRSAEncryption"); 799 put("Signature.SHA384WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$SHA384WithRSAEncryption"); 800 put("Signature.SHA512WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$SHA512WithRSAEncryption"); 801 // BEGIN android-removed 802 // put("Signature.RIPEMD160WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$RIPEMD160WithRSAEncryption"); 803 // put("Signature.RIPEMD128WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$RIPEMD128WithRSAEncryption"); 804 // put("Signature.RIPEMD256WithRSAEncryption", "org.bouncycastle.jce.provider.JDKDigestSignature$RIPEMD256WithRSAEncryption"); 805 // END android-removed 806 put("Signature.DSA", "org.bouncycastle.jce.provider.JDKDSASigner$stdDSA"); 807 put("Signature.NONEWITHDSA", "org.bouncycastle.jce.provider.JDKDSASigner$noneDSA"); 808 // BEGIN android-removed 809 // put("Signature.ECDSA", "org.bouncycastle.jce.provider.JDKDSASigner$ecDSA"); 810 // put("Signature.SHA1WITHECNR", "org.bouncycastle.jce.provider.JDKDSASigner$ecNR"); 811 // put("Signature.SHA224WITHECNR", "org.bouncycastle.jce.provider.JDKDSASigner$ecNR224"); 812 // put("Signature.SHA256WITHECNR", "org.bouncycastle.jce.provider.JDKDSASigner$ecNR256"); 813 // put("Signature.SHA384WITHECNR", "org.bouncycastle.jce.provider.JDKDSASigner$ecNR384"); 814 // put("Signature.SHA512WITHECNR", "org.bouncycastle.jce.provider.JDKDSASigner$ecNR512"); 815 // END android-removed 816 put("Signature.SHA1withRSA/ISO9796-2", "org.bouncycastle.jce.provider.JDKISOSignature$SHA1WithRSAEncryption"); 817 put("Signature.MD5withRSA/ISO9796-2", "org.bouncycastle.jce.provider.JDKISOSignature$MD5WithRSAEncryption"); 818 // BEGIN android-removed 819 // put("Signature.RIPEMD160withRSA/ISO9796-2", "org.bouncycastle.jce.provider.JDKISOSignature$RIPEMD160WithRSAEncryption"); 820 // END android-removed 821 822 put("Signature.RSASSA-PSS", "org.bouncycastle.jce.provider.JDKPSSSigner$PSSwithRSA"); 823 put("Signature." + PKCSObjectIdentifiers.id_RSASSA_PSS, "org.bouncycastle.jce.provider.JDKPSSSigner$PSSwithRSA"); 824 put("Signature.SHA1withRSA/PSS", "org.bouncycastle.jce.provider.JDKPSSSigner$SHA1withRSA"); 825 put("Signature.SHA224withRSA/PSS", "org.bouncycastle.jce.provider.JDKPSSSigner$SHA224withRSA"); 826 put("Signature.SHA256withRSA/PSS", "org.bouncycastle.jce.provider.JDKPSSSigner$SHA256withRSA"); 827 put("Signature.SHA384withRSA/PSS", "org.bouncycastle.jce.provider.JDKPSSSigner$SHA384withRSA"); 828 put("Signature.SHA512withRSA/PSS", "org.bouncycastle.jce.provider.JDKPSSSigner$SHA512withRSA"); 829 830 put("Alg.Alias.Signature.RAWDSA", "NONEWITHDSA"); 831 832 put("Alg.Alias.Signature.SHA1withRSAandMGF1", "SHA1withRSA/PSS"); 833 put("Alg.Alias.Signature.SHA224withRSAandMGF1", "SHA224withRSA/PSS"); 834 put("Alg.Alias.Signature.SHA256withRSAandMGF1", "SHA256withRSA/PSS"); 835 put("Alg.Alias.Signature.SHA384withRSAandMGF1", "SHA384withRSA/PSS"); 836 put("Alg.Alias.Signature.SHA512withRSAandMGF1", "SHA512withRSA/PSS"); 837 838 // BEGIN android-removed 839 // Dropping MD2 840 // put("Alg.Alias.Signature.MD2withRSAEncryption", "MD2WithRSAEncryption"); 841 // END android-removed 842 put("Alg.Alias.Signature.MD4withRSAEncryption", "MD4WithRSAEncryption"); 843 put("Alg.Alias.Signature.MD5withRSAEncryption", "MD5WithRSAEncryption"); 844 put("Alg.Alias.Signature.SHA1withRSAEncryption", "SHA1WithRSAEncryption"); 845 put("Alg.Alias.Signature.SHA224withRSAEncryption", "SHA224WithRSAEncryption"); 846 847 put("Alg.Alias.Signature.SHA256withRSAEncryption", "SHA256WithRSAEncryption"); 848 put("Alg.Alias.Signature.SHA384withRSAEncryption", "SHA384WithRSAEncryption"); 849 put("Alg.Alias.Signature.SHA512withRSAEncryption", "SHA512WithRSAEncryption"); 850 851 put("Alg.Alias.Signature.SHA256WithRSAEncryption", "SHA256WithRSAEncryption"); 852 put("Alg.Alias.Signature.SHA384WithRSAEncryption", "SHA384WithRSAEncryption"); 853 put("Alg.Alias.Signature.SHA512WithRSAEncryption", "SHA512WithRSAEncryption"); 854 855 put("Alg.Alias.Signature.SHA256WITHRSAENCRYPTION", "SHA256WithRSAEncryption"); 856 put("Alg.Alias.Signature.SHA384WITHRSAENCRYPTION", "SHA384WithRSAEncryption"); 857 put("Alg.Alias.Signature.SHA512WITHRSAENCRYPTION", "SHA512WithRSAEncryption"); 858 859 // BEGIN android-removed 860 // Dropping MD2 861 // put("Alg.Alias.Signature.RIPEMD160withRSAEncryption", "RIPEMD160WithRSAEncryption"); 862 // put("Alg.Alias.Signature." + PKCSObjectIdentifiers.md2WithRSAEncryption, "MD2WithRSAEncryption"); 863 // put("Alg.Alias.Signature.MD2WithRSA", "MD2WithRSAEncryption"); 864 // put("Alg.Alias.Signature.MD2withRSA", "MD2WithRSAEncryption"); 865 // put("Alg.Alias.Signature.MD2/RSA", "MD2WithRSAEncryption"); 866 // END android-removed 867 put("Alg.Alias.Signature.MD5WithRSA", "MD5WithRSAEncryption"); 868 put("Alg.Alias.Signature.MD5withRSA", "MD5WithRSAEncryption"); 869 put("Alg.Alias.Signature.MD5/RSA", "MD5WithRSAEncryption"); 870 put("Alg.Alias.Signature." + PKCSObjectIdentifiers.md5WithRSAEncryption, "MD5WithRSAEncryption"); 871 put("Alg.Alias.Signature.MD4WithRSA", "MD4WithRSAEncryption"); 872 put("Alg.Alias.Signature.MD4withRSA", "MD4WithRSAEncryption"); 873 put("Alg.Alias.Signature.MD4/RSA", "MD4WithRSAEncryption"); 874 put("Alg.Alias.Signature." + PKCSObjectIdentifiers.md4WithRSAEncryption, "MD4WithRSAEncryption"); 875 put("Alg.Alias.Signature.SHA1WithRSA", "SHA1WithRSAEncryption"); 876 put("Alg.Alias.Signature.SHA1withRSA", "SHA1WithRSAEncryption"); 877 put("Alg.Alias.Signature.SHA224WithRSA", "SHA224WithRSAEncryption"); 878 put("Alg.Alias.Signature.SHA224withRSA", "SHA224WithRSAEncryption"); 879 put("Alg.Alias.Signature.SHA256WithRSA", "SHA256WithRSAEncryption"); 880 put("Alg.Alias.Signature.SHA256withRSA", "SHA256WithRSAEncryption"); 881 put("Alg.Alias.Signature.SHA384WithRSA", "SHA384WithRSAEncryption"); 882 put("Alg.Alias.Signature.SHA384withRSA", "SHA384WithRSAEncryption"); 883 put("Alg.Alias.Signature.SHA512WithRSA", "SHA512WithRSAEncryption"); 884 put("Alg.Alias.Signature.SHA512withRSA", "SHA512WithRSAEncryption"); 885 put("Alg.Alias.Signature.SHA1/RSA", "SHA1WithRSAEncryption"); 886 put("Alg.Alias.Signature.SHA-1/RSA", "SHA1WithRSAEncryption"); 887 put("Alg.Alias.Signature." + PKCSObjectIdentifiers.sha1WithRSAEncryption, "SHA1WithRSAEncryption"); 888 put("Alg.Alias.Signature." + PKCSObjectIdentifiers.sha224WithRSAEncryption, "SHA224WithRSAEncryption"); 889 put("Alg.Alias.Signature." + PKCSObjectIdentifiers.sha256WithRSAEncryption, "SHA256WithRSAEncryption"); 890 put("Alg.Alias.Signature." + PKCSObjectIdentifiers.sha384WithRSAEncryption, "SHA384WithRSAEncryption"); 891 put("Alg.Alias.Signature." + PKCSObjectIdentifiers.sha512WithRSAEncryption, "SHA512WithRSAEncryption"); 892 put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.113549.1.1.1", "SHA1WithRSAEncryption"); 893 put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.113549.1.1.5", "SHA1WithRSAEncryption"); 894 put("Alg.Alias.Signature.1.2.840.113549.2.5with1.2.840.113549.1.1.1", "MD5WithRSAEncryption"); 895 // BEGIN android-removed 896 // put("Alg.Alias.Signature.RIPEMD160WithRSA", "RIPEMD160WithRSAEncryption"); 897 // put("Alg.Alias.Signature.RIPEMD160withRSA", "RIPEMD160WithRSAEncryption"); 898 // put("Alg.Alias.Signature.RIPEMD128WithRSA", "RIPEMD128WithRSAEncryption"); 899 // put("Alg.Alias.Signature.RIPEMD128withRSA", "RIPEMD128WithRSAEncryption"); 900 // put("Alg.Alias.Signature.RIPEMD256WithRSA", "RIPEMD256WithRSAEncryption"); 901 // put("Alg.Alias.Signature.RIPEMD256withRSA", "RIPEMD256WithRSAEncryption"); 902 // put("Alg.Alias.Signature.RIPEMD-160/RSA", "RIPEMD160WithRSAEncryption"); 903 // put("Alg.Alias.Signature.RMD160withRSA", "RIPEMD160WithRSAEncryption"); 904 // put("Alg.Alias.Signature.RMD160/RSA", "RIPEMD160WithRSAEncryption"); 905 // put("Alg.Alias.Signature.1.3.36.3.3.1.2", "RIPEMD160WithRSAEncryption"); 906 // put("Alg.Alias.Signature.1.3.36.3.3.1.3", "RIPEMD128WithRSAEncryption"); 907 // put("Alg.Alias.Signature.1.3.36.3.3.1.4", "RIPEMD256WithRSAEncryption"); 908 // END android-removed 909 put("Alg.Alias.Signature." + OIWObjectIdentifiers.sha1WithRSA, "SHA1WithRSAEncryption"); 910 911 // BEGIN android-removed 912 // Dropping MD2 913 // put("Alg.Alias.Signature.MD2WITHRSAENCRYPTION", "MD2WithRSAEncryption"); 914 // END android-removed 915 put("Alg.Alias.Signature.MD5WITHRSAENCRYPTION", "MD5WithRSAEncryption"); 916 put("Alg.Alias.Signature.SHA1WITHRSAENCRYPTION", "SHA1WithRSAEncryption"); 917 // BEGIN android-removed 918 // put("Alg.Alias.Signature.RIPEMD160WITHRSAENCRYPTION", "RIPEMD160WithRSAEncryption"); 919 // END android-removed 920 921 put("Alg.Alias.Signature.MD5WITHRSA", "MD5WithRSAEncryption"); 922 put("Alg.Alias.Signature.SHA1WITHRSA", "SHA1WithRSAEncryption"); 923 // BEGIN android-removed 924 // put("Alg.Alias.Signature.RIPEMD160WITHRSA", "RIPEMD160WithRSAEncryption"); 925 // END android-removed 926 put("Alg.Alias.Signature.RMD160WITHRSA", "RIPEMD160WithRSAEncryption"); 927 // BEGIN android-removed 928 // put("Alg.Alias.Signature.RIPEMD160WITHRSA", "RIPEMD160WithRSAEncryption"); 929 930 // put("Alg.Alias.Signature.SHA1withECDSA", "ECDSA"); 931 // put("Alg.Alias.Signature.ECDSAwithSHA1", "ECDSA"); 932 // put("Alg.Alias.Signature.SHA1WITHECDSA", "ECDSA"); 933 // put("Alg.Alias.Signature.ECDSAWITHSHA1", "ECDSA"); 934 // put("Alg.Alias.Signature.SHA1WithECDSA", "ECDSA"); 935 // put("Alg.Alias.Signature.ECDSAWithSHA1", "ECDSA"); 936 // put("Alg.Alias.Signature.1.2.840.10045.4.1", "ECDSA"); 937 938 // addSignatureAlgorithm("SHA224", "ECDSA", "org.bouncycastle.jce.provider.JDKDSASigner$ecDSA224", X9ObjectIdentifiers.ecdsa_with_SHA224); 939 // addSignatureAlgorithm("SHA256", "ECDSA", "org.bouncycastle.jce.provider.JDKDSASigner$ecDSA256", X9ObjectIdentifiers.ecdsa_with_SHA256); 940 // addSignatureAlgorithm("SHA384", "ECDSA", "org.bouncycastle.jce.provider.JDKDSASigner$ecDSA384", X9ObjectIdentifiers.ecdsa_with_SHA384); 941 // addSignatureAlgorithm("SHA512", "ECDSA", "org.bouncycastle.jce.provider.JDKDSASigner$ecDSA512", X9ObjectIdentifiers.ecdsa_with_SHA512); 942 // END android-removed 943 944 put("Alg.Alias.Signature.SHA/DSA", "DSA"); 945 put("Alg.Alias.Signature.SHA1withDSA", "DSA"); 946 put("Alg.Alias.Signature.SHA1WITHDSA", "DSA"); 947 put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.1", "DSA"); 948 put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.3", "DSA"); 949 put("Alg.Alias.Signature.DSAwithSHA1", "DSA"); 950 put("Alg.Alias.Signature.DSAWITHSHA1", "DSA"); 951 put("Alg.Alias.Signature.SHA1WithDSA", "DSA"); 952 put("Alg.Alias.Signature.DSAWithSHA1", "DSA"); 953 put("Alg.Alias.Signature.1.2.840.10040.4.3", "DSA"); 954 put("Alg.Alias.Signature.MD5WithRSA/ISO9796-2", "MD5withRSA/ISO9796-2"); 955 put("Alg.Alias.Signature.SHA1WithRSA/ISO9796-2", "SHA1withRSA/ISO9796-2"); 956 // BEGIN android-removed 957 // put("Alg.Alias.Signature.RIPEMD160WithRSA/ISO9796-2", "RIPEMD160withRSA/ISO9796-2"); 958 959 // put("Signature.ECGOST3410", "org.bouncycastle.jce.provider.JDKGOST3410Signer$ecgost3410"); 960 // put("Alg.Alias.Signature.ECGOST-3410", "ECGOST3410"); 961 // put("Alg.Alias.Signature.GOST-3410-2001", "ECGOST3410"); 962 // put("Alg.Alias.Signature.GOST3411withECGOST3410", "ECGOST3410"); 963 // put("Alg.Alias.Signature.GOST3411WITHECGOST3410", "ECGOST3410"); 964 // put("Alg.Alias.Signature.GOST3411WithECGOST3410", "ECGOST3410"); 965 // put("Alg.Alias.Signature." + CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_2001, "ECGOST3410"); 966 967 // put("Signature.GOST3410", "org.bouncycastle.jce.provider.JDKGOST3410Signer$gost3410"); 968 // put("Alg.Alias.Signature.GOST-3410", "GOST3410"); 969 // put("Alg.Alias.Signature.GOST-3410-94", "GOST3410"); 970 // put("Alg.Alias.Signature.GOST3411withGOST3410", "GOST3410"); 971 // put("Alg.Alias.Signature.GOST3411WITHGOST3410", "GOST3410"); 972 // put("Alg.Alias.Signature.GOST3411WithGOST3410", "GOST3410"); 973 // put("Alg.Alias.Signature." + CryptoProObjectIdentifiers.gostR3411_94_with_gostR3410_94, "GOST3410"); 974 // END android-removed 975 } 976 977 // BEGIN android-removed 978 // private void addSignatureAlgorithm( 979 // String digest, 980 // String algorithm, 981 // String className, 982 // DERObjectIdentifier oid) 983 // { 984 // String mainName = digest + "WITH" + algorithm; 985 // String jdk11Variation1 = digest + "with" + algorithm; 986 // String jdk11Variation2 = digest + "With" + algorithm; 987 // String alias = digest + "/" + algorithm; 988 989 // put("Signature." + mainName, className); 990 // put("Alg.Alias.Signature." + jdk11Variation1, mainName); 991 // put("Alg.Alias.Signature." + jdk11Variation2, mainName); 992 // put("Alg.Alias.Signature." + alias, mainName); 993 // put("Alg.Alias.Signature." + oid, mainName); 994 // put("Alg.Alias.Signature.OID." + oid, mainName); 995 // } 996 // END android-removed 997} 998