98 lines
3.0 KiB
Java
98 lines
3.0 KiB
Java
package com.google.android.gms.internal.p002firebaseauthapi;
|
|
|
|
import java.security.GeneralSecurityException;
|
|
import java.security.InvalidAlgorithmParameterException;
|
|
import java.security.Key;
|
|
import java.security.NoSuchAlgorithmException;
|
|
import java.util.Arrays;
|
|
import javax.crypto.Mac;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class zzqn implements zzjk {
|
|
private final ThreadLocal zza;
|
|
private final String zzb;
|
|
private final Key zzc;
|
|
private final int zzd;
|
|
|
|
/* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
|
|
public zzqn(String str, Key key) throws GeneralSecurityException {
|
|
char c;
|
|
int i;
|
|
zzqm zzqmVar = new zzqm(this);
|
|
this.zza = zzqmVar;
|
|
if (!zzdv.zza(2)) {
|
|
throw new GeneralSecurityException("Can not use HMAC in FIPS-mode, as BoringCrypto module is not available.");
|
|
}
|
|
this.zzb = str;
|
|
this.zzc = key;
|
|
if (key.getEncoded().length < 16) {
|
|
throw new InvalidAlgorithmParameterException("key size too small, need at least 16 bytes");
|
|
}
|
|
switch (str.hashCode()) {
|
|
case -1823053428:
|
|
if (str.equals("HMACSHA1")) {
|
|
c = 0;
|
|
break;
|
|
}
|
|
c = 65535;
|
|
break;
|
|
case 392315023:
|
|
if (str.equals("HMACSHA224")) {
|
|
c = 1;
|
|
break;
|
|
}
|
|
c = 65535;
|
|
break;
|
|
case 392315118:
|
|
if (str.equals("HMACSHA256")) {
|
|
c = 2;
|
|
break;
|
|
}
|
|
c = 65535;
|
|
break;
|
|
case 392316170:
|
|
if (str.equals("HMACSHA384")) {
|
|
c = 3;
|
|
break;
|
|
}
|
|
c = 65535;
|
|
break;
|
|
case 392317873:
|
|
if (str.equals("HMACSHA512")) {
|
|
c = 4;
|
|
break;
|
|
}
|
|
c = 65535;
|
|
break;
|
|
default:
|
|
c = 65535;
|
|
break;
|
|
}
|
|
if (c == 0) {
|
|
i = 20;
|
|
} else if (c == 1) {
|
|
i = 28;
|
|
} else if (c == 2) {
|
|
i = 32;
|
|
} else if (c == 3) {
|
|
i = 48;
|
|
} else {
|
|
if (c != 4) {
|
|
throw new NoSuchAlgorithmException("unknown Hmac algorithm: ".concat(str));
|
|
}
|
|
i = 64;
|
|
}
|
|
this.zzd = i;
|
|
zzqmVar.get();
|
|
}
|
|
|
|
@Override // com.google.android.gms.internal.p002firebaseauthapi.zzjk
|
|
public final byte[] zza(byte[] bArr, int i) throws GeneralSecurityException {
|
|
if (i > this.zzd) {
|
|
throw new InvalidAlgorithmParameterException("tag size too big");
|
|
}
|
|
((Mac) this.zza.get()).update(bArr);
|
|
return Arrays.copyOf(((Mac) this.zza.get()).doFinal(), i);
|
|
}
|
|
}
|