1package org.bouncycastle.jcajce.provider.asymmetric; 2 3import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers; 4import org.bouncycastle.asn1.x9.X9ObjectIdentifiers; 5import org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi; 6import org.bouncycastle.jcajce.provider.config.ConfigurableProvider; 7import org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider; 8 9public class DH 10{ 11 private static final String PREFIX = "org.bouncycastle.jcajce.provider.asymmetric" + ".dh."; 12 13 public static class Mappings 14 extends AsymmetricAlgorithmProvider 15 { 16 public Mappings() 17 { 18 } 19 20 public void configure(ConfigurableProvider provider) 21 { 22 provider.addAlgorithm("KeyPairGenerator.DH", PREFIX + "KeyPairGeneratorSpi"); 23 provider.addAlgorithm("Alg.Alias.KeyPairGenerator.DIFFIEHELLMAN", "DH"); 24 25 provider.addAlgorithm("KeyAgreement.DH", PREFIX + "KeyAgreementSpi"); 26 provider.addAlgorithm("Alg.Alias.KeyAgreement.DIFFIEHELLMAN", "DH"); 27 28 provider.addAlgorithm("KeyFactory.DH", PREFIX + "KeyFactorySpi"); 29 provider.addAlgorithm("Alg.Alias.KeyFactory.DIFFIEHELLMAN", "DH"); 30 31 provider.addAlgorithm("AlgorithmParameters.DH", PREFIX + "AlgorithmParametersSpi"); 32 provider.addAlgorithm("Alg.Alias.AlgorithmParameters.DIFFIEHELLMAN", "DH"); 33 34 provider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator.DIFFIEHELLMAN", "DH"); 35 36 provider.addAlgorithm("AlgorithmParameterGenerator.DH", PREFIX + "AlgorithmParameterGeneratorSpi"); 37 38 // BEGIN android-removed 39 // provider.addAlgorithm("Cipher.DHIES", PREFIX + "IESCipher$IES"); 40 // provider.addAlgorithm("Cipher.DHIESwithAES", PREFIX + "IESCipher$IESwithAES"); 41 // provider.addAlgorithm("Cipher.DHIESWITHAES", PREFIX + "IESCipher$IESwithAES"); 42 // provider.addAlgorithm("Cipher.DHIESWITHDESEDE", PREFIX + "IESCipher$IESwithDESede"); 43 // END android-removed 44 45 registerOid(provider, PKCSObjectIdentifiers.dhKeyAgreement, "DH", new KeyFactorySpi()); 46 registerOid(provider, X9ObjectIdentifiers.dhpublicnumber, "DH", new KeyFactorySpi()); 47 } 48 } 49} 50