package com.google.android.gms.internal.pal;

import android.os.Build;
import java.security.GeneralSecurityException;
import java.security.spec.AlgorithmParameterSpec;
import javax.crypto.Cipher;
import javax.crypto.spec.GCMParameterSpec;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

/* JADX INFO: loaded from: classes2.dex */
public final class f8 {

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    public static final com.google.android.gms.common.api.internal.x0 f20908c = new com.google.android.gms.common.api.internal.x0(10);

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    public final SecretKeySpec f20909a;

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    public final boolean f20910b;

    public f8(byte[] bArr, boolean z10) throws GeneralSecurityException {
        if (!q9.y(2)) {
            throw new GeneralSecurityException("Can not use AES-GCM in FIPS-mode, as BoringCrypto module is not available.");
        }
        je.a(bArr.length);
        this.f20909a = new SecretKeySpec(bArr, "AES");
        this.f20910b = z10;
    }

    public final byte[] a(byte[] bArr, byte[] bArr2) throws GeneralSecurityException {
        if (bArr.length != 12) {
            throw new GeneralSecurityException("iv is wrong size");
        }
        int length = bArr2.length;
        if (length > 2147483619) {
            throw new GeneralSecurityException("plaintext too long");
        }
        boolean z10 = this.f20910b;
        byte[] bArr3 = new byte[z10 ? length + 28 : length + 16];
        if (z10) {
            System.arraycopy(bArr, 0, bArr3, 0, 12);
        }
        AlgorithmParameterSpec gCMParameterSpec = (!"The Android Project".equals(System.getProperty("java.vendor")) || Integer.valueOf(Build.VERSION.SDK_INT).intValue() > 19) ? new GCMParameterSpec(128, bArr, 0, 12) : new IvParameterSpec(bArr, 0, 12);
        com.google.android.gms.common.api.internal.x0 x0Var = f20908c;
        ((Cipher) x0Var.get()).init(1, this.f20909a, gCMParameterSpec);
        int iDoFinal = ((Cipher) x0Var.get()).doFinal(bArr2, 0, length, bArr3, true != z10 ? 0 : 12);
        if (iDoFinal == length + 16) {
            return bArr3;
        }
        throw new GeneralSecurityException(String.format("encryption failed; GCM tag must be %s bytes, but got only %s bytes", 16, Integer.valueOf(iDoFinal - length)));
    }
}
