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

package com.google.crypto.tink.signature;

import com.google.crypto.tink.config.TinkFips;
import java.security.GeneralSecurityException;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.crypto.tink.proto.RegistryConfig;

public final class SignatureConfig
{
    public static final String ECDSA_PUBLIC_KEY_TYPE_URL;
    public static final String ECDSA_PRIVATE_KEY_TYPE_URL;
    public static final String ED25519_PUBLIC_KEY_TYPE_URL;
    public static final String ED25519_PRIVATE_KEY_TYPE_URL;
    public static final String RSA_PKCS1_PRIVATE_KEY_TYPE_URL;
    public static final String RSA_PKCS1_PUBLIC_KEY_TYPE_URL;
    public static final String RSA_PSS_PRIVATE_KEY_TYPE_URL;
    public static final String RSA_PSS_PUBLIC_KEY_TYPE_URL;
    @Deprecated
    public static final RegistryConfig TINK_1_0_0;
    @Deprecated
    public static final RegistryConfig TINK_1_1_0;
    @Deprecated
    public static final RegistryConfig LATEST;
    
    @CanIgnoreReturnValue
    private static String initializeClassReturnInput(final String s) {
        return s;
    }
    
    @Deprecated
    public static void init() throws GeneralSecurityException {
        register();
    }
    
    public static void register() throws GeneralSecurityException {
        PublicKeySignWrapper.register();
        PublicKeyVerifyWrapper.register();
        EcdsaSignKeyManager.registerPair(true);
        RsaSsaPkcs1SignKeyManager.registerPair(true);
        RsaSsaPssSignKeyManager.registerPair(true);
        if (TinkFips.useOnlyFips()) {
            return;
        }
        Ed25519PrivateKeyManager.registerPair(true);
    }
    
    private SignatureConfig() {
    }
    
    static {
        ECDSA_PUBLIC_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.EcdsaPublicKey");
        ECDSA_PRIVATE_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.EcdsaPrivateKey");
        ED25519_PUBLIC_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.Ed25519PublicKey");
        ED25519_PRIVATE_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.Ed25519PrivateKey");
        RSA_PKCS1_PRIVATE_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.RsaSsaPkcs1PrivateKey");
        RSA_PKCS1_PUBLIC_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.RsaSsaPkcs1PublicKey");
        RSA_PSS_PRIVATE_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.RsaSsaPssPrivateKey");
        RSA_PSS_PUBLIC_KEY_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.RsaSsaPssPublicKey");
        TINK_1_0_0 = RegistryConfig.getDefaultInstance();
        TINK_1_1_0 = RegistryConfig.getDefaultInstance();
        LATEST = RegistryConfig.getDefaultInstance();
        try {
            init();
        }
        catch (final GeneralSecurityException e) {
            throw new ExceptionInInitializerError(e);
        }
    }
}
