Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
132
apk_decompiled/sources/q3/a.java
Normal file
132
apk_decompiled/sources/q3/a.java
Normal file
@@ -0,0 +1,132 @@
|
||||
package q3;
|
||||
|
||||
import a.AbstractC0105a;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class a extends AbstractC0105a {
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final d f8190c;
|
||||
|
||||
public a(d trustRootIndex) {
|
||||
Intrinsics.checkNotNullParameter(trustRootIndex, "trustRootIndex");
|
||||
this.f8190c = trustRootIndex;
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
return (obj instanceof a) && Intrinsics.areEqual(((a) obj).f8190c, this.f8190c);
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return this.f8190c.hashCode();
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:25:0x0078 */
|
||||
@Override // a.AbstractC0105a
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public final java.util.List i(java.lang.String r9, java.util.List r10) {
|
||||
/*
|
||||
r8 = this;
|
||||
java.lang.String r0 = "chain"
|
||||
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r10, r0)
|
||||
java.lang.String r0 = "hostname"
|
||||
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r9, r0)
|
||||
java.util.ArrayDeque r9 = new java.util.ArrayDeque
|
||||
java.util.Collection r10 = (java.util.Collection) r10
|
||||
r9.<init>(r10)
|
||||
java.util.ArrayList r10 = new java.util.ArrayList
|
||||
r10.<init>()
|
||||
java.lang.Object r0 = r9.removeFirst()
|
||||
java.lang.String r1 = "queue.removeFirst()"
|
||||
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r0, r1)
|
||||
r10.add(r0)
|
||||
r0 = 0
|
||||
r1 = r0
|
||||
L24:
|
||||
r2 = 9
|
||||
if (r0 >= r2) goto Lb7
|
||||
int r2 = r10.size()
|
||||
r3 = 1
|
||||
int r2 = r2 - r3
|
||||
java.lang.Object r2 = r10.get(r2)
|
||||
java.lang.String r4 = "null cannot be cast to non-null type java.security.cert.X509Certificate"
|
||||
kotlin.jvm.internal.Intrinsics.checkNotNull(r2, r4)
|
||||
java.security.cert.X509Certificate r2 = (java.security.cert.X509Certificate) r2
|
||||
q3.d r5 = r8.f8190c
|
||||
java.security.cert.X509Certificate r5 = r5.a(r2)
|
||||
if (r5 == 0) goto L69
|
||||
int r1 = r10.size()
|
||||
if (r1 > r3) goto L4d
|
||||
boolean r1 = kotlin.jvm.internal.Intrinsics.areEqual(r2, r5)
|
||||
if (r1 != 0) goto L50
|
||||
L4d:
|
||||
r10.add(r5)
|
||||
L50:
|
||||
java.security.Principal r1 = r5.getIssuerDN()
|
||||
java.security.Principal r2 = r5.getSubjectDN()
|
||||
boolean r1 = kotlin.jvm.internal.Intrinsics.areEqual(r1, r2)
|
||||
if (r1 != 0) goto L5f
|
||||
goto L67
|
||||
L5f:
|
||||
java.security.PublicKey r1 = r5.getPublicKey() // Catch: java.security.GeneralSecurityException -> L67
|
||||
r5.verify(r1) // Catch: java.security.GeneralSecurityException -> L67
|
||||
goto La2
|
||||
L67:
|
||||
r1 = r3
|
||||
goto L9d
|
||||
L69:
|
||||
java.util.Iterator r3 = r9.iterator()
|
||||
java.lang.String r5 = "queue.iterator()"
|
||||
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r3, r5)
|
||||
L72:
|
||||
boolean r5 = r3.hasNext()
|
||||
if (r5 == 0) goto La0
|
||||
java.lang.Object r5 = r3.next()
|
||||
kotlin.jvm.internal.Intrinsics.checkNotNull(r5, r4)
|
||||
java.security.cert.X509Certificate r5 = (java.security.cert.X509Certificate) r5
|
||||
java.security.Principal r6 = r2.getIssuerDN()
|
||||
java.security.Principal r7 = r5.getSubjectDN()
|
||||
boolean r6 = kotlin.jvm.internal.Intrinsics.areEqual(r6, r7)
|
||||
if (r6 != 0) goto L90
|
||||
goto L72
|
||||
L90:
|
||||
java.security.PublicKey r6 = r5.getPublicKey() // Catch: java.security.GeneralSecurityException -> L72
|
||||
r2.verify(r6) // Catch: java.security.GeneralSecurityException -> L72
|
||||
r3.remove()
|
||||
r10.add(r5)
|
||||
L9d:
|
||||
int r0 = r0 + 1
|
||||
goto L24
|
||||
La0:
|
||||
if (r1 == 0) goto La3
|
||||
La2:
|
||||
return r10
|
||||
La3:
|
||||
javax.net.ssl.SSLPeerUnverifiedException r8 = new javax.net.ssl.SSLPeerUnverifiedException
|
||||
java.lang.StringBuilder r9 = new java.lang.StringBuilder
|
||||
java.lang.String r10 = "Failed to find a trusted cert that signed "
|
||||
r9.<init>(r10)
|
||||
r9.append(r2)
|
||||
java.lang.String r9 = r9.toString()
|
||||
r8.<init>(r9)
|
||||
throw r8
|
||||
Lb7:
|
||||
javax.net.ssl.SSLPeerUnverifiedException r8 = new javax.net.ssl.SSLPeerUnverifiedException
|
||||
java.lang.StringBuilder r9 = new java.lang.StringBuilder
|
||||
java.lang.String r0 = "Certificate chain too long: "
|
||||
r9.<init>(r0)
|
||||
r9.append(r10)
|
||||
java.lang.String r9 = r9.toString()
|
||||
r8.<init>(r9)
|
||||
throw r8
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: q3.a.i(java.lang.String, java.util.List):java.util.List");
|
||||
}
|
||||
}
|
||||
67
apk_decompiled/sources/q3/b.java
Normal file
67
apk_decompiled/sources/q3/b.java
Normal file
@@ -0,0 +1,67 @@
|
||||
package q3;
|
||||
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
import javax.security.auth.x500.X500Principal;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class b implements d {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final LinkedHashMap f8191a;
|
||||
|
||||
public b(X509Certificate... caCerts) {
|
||||
Intrinsics.checkNotNullParameter(caCerts, "caCerts");
|
||||
LinkedHashMap linkedHashMap = new LinkedHashMap();
|
||||
for (X509Certificate x509Certificate : caCerts) {
|
||||
X500Principal subjectX500Principal = x509Certificate.getSubjectX500Principal();
|
||||
Intrinsics.checkNotNullExpressionValue(subjectX500Principal, "caCert.subjectX500Principal");
|
||||
Object obj = linkedHashMap.get(subjectX500Principal);
|
||||
if (obj == null) {
|
||||
obj = new LinkedHashSet();
|
||||
linkedHashMap.put(subjectX500Principal, obj);
|
||||
}
|
||||
((Set) obj).add(x509Certificate);
|
||||
}
|
||||
this.f8191a = linkedHashMap;
|
||||
}
|
||||
|
||||
@Override // q3.d
|
||||
public final X509Certificate a(X509Certificate cert) {
|
||||
Intrinsics.checkNotNullParameter(cert, "cert");
|
||||
Set set = (Set) this.f8191a.get(cert.getIssuerX500Principal());
|
||||
Object obj = null;
|
||||
if (set == null) {
|
||||
return null;
|
||||
}
|
||||
Iterator it = set.iterator();
|
||||
while (true) {
|
||||
if (!it.hasNext()) {
|
||||
break;
|
||||
}
|
||||
Object next = it.next();
|
||||
try {
|
||||
cert.verify(((X509Certificate) next).getPublicKey());
|
||||
obj = next;
|
||||
break;
|
||||
} catch (Exception unused) {
|
||||
}
|
||||
}
|
||||
return (X509Certificate) obj;
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (obj != this) {
|
||||
return (obj instanceof b) && Intrinsics.areEqual(((b) obj).f8191a, this.f8191a);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return this.f8191a.hashCode();
|
||||
}
|
||||
}
|
||||
116
apk_decompiled/sources/q3/c.java
Normal file
116
apk_decompiled/sources/q3/c.java
Normal file
@@ -0,0 +1,116 @@
|
||||
package q3;
|
||||
|
||||
import C.w;
|
||||
import java.security.cert.Certificate;
|
||||
import java.security.cert.CertificateParsingException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.SSLException;
|
||||
import javax.net.ssl.SSLSession;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class c implements HostnameVerifier {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public static final c f8192a = new Object();
|
||||
|
||||
public static List a(X509Certificate x509Certificate, int i) {
|
||||
Object obj;
|
||||
try {
|
||||
Collection<List<?>> subjectAlternativeNames = x509Certificate.getSubjectAlternativeNames();
|
||||
if (subjectAlternativeNames == null) {
|
||||
return CollectionsKt.emptyList();
|
||||
}
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (List<?> list : subjectAlternativeNames) {
|
||||
if (list != null && list.size() >= 2 && Intrinsics.areEqual(list.get(0), Integer.valueOf(i)) && (obj = list.get(1)) != null) {
|
||||
arrayList.add((String) obj);
|
||||
}
|
||||
}
|
||||
return arrayList;
|
||||
} catch (CertificateParsingException unused) {
|
||||
return CollectionsKt.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean b(String str) {
|
||||
int i;
|
||||
int length = str.length();
|
||||
int length2 = str.length();
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
if (length2 < 0) {
|
||||
throw new IllegalArgumentException(w.i(length2, "endIndex < beginIndex: ", " < 0").toString());
|
||||
}
|
||||
if (length2 > str.length()) {
|
||||
StringBuilder t2 = w.t(length2, "endIndex > string.length: ", " > ");
|
||||
t2.append(str.length());
|
||||
throw new IllegalArgumentException(t2.toString().toString());
|
||||
}
|
||||
long j4 = 0;
|
||||
int i4 = 0;
|
||||
while (i4 < length2) {
|
||||
char charAt = str.charAt(i4);
|
||||
if (charAt < 128) {
|
||||
j4++;
|
||||
} else {
|
||||
if (charAt < 2048) {
|
||||
i = 2;
|
||||
} else if (charAt < 55296 || charAt > 57343) {
|
||||
i = 3;
|
||||
} else {
|
||||
int i5 = i4 + 1;
|
||||
char charAt2 = i5 < length2 ? str.charAt(i5) : (char) 0;
|
||||
if (charAt > 56319 || charAt2 < 56320 || charAt2 > 57343) {
|
||||
j4++;
|
||||
i4 = i5;
|
||||
} else {
|
||||
j4 += 4;
|
||||
i4 += 2;
|
||||
}
|
||||
}
|
||||
j4 += i;
|
||||
}
|
||||
i4++;
|
||||
}
|
||||
return length == ((int) j4);
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:72:0x013c, code lost:
|
||||
|
||||
if (r1 != (-1)) goto L65;
|
||||
*/
|
||||
/* JADX WARN: Removed duplicated region for block: B:57:0x0142 A[SYNTHETIC] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:58:? A[LOOP:1: B:26:0x0081->B:58:?, LOOP_END, SYNTHETIC] */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public static boolean c(java.lang.String r11, java.security.cert.X509Certificate r12) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 324
|
||||
To view this dump add '--comments-level debug' option
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: q3.c.c(java.lang.String, java.security.cert.X509Certificate):boolean");
|
||||
}
|
||||
|
||||
@Override // javax.net.ssl.HostnameVerifier
|
||||
public final boolean verify(String host, SSLSession session) {
|
||||
Intrinsics.checkNotNullParameter(host, "host");
|
||||
Intrinsics.checkNotNullParameter(session, "session");
|
||||
if (b(host)) {
|
||||
try {
|
||||
Certificate certificate = session.getPeerCertificates()[0];
|
||||
Intrinsics.checkNotNull(certificate, "null cannot be cast to non-null type java.security.cert.X509Certificate");
|
||||
return c(host, (X509Certificate) certificate);
|
||||
} catch (SSLException unused) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
8
apk_decompiled/sources/q3/d.java
Normal file
8
apk_decompiled/sources/q3/d.java
Normal file
@@ -0,0 +1,8 @@
|
||||
package q3;
|
||||
|
||||
import java.security.cert.X509Certificate;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface d {
|
||||
X509Certificate a(X509Certificate x509Certificate);
|
||||
}
|
||||
Reference in New Issue
Block a user