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

package com.google.crypto.tink.subtle;

import java.security.interfaces.ECPublicKey;
import java.security.GeneralSecurityException;
import com.google.crypto.tink.signature.EcdsaPublicKey;
import com.google.crypto.tink.config.internal.TinkFipsUtil;
import com.google.errorprone.annotations.Immutable;
import com.google.crypto.tink.PublicKeyVerify;

@Immutable
public final class EcdsaVerifyJce implements PublicKeyVerify
{
    public static final TinkFipsUtil.AlgorithmFipsCompatibility FIPS;
    private final PublicKeyVerify verifier;
    
    public static PublicKeyVerify create(final EcdsaPublicKey key) throws GeneralSecurityException {
        return com.google.crypto.tink.signature.internal.EcdsaVerifyJce.create(key);
    }
    
    public EcdsaVerifyJce(final ECPublicKey publicKey, final Enums.HashType hash, final EllipticCurves.EcdsaEncoding encoding) throws GeneralSecurityException {
        this.verifier = new com.google.crypto.tink.signature.internal.EcdsaVerifyJce(publicKey, hash, encoding);
    }
    
    @Override
    public void verify(final byte[] signature, final byte[] data) throws GeneralSecurityException {
        this.verifier.verify(signature, data);
    }
    
    static {
        FIPS = TinkFipsUtil.AlgorithmFipsCompatibility.ALGORITHM_REQUIRES_BORINGCRYPTO;
    }
}
