14c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrompackage org.bouncycastle.jcajce.provider.asymmetric; 24c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 316fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root// BEGIN android-added 416fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Rootimport org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers; 516fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Rootimport org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi; 616fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root// END android-added 74c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.jcajce.provider.config.ConfigurableProvider; 84c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider; 916fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root// BEGIN android-added 1016fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Rootimport org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter; 1116fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root// END android-added 124c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 134c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrompublic class DH 144c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom{ 154c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom private static final String PREFIX = "org.bouncycastle.jcajce.provider.asymmetric" + ".dh."; 164c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 174c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public static class Mappings 184c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom extends AsymmetricAlgorithmProvider 194c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 204c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public Mappings() 214c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 224c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 234c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 244c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public void configure(ConfigurableProvider provider) 254c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 264c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("KeyPairGenerator.DH", PREFIX + "KeyPairGeneratorSpi"); 274c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("Alg.Alias.KeyPairGenerator.DIFFIEHELLMAN", "DH"); 284c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 294c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("KeyAgreement.DH", PREFIX + "KeyAgreementSpi"); 304c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("Alg.Alias.KeyAgreement.DIFFIEHELLMAN", "DH"); 314c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 324c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("KeyFactory.DH", PREFIX + "KeyFactorySpi"); 334c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("Alg.Alias.KeyFactory.DIFFIEHELLMAN", "DH"); 3416fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root // BEGIN android-added 3516fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root AsymmetricKeyInfoConverter keyFact = new KeyFactorySpi(); 3616fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root registerOid(provider, PKCSObjectIdentifiers.dhKeyAgreement, "DH", keyFact); 3716fbd3bddeabacaa6b64a84b547708a84a6ddf98Kenny Root // END android-added 384c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 394c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("AlgorithmParameters.DH", PREFIX + "AlgorithmParametersSpi"); 404c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("Alg.Alias.AlgorithmParameters.DIFFIEHELLMAN", "DH"); 414c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 424c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator.DIFFIEHELLMAN", "DH"); 434c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 444c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom provider.addAlgorithm("AlgorithmParameterGenerator.DH", PREFIX + "AlgorithmParameterGeneratorSpi"); 45e1142c149e244797ce73b0e7fad40816e447a817Brian Carlstrom 46e1142c149e244797ce73b0e7fad40816e447a817Brian Carlstrom // BEGIN android-removed 47e1142c149e244797ce73b0e7fad40816e447a817Brian Carlstrom // provider.addAlgorithm("Cipher.DHIES", PREFIX + "IESCipher$IES"); 48e1142c149e244797ce73b0e7fad40816e447a817Brian Carlstrom // provider.addAlgorithm("Cipher.DHIESwithAES", PREFIX + "IESCipher$IESwithAES"); 49e1142c149e244797ce73b0e7fad40816e447a817Brian Carlstrom // provider.addAlgorithm("Cipher.DHIESWITHAES", PREFIX + "IESCipher$IESwithAES"); 50e1142c149e244797ce73b0e7fad40816e447a817Brian Carlstrom // provider.addAlgorithm("Cipher.DHIESWITHDESEDE", PREFIX + "IESCipher$IESwithDESede"); 51e1142c149e244797ce73b0e7fad40816e447a817Brian Carlstrom // END android-removed 524c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 534c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 544c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom} 55