DSA.java revision b7130ea4e4acaafb59cba3a5a1cadb08ed9c4853
1package org.bouncycastle.jcajce.provider.asymmetric; 2 3import org.bouncycastle.asn1.nist.NISTObjectIdentifiers; 4import org.bouncycastle.jcajce.provider.asymmetric.dsa.DSAUtil; 5import org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyFactorySpi; 6import org.bouncycastle.jcajce.provider.config.ConfigurableProvider; 7import org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider; 8import org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter; 9 10public class DSA 11{ 12 private static final String PREFIX = "org.bouncycastle.jcajce.provider.asymmetric" + ".dsa."; 13 14 public static class Mappings 15 extends AsymmetricAlgorithmProvider 16 { 17 public Mappings() 18 { 19 } 20 21 public void configure(ConfigurableProvider provider) 22 { 23 provider.addAlgorithm("AlgorithmParameters.DSA", PREFIX + "AlgorithmParametersSpi"); 24 25 provider.addAlgorithm("AlgorithmParameterGenerator.DSA", PREFIX + "AlgorithmParameterGeneratorSpi"); 26 27 provider.addAlgorithm("KeyPairGenerator.DSA", PREFIX + "KeyPairGeneratorSpi"); 28 provider.addAlgorithm("KeyFactory.DSA", PREFIX + "KeyFactorySpi"); 29 30 // BEGIN android-changed 31 provider.addAlgorithm("Signature.SHA1withDSA", PREFIX + "DSASigner$stdDSA"); 32 // END android-changed 33 provider.addAlgorithm("Signature.NONEWITHDSA", PREFIX + "DSASigner$noneDSA"); 34 35 provider.addAlgorithm("Alg.Alias.Signature.RAWDSA", "NONEWITHDSA"); 36 37 // BEGIN android-removed 38 // provider.addAlgorithm("Signature.DETDSA", PREFIX + "DSASigner$detDSA"); 39 // provider.addAlgorithm("Signature.SHA1WITHDETDSA", PREFIX + "DSASigner$detDSA"); 40 // provider.addAlgorithm("Signature.SHA224WITHDETDSA", PREFIX + "DSASigner$detDSA224"); 41 // provider.addAlgorithm("Signature.SHA256WITHDETDSA", PREFIX + "DSASigner$detDSA256"); 42 // provider.addAlgorithm("Signature.SHA384WITHDETDSA", PREFIX + "DSASigner$detDSA384"); 43 // provider.addAlgorithm("Signature.SHA512WITHDETDSA", PREFIX + "DSASigner$detDSA512"); 44 // END android-removed 45 46 addSignatureAlgorithm(provider, "SHA224", "DSA", PREFIX + "DSASigner$dsa224", NISTObjectIdentifiers.dsa_with_sha224); 47 addSignatureAlgorithm(provider, "SHA256", "DSA", PREFIX + "DSASigner$dsa256", NISTObjectIdentifiers.dsa_with_sha256); 48 // BEGIN android-removed 49 // addSignatureAlgorithm(provider, "SHA384", "DSA", PREFIX + "DSASigner$dsa384", NISTObjectIdentifiers.dsa_with_sha384); 50 // addSignatureAlgorithm(provider, "SHA512", "DSA", PREFIX + "DSASigner$dsa512", NISTObjectIdentifiers.dsa_with_sha512); 51 // END android-removed 52 53 // BEGIN android-added 54 provider.addAlgorithm("Alg.Alias.Signature.DSA", "SHA1withDSA"); 55 // END android-added 56 // BEGIN android-changed 57 provider.addAlgorithm("Alg.Alias.Signature.SHA/DSA", "SHA1withDSA"); 58 provider.addAlgorithm("Alg.Alias.Signature.SHA1withDSA", "SHA1withDSA"); 59 provider.addAlgorithm("Alg.Alias.Signature.SHA1WITHDSA", "SHA1withDSA"); 60 provider.addAlgorithm("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.1", "SHA1withDSA"); 61 provider.addAlgorithm("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.3", "SHA1withDSA"); 62 provider.addAlgorithm("Alg.Alias.Signature.DSAwithSHA1", "SHA1withDSA"); 63 provider.addAlgorithm("Alg.Alias.Signature.DSAWITHSHA1", "SHA1withDSA"); 64 provider.addAlgorithm("Alg.Alias.Signature.SHA1WithDSA", "SHA1withDSA"); 65 provider.addAlgorithm("Alg.Alias.Signature.DSAWithSHA1", "SHA1withDSA"); 66 67 provider.addAlgorithm("Alg.Alias.Signature.1.2.840.10040.4.3", "SHA1withDSA"); 68 // END android-changed 69 70 AsymmetricKeyInfoConverter keyFact = new KeyFactorySpi(); 71 72 for (int i = 0; i != DSAUtil.dsaOids.length; i++) 73 { 74 // BEGIN android-changed 75 provider.addAlgorithm("Alg.Alias.Signature." + DSAUtil.dsaOids[i], "SHA1withDSA"); 76 // END android-changed 77 78 registerOid(provider, DSAUtil.dsaOids[i], "DSA", keyFact); 79 registerOidAlgorithmParameters(provider, DSAUtil.dsaOids[i], "DSA"); 80 } 81 } 82 } 83} 84