| 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.AlgorithmParameters." + oid, name); |
| } |
| |
| protected void registerOidAlgorithmParameterGenerator(ConfigurableProvider provider, ASN1ObjectIdentifier oid, String name) |
| { |
| provider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator." + oid, name); |
| provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + oid, name); |
| } |
| } |