diff options
Diffstat (limited to 'prov/src/main/java/org/spongycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java')
-rw-r--r-- | prov/src/main/java/org/spongycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/prov/src/main/java/org/spongycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java b/prov/src/main/java/org/spongycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java new file mode 100644 index 00000000..77218f47 --- /dev/null +++ b/prov/src/main/java/org/spongycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java @@ -0,0 +1,42 @@ +package org.spongycastle.jcajce.provider.util; + +import org.spongycastle.asn1.ASN1ObjectIdentifier; +import org.spongycastle.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); + } +} |