正在查看: MT Manager v2.13.3 应用的 C8091.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: MT Manager v2.13.3 应用的 C8091.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package l;
import android.os.Build;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.security.GeneralSecurityException;
import java.security.SecureRandom;
import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;
public final class C8091 extends SSLSocketFactory {
public static String[] f26182;
public static String[] f26183;
public SSLSocketFactory f26184;
static {
try {
SSLSocket sSLSocket = (SSLSocket) SSLSocketFactory.getDefault().createSocket();
if (sSLSocket != null) {
LinkedList linkedList = new LinkedList();
for (String str : sSLSocket.getSupportedProtocols()) {
if (!str.toUpperCase().contains(org.apache.http.conn.ssl.SSLSocketFactory.SSL)) {
linkedList.add(str);
}
}
f26182 = (String[]) linkedList.toArray(new String[0]);
if (Build.VERSION.SDK_INT < 21) {
List asList = Arrays.asList("TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECHDE_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA");
List asList2 = Arrays.asList(sSLSocket.getSupportedCipherSuites());
HashSet hashSet = new HashSet(asList);
hashSet.retainAll(asList2);
hashSet.addAll(new HashSet(Arrays.asList(sSLSocket.getEnabledCipherSuites())));
f26183 = (String[]) hashSet.toArray(new String[0]);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public C8091(X509TrustManager x509TrustManager) {
try {
SSLContext sSLContext = SSLContext.getInstance(org.apache.http.conn.ssl.SSLSocketFactory.TLS);
sSLContext.init(null, new X509TrustManager[]{x509TrustManager}, new SecureRandom());
this.f26184 = sSLContext.getSocketFactory();
} catch (GeneralSecurityException unused) {
throw new AssertionError();
}
}
public static void m18628(SSLSocket sSLSocket) {
String[] strArr;
String[] strArr2 = f26182;
if (strArr2 != null) {
sSLSocket.setEnabledProtocols(strArr2);
}
if (Build.VERSION.SDK_INT >= 21 || (strArr = f26183) == null) {
return;
}
sSLSocket.setEnabledCipherSuites(strArr);
}
@Override
public final String[] getDefaultCipherSuites() {
return f26183;
}
@Override
public final String[] getSupportedCipherSuites() {
return f26183;
}
@Override
public final Socket createSocket(Socket socket, String str, int i, boolean z) {
Socket createSocket = this.f26184.createSocket(socket, str, i, z);
if (createSocket instanceof SSLSocket) {
m18628((SSLSocket) createSocket);
}
return createSocket;
}
@Override
public final Socket createSocket(String str, int i) {
Socket createSocket = this.f26184.createSocket(str, i);
if (createSocket instanceof SSLSocket) {
m18628((SSLSocket) createSocket);
}
return createSocket;
}
@Override
public final Socket createSocket(String str, int i, InetAddress inetAddress, int i2) {
Socket createSocket = this.f26184.createSocket(str, i, inetAddress, i2);
if (createSocket instanceof SSLSocket) {
m18628((SSLSocket) createSocket);
}
return createSocket;
}
@Override
public final Socket createSocket(InetAddress inetAddress, int i) {
Socket createSocket = this.f26184.createSocket(inetAddress, i);
if (createSocket instanceof SSLSocket) {
m18628((SSLSocket) createSocket);
}
return createSocket;
}
@Override
public final Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress2, int i2) {
Socket createSocket = this.f26184.createSocket(inetAddress, i, inetAddress2, i2);
if (createSocket instanceof SSLSocket) {
m18628((SSLSocket) createSocket);
}
return createSocket;
}
public static C7163 m18627() {
C12460 c12460 = new C12460();
C7163 c7163 = new C7163();
try {
c7163.m16853(new C8091(c12460), c12460);
return c7163;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}