15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)package org.bouncycastle.jcajce.provider.asymmetric; 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// BEGIN android-removed 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// import org.bouncycastle.asn1.eac.EACObjectIdentifiers; 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// import org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers; 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// END android-removed 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.bouncycastle.asn1.x9.X9ObjectIdentifiers; 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.bouncycastle.jcajce.provider.asymmetric.ec.KeyFactorySpi; 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.bouncycastle.jcajce.provider.config.ConfigurableProvider; 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider; 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)public class EC 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private static final String PREFIX = "org.bouncycastle.jcajce.provider.asymmetric" + ".ec."; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public static class Mappings 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) extends AsymmetricAlgorithmProvider 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public Mappings() 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 22 23 public void configure(ConfigurableProvider provider) 24 { 25 provider.addAlgorithm("KeyAgreement.ECDH", PREFIX + "KeyAgreementSpi$DH"); 26 // BEGIN android-removed 27 // provider.addAlgorithm("KeyAgreement.ECDHC", PREFIX + "KeyAgreementSpi$DHC"); 28 // provider.addAlgorithm("KeyAgreement.ECMQV", PREFIX + "KeyAgreementSpi$MQV"); 29 // provider.addAlgorithm("KeyAgreement." + X9ObjectIdentifiers.dhSinglePass_stdDH_sha1kdf_scheme, PREFIX + "KeyAgreementSpi$DHwithSHA1KDF"); 30 // provider.addAlgorithm("KeyAgreement." + X9ObjectIdentifiers.mqvSinglePass_sha1kdf_scheme, PREFIX + "KeyAgreementSpi$MQVwithSHA1KDF"); 31 // END android-removed 32 33 registerOid(provider, X9ObjectIdentifiers.id_ecPublicKey, "EC", new KeyFactorySpi.EC()); 34 // TODO Should this be an alias for ECDH? 35 registerOid(provider, X9ObjectIdentifiers.dhSinglePass_stdDH_sha1kdf_scheme, "EC", new KeyFactorySpi.EC()); 36 // BEGIN android-removed 37 // registerOid(provider, X9ObjectIdentifiers.mqvSinglePass_sha1kdf_scheme, "ECMQV", new KeyFactorySpi.ECMQV()); 38 // END android-removed 39 40 // BEGIN android-removed 41 // registerOidAlgorithmParameters(provider, X9ObjectIdentifiers.id_ecPublicKey, "EC"); 42 // // TODO Should this be an alias for ECDH? 43 // registerOidAlgorithmParameters(provider, X9ObjectIdentifiers.dhSinglePass_stdDH_sha1kdf_scheme, "EC"); 44 // registerOidAlgorithmParameters(provider, X9ObjectIdentifiers.mqvSinglePass_sha1kdf_scheme, "EC"); 45 // END android-removed 46 47 provider.addAlgorithm("KeyFactory.EC", PREFIX + "KeyFactorySpi$EC"); 48 // BEGIN android-removed 49 // provider.addAlgorithm("KeyFactory.ECDSA", PREFIX + "KeyFactorySpi$ECDSA"); 50 // provider.addAlgorithm("KeyFactory.ECDH", PREFIX + "KeyFactorySpi$ECDH"); 51 // provider.addAlgorithm("KeyFactory.ECDHC", PREFIX + "KeyFactorySpi$ECDHC"); 52 // provider.addAlgorithm("KeyFactory.ECMQV", PREFIX + "KeyFactorySpi$ECMQV"); 53 // END android-removed 54 55 provider.addAlgorithm("KeyPairGenerator.EC", PREFIX + "KeyPairGeneratorSpi$EC"); 56 // BEGIN android-removed 57 // provider.addAlgorithm("KeyPairGenerator.ECDSA", PREFIX + "KeyPairGeneratorSpi$ECDSA"); 58 // provider.addAlgorithm("KeyPairGenerator.ECDH", PREFIX + "KeyPairGeneratorSpi$ECDH"); 59 // provider.addAlgorithm("KeyPairGenerator.ECDHC", PREFIX + "KeyPairGeneratorSpi$ECDHC"); 60 // provider.addAlgorithm("KeyPairGenerator.ECIES", PREFIX + "KeyPairGeneratorSpi$ECDH"); 61 // provider.addAlgorithm("KeyPairGenerator.ECMQV", PREFIX + "KeyPairGeneratorSpi$ECMQV"); 62 // 63 // provider.addAlgorithm("Cipher.ECIES", PREFIX + "IESCipher$ECIES"); 64 // provider.addAlgorithm("Cipher.ECIESwithAES", PREFIX + "IESCipher$ECIESwithAES"); 65 // provider.addAlgorithm("Cipher.ECIESWITHAES", PREFIX + "IESCipher$ECIESwithAES"); 66 // provider.addAlgorithm("Cipher.ECIESwithDESEDE", PREFIX + "IESCipher$ECIESwithDESede"); 67 // provider.addAlgorithm("Cipher.ECIESWITHDESEDE", PREFIX + "IESCipher$ECIESwithDESede"); 68 // END android-removed 69 70 provider.addAlgorithm("Signature.ECDSA", PREFIX + "SignatureSpi$ecDSA"); 71 provider.addAlgorithm("Signature.NONEwithECDSA", PREFIX + "SignatureSpi$ecDSAnone"); 72 73 provider.addAlgorithm("Alg.Alias.Signature.SHA1withECDSA", "ECDSA"); 74 provider.addAlgorithm("Alg.Alias.Signature.ECDSAwithSHA1", "ECDSA"); 75 provider.addAlgorithm("Alg.Alias.Signature.SHA1WITHECDSA", "ECDSA"); 76 provider.addAlgorithm("Alg.Alias.Signature.ECDSAWITHSHA1", "ECDSA"); 77 provider.addAlgorithm("Alg.Alias.Signature.SHA1WithECDSA", "ECDSA"); 78 provider.addAlgorithm("Alg.Alias.Signature.ECDSAWithSHA1", "ECDSA"); 79 provider.addAlgorithm("Alg.Alias.Signature.1.2.840.10045.4.1", "ECDSA"); 80 // BEGIN android-removed 81 // provider.addAlgorithm("Alg.Alias.Signature." + TeleTrusTObjectIdentifiers.ecSignWithSha1, "ECDSA"); 82 // END android-removed 83 84 // BEGIN android-removed 85 // addSignatureAlgorithm(provider, "SHA224", "ECDSA", PREFIX + "SignatureSpi$ecDSA224", X9ObjectIdentifiers.ecdsa_with_SHA224); 86 // END android-removed 87 addSignatureAlgorithm(provider, "SHA256", "ECDSA", PREFIX + "SignatureSpi$ecDSA256", X9ObjectIdentifiers.ecdsa_with_SHA256); 88 addSignatureAlgorithm(provider, "SHA384", "ECDSA", PREFIX + "SignatureSpi$ecDSA384", X9ObjectIdentifiers.ecdsa_with_SHA384); 89 addSignatureAlgorithm(provider, "SHA512", "ECDSA", PREFIX + "SignatureSpi$ecDSA512", X9ObjectIdentifiers.ecdsa_with_SHA512); 90 // BEGIN android-removed 91 // addSignatureAlgorithm(provider, "RIPEMD160", "ECDSA", PREFIX + "SignatureSpi$ecDSARipeMD160",TeleTrusTObjectIdentifiers.ecSignWithRipemd160); 92 // 93 // provider.addAlgorithm("Signature.SHA1WITHECNR", PREFIX + "SignatureSpi$ecNR"); 94 // provider.addAlgorithm("Signature.SHA224WITHECNR", PREFIX + "SignatureSpi$ecNR224"); 95 // provider.addAlgorithm("Signature.SHA256WITHECNR", PREFIX + "SignatureSpi$ecNR256"); 96 // provider.addAlgorithm("Signature.SHA384WITHECNR", PREFIX + "SignatureSpi$ecNR384"); 97 // provider.addAlgorithm("Signature.SHA512WITHECNR", PREFIX + "SignatureSpi$ecNR512"); 98 // 99 // addSignatureAlgorithm(provider, "SHA1", "CVC-ECDSA", PREFIX + "SignatureSpi$ecCVCDSA", EACObjectIdentifiers.id_TA_ECDSA_SHA_1); 100 // addSignatureAlgorithm(provider, "SHA224", "CVC-ECDSA", PREFIX + "SignatureSpi$ecCVCDSA224", EACObjectIdentifiers.id_TA_ECDSA_SHA_224); 101 // addSignatureAlgorithm(provider, "SHA256", "CVC-ECDSA", PREFIX + "SignatureSpi$ecCVCDSA256", EACObjectIdentifiers.id_TA_ECDSA_SHA_256); 102 // addSignatureAlgorithm(provider, "SHA384", "CVC-ECDSA", PREFIX + "SignatureSpi$ecCVCDSA384", EACObjectIdentifiers.id_TA_ECDSA_SHA_384); 103 // addSignatureAlgorithm(provider, "SHA512", "CVC-ECDSA", PREFIX + "SignatureSpi$ecCVCDSA512", EACObjectIdentifiers.id_TA_ECDSA_SHA_512); 104 // END android-removed 105 } 106 } 107} 108