package com.google.android.gms.internal.p002firebaseauthapi; import java.nio.charset.Charset; import java.security.GeneralSecurityException; import java.util.ArrayList; import java.util.Collections; import java.util.List; /* loaded from: classes.dex */ public final class zzbz { private final zztp zza; private final List zzb; private final zzom zzc = zzom.zza; private zzbz(zztp zztpVar, List list) { this.zza = zztpVar; this.zzb = list; } static final zzbz zza(zztp zztpVar) { zzl(zztpVar); return new zzbz(zztpVar, zzk(zztpVar)); } public static final zzbz zzh(zzbe zzbeVar, zzbd zzbdVar) { byte[] bArr = new byte[0]; zzry zza = zzbeVar.zza(); if (zza == null || zza.zzd().zzd() == 0) { throw new GeneralSecurityException("empty keyset"); } try { zztp zzg = zztp.zzg(zzbdVar.zza(zza.zzd().zzq(), bArr), zzagq.zza()); zzl(zzg); return zza(zzg); } catch (zzahl unused) { throw new GeneralSecurityException("invalid keyset, corrupted key material"); } } private static zzlu zzi(zzto zztoVar) { try { return zzlu.zza(zztoVar.zzb().zzf(), zztoVar.zzb().zze(), zztoVar.zzb().zzb(), zztoVar.zze(), zztoVar.zze() == zzui.RAW ? null : Integer.valueOf(zztoVar.zza())); } catch (GeneralSecurityException e10) { throw new zzmi("Creating a protokey serialization failed", e10); } } private static Object zzj(zzkb zzkbVar, zzto zztoVar, Class cls) { try { zztc zzb = zztoVar.zzb(); int i10 = zzcr.zza; return zzcr.zzd(zzb.zzf(), zzb.zze(), cls); } catch (UnsupportedOperationException unused) { return null; } catch (GeneralSecurityException e10) { if (e10.getMessage().contains("No key manager found for key type ") || e10.getMessage().contains(" not supported by key manager of type ")) { return null; } throw e10; } } private static List zzk(zztp zztpVar) { zzbu zzbuVar; ArrayList arrayList = new ArrayList(zztpVar.zza()); for (zzto zztoVar : zztpVar.zzh()) { int zza = zztoVar.zza(); try { zzbn zza2 = zzkz.zzc().zza(zzi(zztoVar), zzcs.zza()); int zzk = zztoVar.zzk() - 2; if (zzk == 1) { zzbuVar = zzbu.zza; } else if (zzk == 2) { zzbuVar = zzbu.zzb; } else { if (zzk != 3) { throw new GeneralSecurityException("Unknown key status"); } zzbuVar = zzbu.zzc; } arrayList.add(new zzby(zza2, zzbuVar, zza, zza == zztpVar.zzb(), null)); } catch (GeneralSecurityException unused) { arrayList.add(null); } } return Collections.unmodifiableList(arrayList); } private static void zzl(zztp zztpVar) { if (zztpVar == null || zztpVar.zza() <= 0) { throw new GeneralSecurityException("empty keyset"); } } private static final Object zzm(zzkb zzkbVar, zzbn zzbnVar, Class cls) { try { return zzkw.zza().zzc(zzbnVar, cls); } catch (GeneralSecurityException unused) { return null; } } public final String toString() { return zzct.zza(this.zza).toString(); } public final zzbz zzb() { if (this.zza == null) { throw new GeneralSecurityException("cleartext keyset is not available"); } zztm zzc = zztp.zzc(); for (zzto zztoVar : this.zza.zzh()) { zztc zzb = zztoVar.zzb(); if (zzb.zzb() != zztb.ASYMMETRIC_PRIVATE) { throw new GeneralSecurityException("The keyset contains a non-private key"); } String zzf = zzb.zzf(); zzafy zze = zzb.zze(); zzbo zza = zzcr.zza(zzf); if (!(zza instanceof zzco)) { throw new GeneralSecurityException("manager for key type " + zzf + " is not a PrivateKeyManager"); } zztc zzd = ((zzco) zza).zzd(zze); zzcr.zza(zzd.zzf()).zzb(zzd.zze()); zztn zztnVar = (zztn) zztoVar.zzu(); zztnVar.zza(zzd); zzc.zzb((zzto) zztnVar.zzi()); } zzc.zzc(this.zza.zzb()); return zza((zztp) zzc.zzi()); } final zztp zzc() { return this.zza; } public final zztu zzd() { return zzct.zza(this.zza); } public final Object zze(zzbh zzbhVar, Class cls) { Class zzc = zzcr.zzc(cls); if (zzc == null) { throw new GeneralSecurityException("No wrapper found for ".concat(cls.getName())); } zztp zztpVar = this.zza; Charset charset = zzct.zza; int zzb = zztpVar.zzb(); int i10 = 0; boolean z10 = false; boolean z11 = true; for (zzto zztoVar : zztpVar.zzh()) { if (zztoVar.zzk() == 3) { if (!zztoVar.zzi()) { throw new GeneralSecurityException(String.format("key %d has no key data", Integer.valueOf(zztoVar.zza()))); } if (zztoVar.zze() == zzui.UNKNOWN_PREFIX) { throw new GeneralSecurityException(String.format("key %d has unknown prefix", Integer.valueOf(zztoVar.zza()))); } if (zztoVar.zzk() == 2) { throw new GeneralSecurityException(String.format("key %d has unknown status", Integer.valueOf(zztoVar.zza()))); } if (zztoVar.zza() == zzb) { if (z10) { throw new GeneralSecurityException("keyset contains multiple primary keys"); } z10 = true; } z11 &= zztoVar.zzb().zzb() == zztb.ASYMMETRIC_PUBLIC; i10++; } } if (i10 == 0) { throw new GeneralSecurityException("keyset must contain at least one ENABLED key"); } if (!z10 && !z11) { throw new GeneralSecurityException("keyset doesn't contain a valid primary key"); } zzch zzchVar = new zzch(zzc, null); zzchVar.zzc(this.zzc); for (int i11 = 0; i11 < this.zza.zza(); i11++) { zzto zzd = this.zza.zzd(i11); if (zzd.zzk() == 3) { zzkb zzkbVar = (zzkb) zzbhVar; Object zzj = zzj(zzkbVar, zzd, zzc); Object zzm = this.zzb.get(i11) != null ? zzm(zzkbVar, ((zzby) this.zzb.get(i11)).zza(), zzc) : null; if (zzm == null && zzj == null) { throw new GeneralSecurityException("Unable to get primitive " + zzc.toString() + " for key of type " + zzd.zzb().zzf()); } if (zzd.zza() == this.zza.zzb()) { zzchVar.zzb(zzm, zzj, zzd); } else { zzchVar.zza(zzm, zzj, zzd); } } } return zzkw.zza().zzd(zzchVar.zzd(), cls); } public final void zzf(zzcb zzcbVar, zzbd zzbdVar) { byte[] bArr = new byte[0]; zztp zztpVar = this.zza; byte[] zzb = zzbdVar.zzb(zztpVar.zzq(), bArr); try { if (!zztp.zzg(zzbdVar.zza(zzb, bArr), zzagq.zza()).equals(zztpVar)) { throw new GeneralSecurityException("cannot encrypt keyset"); } int length = zzb.length; zzrx zza = zzry.zza(); zza.zza(zzafy.zzn(zzb, 0, length)); zza.zzb(zzct.zza(zztpVar)); zzcbVar.zzb((zzry) zza.zzi()); } catch (zzahl unused) { throw new GeneralSecurityException("invalid keyset, corrupted key material"); } } public final void zzg(zzcb zzcbVar) { for (zzto zztoVar : this.zza.zzh()) { if (zztoVar.zzb().zzb() == zztb.UNKNOWN_KEYMATERIAL || zztoVar.zzb().zzb() == zztb.SYMMETRIC || zztoVar.zzb().zzb() == zztb.ASYMMETRIC_PRIVATE) { throw new GeneralSecurityException(String.format("keyset contains key material of type %s for type url %s", zztoVar.zzb().zzb().name(), zztoVar.zzb().zzf())); } } zzcbVar.zzc(this.zza); } }