jimu-decompiled/sources/com/google/android/gms/common/GoogleSignatureVerifier.java
2025-05-13 19:24:51 +02:00

118 lines
3.9 KiB
Java

package com.google.android.gms.common;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.util.Log;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.common.wrappers.Wrappers;
/* loaded from: classes.dex */
public class GoogleSignatureVerifier {
private static GoogleSignatureVerifier b;
private final Context a;
private GoogleSignatureVerifier(Context context) {
this.a = context.getApplicationContext();
}
public static GoogleSignatureVerifier a(Context context) {
Preconditions.a(context);
synchronized (GoogleSignatureVerifier.class) {
if (b == null) {
zzc.a(context);
b = new GoogleSignatureVerifier(context);
}
}
return b;
}
private final zzm b(PackageInfo packageInfo) {
ApplicationInfo applicationInfo;
boolean honorsDebugCertificates = GooglePlayServicesUtilLight.honorsDebugCertificates(this.a);
if (packageInfo == null) {
return zzm.a("null pkg");
}
Signature[] signatureArr = packageInfo.signatures;
if (signatureArr.length != 1) {
return zzm.a("single cert required");
}
zzf zzfVar = new zzf(signatureArr[0].toByteArray());
String str = packageInfo.packageName;
zzm a = zzc.a(str, zzfVar, honorsDebugCertificates);
return (!a.a || (applicationInfo = packageInfo.applicationInfo) == null || (applicationInfo.flags & 2) == 0 || (honorsDebugCertificates && !zzc.a(str, (zze) zzfVar, false).a)) ? a : zzm.a("debuggable release cert app rejected");
}
public boolean a(int i) {
zzm a;
String[] a2 = Wrappers.a(this.a).a(i);
if (a2 == null || a2.length == 0) {
a = zzm.a("no pkgs");
} else {
a = null;
for (String str : a2) {
a = a(str, i);
if (a.a) {
break;
}
}
}
a.b();
return a.a;
}
public static boolean a(PackageInfo packageInfo, boolean z) {
if (packageInfo != null && packageInfo.signatures != null) {
if ((z ? a(packageInfo, zzh.a) : a(packageInfo, zzh.a[0])) != null) {
return true;
}
}
return false;
}
public boolean a(PackageInfo packageInfo) {
if (packageInfo == null) {
return false;
}
if (a(packageInfo, false)) {
return true;
}
if (a(packageInfo, true)) {
if (GooglePlayServicesUtilLight.honorsDebugCertificates(this.a)) {
return true;
}
Log.w("GoogleSignatureVerifier", "Test-keys aren't accepted on this build.");
}
return false;
}
private final zzm a(String str, int i) {
try {
return b(Wrappers.a(this.a).a(str, 64, i));
} catch (PackageManager.NameNotFoundException unused) {
String valueOf = String.valueOf(str);
return zzm.a(valueOf.length() != 0 ? "no pkg ".concat(valueOf) : new String("no pkg "));
}
}
private static zze a(PackageInfo packageInfo, zze... zzeVarArr) {
Signature[] signatureArr = packageInfo.signatures;
if (signatureArr == null) {
return null;
}
if (signatureArr.length != 1) {
Log.w("GoogleSignatureVerifier", "Package has more than one signature.");
return null;
}
zzf zzfVar = new zzf(signatureArr[0].toByteArray());
for (int i = 0; i < zzeVarArr.length; i++) {
if (zzeVarArr[i].equals(zzfVar)) {
return zzeVarArr[i];
}
}
return null;
}
}