package okhttp3.internal.tls;

import c.h;
import c.l.j;
import c.l.r;
import c.u.n;
import c.u.o;
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 javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLException;
import javax.net.ssl.SSLSession;
import okhttp3.CertificatePinner;
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 i) {
        Object obj;
        try {
            Collection<List<?>> subjectAlternativeNames = x509Certificate.getSubjectAlternativeNames();
            if (subjectAlternativeNames == null) {
                return j.f();
            }
            ArrayList arrayList = new ArrayList();
            for (List<?> list : subjectAlternativeNames) {
                if (list != null && list.size() >= 2 && !(!c.q.d.j.a(list.get(0), Integer.valueOf(i))) && (obj = list.get(1)) != null) {
                    if (obj == null) {
                        throw new h("null cannot be cast to non-null type kotlin.String");
                    }
                    arrayList.add((String) obj);
                }
            }
            return arrayList;
        } catch (CertificateParsingException unused) {
            return j.f();
        }
    }

    private final boolean verifyHostname(String str, X509Certificate x509Certificate) {
        Locale locale = Locale.US;
        c.q.d.j.b(locale, "Locale.US");
        if (str == null) {
            throw new h("null cannot be cast to non-null type java.lang.String");
        }
        String lowerCase = str.toLowerCase(locale);
        c.q.d.j.b(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) {
        List<String> subjectAltNames = getSubjectAltNames(x509Certificate, 7);
        if (!(subjectAltNames instanceof Collection) || !subjectAltNames.isEmpty()) {
            Iterator<T> it = subjectAltNames.iterator();
            while (it.hasNext()) {
                if (n.h(str, (String) it.next(), true)) {
                    return true;
                }
            }
        }
        return false;
    }

    public final List<String> allSubjectAltNames(X509Certificate x509Certificate) {
        c.q.d.j.c(x509Certificate, "certificate");
        return r.u(getSubjectAltNames(x509Certificate, 7), getSubjectAltNames(x509Certificate, 2));
    }

    @Override // javax.net.ssl.HostnameVerifier
    public boolean verify(String str, SSLSession sSLSession) {
        c.q.d.j.c(str, "host");
        c.q.d.j.c(sSLSession, "session");
        try {
            Certificate certificate = sSLSession.getPeerCertificates()[0];
            if (certificate != null) {
                return verify(str, (X509Certificate) certificate);
            }
            throw new h("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) {
        c.q.d.j.c(str, "host");
        c.q.d.j.c(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) && !n.t(str, ".", false, 2, null) && !n.g(str, "..", false, 2, null)) {
            if (!(str2 == null || str2.length() == 0) && !n.t(str2, ".", false, 2, null) && !n.g(str2, "..", false, 2, null)) {
                if (!n.g(str, ".", false, 2, null)) {
                    str = str + ".";
                }
                String str3 = str;
                if (!n.g(str2, ".", false, 2, null)) {
                    str2 = str2 + ".";
                }
                Locale locale = Locale.US;
                c.q.d.j.b(locale, "Locale.US");
                if (str2 != null) {
                    String lowerCase = str2.toLowerCase(locale);
                    c.q.d.j.b(lowerCase, "(this as java.lang.String).toLowerCase(locale)");
                    if (!o.y(lowerCase, "*", false, 2, null)) {
                        return c.q.d.j.a(str3, lowerCase);
                    }
                    if (!n.t(lowerCase, CertificatePinner.WILDCARD, false, 2, null) || o.G(lowerCase, '*', 1, false, 4, null) != -1 || str3.length() < lowerCase.length() || c.q.d.j.a(CertificatePinner.WILDCARD, lowerCase)) {
                        return false;
                    }
                    if (lowerCase != null) {
                        String strSubstring = lowerCase.substring(1);
                        c.q.d.j.b(strSubstring, "(this as java.lang.String).substring(startIndex)");
                        if (!n.g(str3, strSubstring, false, 2, null)) {
                            return false;
                        }
                        int length = str3.length() - strSubstring.length();
                        return length <= 0 || o.L(str3, '.', length + (-1), false, 4, null) == -1;
                    }
                    throw new h("null cannot be cast to non-null type java.lang.String");
                }
                throw new h("null cannot be cast to non-null type java.lang.String");
            }
        }
        return false;
    }
}
