package okhttp3.internal.tls;

import d.b.a.a.a;
import g.c0.g;
import g.c0.l;
import g.m0.f;
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.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLException;
import javax.net.ssl.SSLSession;
import okhttp3.internal.HostnamesKt;
import okhttp3.internal.Util;

/* JADX INFO: compiled from: OkHostnameVerifier.kt */
/* JADX INFO: loaded from: classes.dex */
public final class OkHostnameVerifier implements HostnameVerifier {
    private static final int ALT_DNS_NAME = 2;
    private static final int ALT_IPA_NAME = 7;
    public static final OkHostnameVerifier INSTANCE = new OkHostnameVerifier();

    private OkHostnameVerifier() {
    }

    private final List<String> getSubjectAltNames(X509Certificate x509Certificate, int i2) {
        Object obj;
        try {
            Collection<List<?>> subjectAlternativeNames = x509Certificate.getSubjectAlternativeNames();
            if (subjectAlternativeNames == null) {
                return l.f4067b;
            }
            ArrayList arrayList = new ArrayList();
            for (List<?> list : subjectAlternativeNames) {
                if (list != null && list.size() >= 2 && !(!g.h0.c.l.a(list.get(0), Integer.valueOf(i2))) && (obj = list.get(1)) != null) {
                    arrayList.add((String) obj);
                }
            }
            return arrayList;
        } catch (CertificateParsingException unused) {
            return l.f4067b;
        }
    }

    private final boolean verifyHostname(String str, X509Certificate x509Certificate) {
        Locale locale = Locale.US;
        g.h0.c.l.e(locale, "Locale.US");
        Objects.requireNonNull(str, "null cannot be cast to non-null type java.lang.String");
        String lowerCase = str.toLowerCase(locale);
        g.h0.c.l.e(lowerCase, "(this as java.lang.String).toLowerCase(locale)");
        List<String> subjectAltNames = getSubjectAltNames(x509Certificate, 2);
        if ((subjectAltNames instanceof Collection) && subjectAltNames.isEmpty()) {
            return false;
        }
        Iterator<T> it = subjectAltNames.iterator();
        while (it.hasNext()) {
            if (INSTANCE.verifyHostname(lowerCase, (String) it.next())) {
                return true;
            }
        }
        return false;
    }

    private final boolean verifyIpAddress(String str, X509Certificate x509Certificate) {
        String canonicalHost = HostnamesKt.toCanonicalHost(str);
        List<String> subjectAltNames = getSubjectAltNames(x509Certificate, 7);
        if ((subjectAltNames instanceof Collection) && subjectAltNames.isEmpty()) {
            return false;
        }
        Iterator<T> it = subjectAltNames.iterator();
        while (it.hasNext()) {
            if (g.h0.c.l.a(canonicalHost, HostnamesKt.toCanonicalHost((String) it.next()))) {
                return true;
            }
        }
        return false;
    }

    public final List<String> allSubjectAltNames(X509Certificate x509Certificate) {
        g.h0.c.l.f(x509Certificate, "certificate");
        return g.z(getSubjectAltNames(x509Certificate, 7), getSubjectAltNames(x509Certificate, 2));
    }

    @Override // javax.net.ssl.HostnameVerifier
    public boolean verify(String str, SSLSession sSLSession) {
        g.h0.c.l.f(str, "host");
        g.h0.c.l.f(sSLSession, "session");
        try {
            Certificate certificate = sSLSession.getPeerCertificates()[0];
            if (certificate != null) {
                return verify(str, (X509Certificate) certificate);
            }
            throw new NullPointerException("null cannot be cast to non-null type java.security.cert.X509Certificate");
        } catch (SSLException unused) {
            return false;
        }
    }

    public final boolean verify(String str, X509Certificate x509Certificate) {
        g.h0.c.l.f(str, "host");
        g.h0.c.l.f(x509Certificate, "certificate");
        return Util.canParseAsIpAddress(str) ? verifyIpAddress(str, x509Certificate) : verifyHostname(str, x509Certificate);
    }

    private final boolean verifyHostname(String str, String str2) {
        if (!(str == null || str.length() == 0) && !f.J(str, ".", false, 2) && !f.d(str, "..", false, 2)) {
            if (!(str2 == null || str2.length() == 0) && !f.J(str2, ".", false, 2) && !f.d(str2, "..", false, 2)) {
                if (!f.d(str, ".", false, 2)) {
                    str = a.p(str, ".");
                }
                if (!f.d(str2, ".", false, 2)) {
                    str2 = a.p(str2, ".");
                }
                Locale locale = Locale.US;
                g.h0.c.l.e(locale, "Locale.US");
                Objects.requireNonNull(str2, "null cannot be cast to non-null type java.lang.String");
                String lowerCase = str2.toLowerCase(locale);
                g.h0.c.l.e(lowerCase, "(this as java.lang.String).toLowerCase(locale)");
                if (!f.b(lowerCase, "*", false, 2)) {
                    return g.h0.c.l.a(str, lowerCase);
                }
                if (!f.J(lowerCase, "*.", false, 2) || f.l(lowerCase, '*', 1, false, 4) != -1 || str.length() < lowerCase.length() || g.h0.c.l.a("*.", lowerCase)) {
                    return false;
                }
                String strSubstring = lowerCase.substring(1);
                g.h0.c.l.e(strSubstring, "(this as java.lang.String).substring(startIndex)");
                if (!f.d(str, strSubstring, false, 2)) {
                    return false;
                }
                int length = str.length() - strSubstring.length();
                return length <= 0 || f.p(str, '.', length - 1, false, 4) == -1;
            }
        }
        return false;
    }
}
