// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.jcajce.provider.util;

import java.util.Map;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;

public abstract class AsymmetricAlgorithmProvider extends AlgorithmProvider
{
    protected void addSignatureAlgorithm(final ConfigurableProvider configurableProvider, final String str, final String s, final ASN1ObjectIdentifier asn1ObjectIdentifier) {
        configurableProvider.addAlgorithm("Signature." + str, s);
        if (asn1ObjectIdentifier != null) {
            configurableProvider.addAlgorithm("Alg.Alias.Signature." + asn1ObjectIdentifier, str);
            configurableProvider.addAlgorithm("Alg.Alias.Signature.OID." + asn1ObjectIdentifier, str);
        }
    }
    
    protected void addSignatureAlias(final ConfigurableProvider configurableProvider, final String s, final ASN1ObjectIdentifier asn1ObjectIdentifier) {
        configurableProvider.addAlgorithm("Alg.Alias.Signature." + asn1ObjectIdentifier, s);
        configurableProvider.addAlgorithm("Alg.Alias.Signature.OID." + asn1ObjectIdentifier, s);
    }
    
    protected void addSignatureAlgorithm(final ConfigurableProvider configurableProvider, final String s, final String s2, final String s3) {
        this.addSignatureAlgorithm(configurableProvider, s, s2, s3, null);
    }
    
    protected void addSignatureAlgorithm(final ConfigurableProvider configurableProvider, final String s, final String s2, final String s3, final ASN1ObjectIdentifier asn1ObjectIdentifier) {
        final String string = s + "WITH" + s2;
        final String string2 = s + "with" + s2;
        final String string3 = s + "With" + s2;
        final String string4 = s + "/" + s2;
        configurableProvider.addAlgorithm("Signature." + string, s3);
        configurableProvider.addAlgorithm("Alg.Alias.Signature." + string2, string);
        configurableProvider.addAlgorithm("Alg.Alias.Signature." + string3, string);
        configurableProvider.addAlgorithm("Alg.Alias.Signature." + string4, string);
        if (asn1ObjectIdentifier != null) {
            configurableProvider.addAlgorithm("Alg.Alias.Signature." + asn1ObjectIdentifier, string);
            configurableProvider.addAlgorithm("Alg.Alias.Signature.OID." + asn1ObjectIdentifier, string);
        }
    }
    
    protected void addSignatureAlgorithm(final ConfigurableProvider configurableProvider, final String s, final String s2, final String s3, final ASN1ObjectIdentifier asn1ObjectIdentifier, final Map<String, String> map) {
        final String string = s + "WITH" + s2;
        final String string2 = s + "with" + s2;
        final String string3 = s + "With" + s2;
        final String string4 = s + "/" + s2;
        configurableProvider.addAlgorithm("Signature." + string, s3);
        configurableProvider.addAlgorithm("Alg.Alias.Signature." + string2, string);
        configurableProvider.addAlgorithm("Alg.Alias.Signature." + string3, string);
        configurableProvider.addAlgorithm("Alg.Alias.Signature." + string4, string);
        if (asn1ObjectIdentifier != null) {
            configurableProvider.addAlgorithm("Alg.Alias.Signature." + asn1ObjectIdentifier, string);
            configurableProvider.addAlgorithm("Alg.Alias.Signature.OID." + asn1ObjectIdentifier, string);
        }
        configurableProvider.addAttributes("Signature." + string, map);
    }
    
    protected void addKeyPairGeneratorAlgorithm(final ConfigurableProvider configurableProvider, final String str, final String s, final ASN1ObjectIdentifier asn1ObjectIdentifier) {
        configurableProvider.addAlgorithm("KeyPairGenerator." + str, s);
        if (asn1ObjectIdentifier != null) {
            configurableProvider.addAlgorithm("Alg.Alias.KeyPairGenerator." + asn1ObjectIdentifier, str);
            configurableProvider.addAlgorithm("Alg.Alias.KeyPairGenerator.OID." + asn1ObjectIdentifier, str);
        }
    }
    
    protected void addKeyFactoryAlgorithm(final ConfigurableProvider configurableProvider, final String str, final String s, final ASN1ObjectIdentifier asn1ObjectIdentifier, final AsymmetricKeyInfoConverter asymmetricKeyInfoConverter) {
        configurableProvider.addAlgorithm("KeyFactory." + str, s);
        if (asn1ObjectIdentifier != null) {
            configurableProvider.addAlgorithm("Alg.Alias.KeyFactory." + asn1ObjectIdentifier, str);
            configurableProvider.addAlgorithm("Alg.Alias.KeyFactory.OID." + asn1ObjectIdentifier, str);
            configurableProvider.addKeyInfoConverter(asn1ObjectIdentifier, asymmetricKeyInfoConverter);
        }
    }
    
    protected void addKeyGeneratorAlgorithm(final ConfigurableProvider configurableProvider, final String str, final String s, final ASN1ObjectIdentifier asn1ObjectIdentifier) {
        configurableProvider.addAlgorithm("KeyGenerator." + str, s);
        if (asn1ObjectIdentifier != null) {
            configurableProvider.addAlgorithm("Alg.Alias.KeyGenerator." + asn1ObjectIdentifier, str);
            configurableProvider.addAlgorithm("Alg.Alias.KeyGenerator.OID." + asn1ObjectIdentifier, str);
        }
    }
    
    protected void addCipherAlgorithm(final ConfigurableProvider configurableProvider, final String str, final String s, final ASN1ObjectIdentifier asn1ObjectIdentifier) {
        configurableProvider.addAlgorithm("Cipher." + str, s);
        if (asn1ObjectIdentifier != null) {
            configurableProvider.addAlgorithm("Alg.Alias.Cipher." + asn1ObjectIdentifier, str);
            configurableProvider.addAlgorithm("Alg.Alias.Cipher.OID." + asn1ObjectIdentifier, str);
        }
    }
    
    protected void registerKeyFactoryOid(final ConfigurableProvider configurableProvider, final ASN1ObjectIdentifier asn1ObjectIdentifier, final String s, final AsymmetricKeyInfoConverter asymmetricKeyInfoConverter) {
        configurableProvider.addAlgorithm("Alg.Alias.KeyFactory." + asn1ObjectIdentifier, s);
        configurableProvider.addAlgorithm("Alg.Alias.KeyFactory.OID." + asn1ObjectIdentifier, s);
        configurableProvider.addKeyInfoConverter(asn1ObjectIdentifier, asymmetricKeyInfoConverter);
    }
    
    protected void registerOid(final ConfigurableProvider configurableProvider, final ASN1ObjectIdentifier asn1ObjectIdentifier, final String s, final AsymmetricKeyInfoConverter asymmetricKeyInfoConverter) {
        configurableProvider.addAlgorithm("Alg.Alias.KeyFactory." + asn1ObjectIdentifier, s);
        configurableProvider.addAlgorithm("Alg.Alias.KeyPairGenerator." + asn1ObjectIdentifier, s);
        configurableProvider.addKeyInfoConverter(asn1ObjectIdentifier, asymmetricKeyInfoConverter);
    }
    
    protected void registerOidAlgorithmParameters(final ConfigurableProvider configurableProvider, final ASN1ObjectIdentifier obj, final String s) {
        configurableProvider.addAlgorithm("Alg.Alias.AlgorithmParameters." + obj, s);
    }
    
    protected void registerOidAlgorithmParameterGenerator(final ConfigurableProvider configurableProvider, final ASN1ObjectIdentifier asn1ObjectIdentifier, final String s) {
        configurableProvider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator." + asn1ObjectIdentifier, s);
        configurableProvider.addAlgorithm("Alg.Alias.AlgorithmParameters." + asn1ObjectIdentifier, s);
    }
}
