1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package org.bouncycastle.jcajce.provider.util;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
public abstract class AsymmetricAlgorithmProvider
extends AlgorithmProvider
{
protected void addSignatureAlgorithm(
ConfigurableProvider provider,
String digest,
String algorithm,
String className,
ASN1ObjectIdentifier oid)
{
String mainName = digest + "WITH" + algorithm;
String jdk11Variation1 = digest + "with" + algorithm;
String jdk11Variation2 = digest + "With" + algorithm;
String alias = digest + "/" + algorithm;
provider.addAlgorithm("Signature." + mainName, className);
provider.addAlgorithm("Alg.Alias.Signature." + jdk11Variation1, mainName);
provider.addAlgorithm("Alg.Alias.Signature." + jdk11Variation2, mainName);
provider.addAlgorithm("Alg.Alias.Signature." + alias, mainName);
provider.addAlgorithm("Alg.Alias.Signature." + oid, mainName);
provider.addAlgorithm("Alg.Alias.Signature.OID." + oid, mainName);
}
protected void registerOid(ConfigurableProvider provider, ASN1ObjectIdentifier oid, String name, AsymmetricKeyInfoConverter keyFactory)
{
provider.addAlgorithm("Alg.Alias.KeyFactory." + oid, name);
provider.addAlgorithm("Alg.Alias.KeyPairGenerator." + oid, name);
provider.addKeyInfoConverter(oid, keyFactory);
}
protected void registerOidAlgorithmParameters(ConfigurableProvider provider, ASN1ObjectIdentifier oid, String name)
{
provider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator." + oid, name);
provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + oid, name);
}
}
|