package com.mbridge.msdk.thrid.okhttp.internal.platform; import com.mbridge.msdk.thrid.okhttp.OkHttpClient; import com.mbridge.msdk.thrid.okhttp.Protocol; import com.mbridge.msdk.thrid.okhttp.internal.tls.BasicCertificateChainCleaner; import com.mbridge.msdk.thrid.okhttp.internal.tls.BasicTrustRootIndex; import com.mbridge.msdk.thrid.okhttp.internal.tls.CertificateChainCleaner; import com.mbridge.msdk.thrid.okhttp.internal.tls.TrustRootIndex; import com.mbridge.msdk.thrid.okio.Buffer; import com.umeng.analytics.pro.d; import java.io.IOException; import java.lang.reflect.Field; import java.net.InetSocketAddress; import java.net.Socket; import java.security.NoSuchAlgorithmException; import java.security.Security; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nullable; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.X509TrustManager; public class Platform { public static final int INFO = 4; private static final Platform PLATFORM = findPlatform(); public static final int WARN = 5; private static final Logger logger = Logger.getLogger(OkHttpClient.class.getName()); public void afterHandshake(SSLSocket sSLSocket) { } public void configureSslSocketFactory(SSLSocketFactory sSLSocketFactory) { } public void configureTlsExtensions(SSLSocket sSLSocket, @Nullable String str, List<Protocol> list) throws IOException { } public String getPrefix() { return "OkHttp"; } @Nullable public String getSelectedProtocol(SSLSocket sSLSocket) { return null; } public boolean isCleartextTrafficPermitted(String str) { return true; } public static Platform get() { return PLATFORM; } /* access modifiers changed from: protected */ @Nullable public X509TrustManager trustManager(SSLSocketFactory sSLSocketFactory) { try { Object readFieldOrNull = readFieldOrNull(sSLSocketFactory, Class.forName("sun.security.ssl.SSLContextImpl"), d.R); if (readFieldOrNull == null) { return null; } return (X509TrustManager) readFieldOrNull(readFieldOrNull, X509TrustManager.class, "trustManager"); } catch (ClassNotFoundException unused) { return null; } } public void connectSocket(Socket socket, InetSocketAddress inetSocketAddress, int i) throws IOException { socket.connect(inetSocketAddress, i); } public void log(int i, String str, @Nullable Throwable th) { logger.log(i == 5 ? Level.WARNING : Level.INFO, str, th); } public Object getStackTraceForCloseable(String str) { if (logger.isLoggable(Level.FINE)) { return new Throwable(str); } return null; } public void logCloseableLeak(String str, Object obj) { if (obj == null) { str = str + " To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);"; } log(5, str, (Throwable) obj); } public static List<String> alpnProtocolNames(List<Protocol> list) { ArrayList arrayList = new ArrayList(list.size()); int size = list.size(); for (int i = 0; i < size; i++) { Protocol protocol = list.get(i); if (protocol != Protocol.HTTP_1_0) { arrayList.add(protocol.toString()); } } return arrayList; } public CertificateChainCleaner buildCertificateChainCleaner(X509TrustManager x509TrustManager) { return new BasicCertificateChainCleaner(buildTrustRootIndex(x509TrustManager)); } public CertificateChainCleaner buildCertificateChainCleaner(SSLSocketFactory sSLSocketFactory) { X509TrustManager trustManager = trustManager(sSLSocketFactory); if (trustManager != null) { return buildCertificateChainCleaner(trustManager); } throw new IllegalStateException("Unable to extract the trust manager on " + get() + ", sslSocketFactory is " + sSLSocketFactory.getClass()); } public static boolean isConscryptPreferred() { if ("conscrypt".equals(System.getProperty("okhttp.platform"))) { return true; } return "Conscrypt".equals(Security.getProviders()[0].getName()); } private static Platform findPlatform() { if (isAndroid()) { return findAndroidPlatform(); } return findJvmPlatform(); } public static boolean isAndroid() { return "Dalvik".equals(System.getProperty("java.vm.name")); } private static Platform findJvmPlatform() { ConscryptPlatform buildIfSupported; if (isConscryptPreferred() && (buildIfSupported = ConscryptPlatform.buildIfSupported()) != null) { return buildIfSupported; } Jdk9Platform buildIfSupported2 = Jdk9Platform.buildIfSupported(); if (buildIfSupported2 != null) { return buildIfSupported2; } Platform buildIfSupported3 = JdkWithJettyBootPlatform.buildIfSupported(); if (buildIfSupported3 != null) { return buildIfSupported3; } return new Platform(); } private static Platform findAndroidPlatform() { Platform buildIfSupported = Android10Platform.buildIfSupported(); if (buildIfSupported != null) { return buildIfSupported; } Platform buildIfSupported2 = AndroidPlatform.buildIfSupported(); Objects.requireNonNull(buildIfSupported2, "No platform found on Android"); return buildIfSupported2; } static byte[] concatLengthPrefixed(List<Protocol> list) { Buffer buffer = new Buffer(); int size = list.size(); for (int i = 0; i < size; i++) { Protocol protocol = list.get(i); if (protocol != Protocol.HTTP_1_0) { buffer.writeByte(protocol.toString().length()); buffer.writeUtf8(protocol.toString()); } } return buffer.readByteArray(); } @Nullable static <T> T readFieldOrNull(Object obj, Class<T> cls, String str) { Object readFieldOrNull; for (Class<?> cls2 = obj.getClass(); cls2 != Object.class; cls2 = cls2.getSuperclass()) { try { Field declaredField = cls2.getDeclaredField(str); declaredField.setAccessible(true); Object obj2 = declaredField.get(obj); if (obj2 != null) { if (cls.isInstance(obj2)) { return cls.cast(obj2); } } return null; } catch (NoSuchFieldException unused) { } catch (IllegalAccessException unused2) { throw new AssertionError(); } } if (str.equals("delegate") || (readFieldOrNull = readFieldOrNull(obj, Object.class, "delegate")) == null) { return null; } return (T) readFieldOrNull(readFieldOrNull, cls, str); } public SSLContext getSSLContext() { if ("1.7".equals(System.getProperty("java.specification.version"))) { try { return SSLContext.getInstance("TLSv1.2"); } catch (NoSuchAlgorithmException unused) { } } try { return SSLContext.getInstance("TLS"); } catch (NoSuchAlgorithmException e) { throw new IllegalStateException("No TLS provider", e); } } public TrustRootIndex buildTrustRootIndex(X509TrustManager x509TrustManager) { return new BasicTrustRootIndex(x509TrustManager.getAcceptedIssuers()); } public String toString() { return getClass().getSimpleName(); } }