14c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrompackage org.bouncycastle.jcajce.provider.digest;
24c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom
34c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1ObjectIdentifier;
44c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
54c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.jcajce.provider.util.AlgorithmProvider;
64c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom
74c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromabstract class DigestAlgorithmProvider
84c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom    extends AlgorithmProvider
94c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom{
104c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom    protected void addHMACAlgorithm(
114c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        ConfigurableProvider provider,
124c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        String algorithm,
134c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        String algorithmClassName,
144c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        String keyGeneratorClassName)
154c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom    {
164c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        String mainName = "HMAC" + algorithm;
174c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom
184c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("Mac." + mainName, algorithmClassName);
194c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("Alg.Alias.Mac.HMAC-" + algorithm, mainName);
204c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("Alg.Alias.Mac.HMAC/" + algorithm, mainName);
214c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("KeyGenerator." + mainName, keyGeneratorClassName);
224c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("Alg.Alias.KeyGenerator.HMAC-" + algorithm, mainName);
234c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("Alg.Alias.KeyGenerator.HMAC/" + algorithm, mainName);
244c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom    }
254c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom
264c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom    protected void addHMACAlias(
274c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        ConfigurableProvider provider,
284c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        String algorithm,
294c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        ASN1ObjectIdentifier oid)
304c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom    {
314c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        String mainName = "HMAC" + algorithm;
324c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom
334c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("Alg.Alias.Mac." + oid, mainName);
344c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom        provider.addAlgorithm("Alg.Alias.KeyGenerator." + oid, mainName);
354c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom    }
364c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom}
37