- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
80 lines
3.2 KiB
Java
80 lines
3.2 KiB
Java
package com.firemonkeys.cloudcellapi;
|
|
|
|
import java.io.IOException;
|
|
import java.net.InetAddress;
|
|
import java.net.Socket;
|
|
import java.net.UnknownHostException;
|
|
import java.security.KeyManagementException;
|
|
import java.security.NoSuchAlgorithmException;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import javax.net.ssl.SSLSocket;
|
|
import javax.net.ssl.SSLSocketFactory;
|
|
|
|
/* loaded from: classes2.dex */
|
|
class TLSSocketFactory extends SSLSocketFactory {
|
|
private SSLSocketFactory internalSSLSocketFactory;
|
|
|
|
public TLSSocketFactory(SSLSocketFactory sSLSocketFactory) throws KeyManagementException, NoSuchAlgorithmException {
|
|
this.internalSSLSocketFactory = sSLSocketFactory;
|
|
}
|
|
|
|
@Override // javax.net.ssl.SSLSocketFactory
|
|
public String[] getDefaultCipherSuites() {
|
|
return this.internalSSLSocketFactory.getDefaultCipherSuites();
|
|
}
|
|
|
|
@Override // javax.net.ssl.SSLSocketFactory
|
|
public String[] getSupportedCipherSuites() {
|
|
return this.internalSSLSocketFactory.getSupportedCipherSuites();
|
|
}
|
|
|
|
@Override // javax.net.SocketFactory
|
|
public Socket createSocket() throws IOException {
|
|
return enableTLSOnSocket(this.internalSSLSocketFactory.createSocket());
|
|
}
|
|
|
|
@Override // javax.net.ssl.SSLSocketFactory
|
|
public Socket createSocket(Socket socket, String str, int i, boolean z) throws IOException {
|
|
return enableTLSOnSocket(this.internalSSLSocketFactory.createSocket(socket, str, i, z));
|
|
}
|
|
|
|
@Override // javax.net.SocketFactory
|
|
public Socket createSocket(String str, int i) throws IOException, UnknownHostException {
|
|
return enableTLSOnSocket(this.internalSSLSocketFactory.createSocket(str, i));
|
|
}
|
|
|
|
@Override // javax.net.SocketFactory
|
|
public Socket createSocket(String str, int i, InetAddress inetAddress, int i2) throws IOException, UnknownHostException {
|
|
return enableTLSOnSocket(this.internalSSLSocketFactory.createSocket(str, i, inetAddress, i2));
|
|
}
|
|
|
|
@Override // javax.net.SocketFactory
|
|
public Socket createSocket(InetAddress inetAddress, int i) throws IOException {
|
|
return enableTLSOnSocket(this.internalSSLSocketFactory.createSocket(inetAddress, i));
|
|
}
|
|
|
|
@Override // javax.net.SocketFactory
|
|
public Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress2, int i2) throws IOException {
|
|
return enableTLSOnSocket(this.internalSSLSocketFactory.createSocket(inetAddress, i, inetAddress2, i2));
|
|
}
|
|
|
|
private Socket enableTLSOnSocket(Socket socket) {
|
|
String[] strArr = {"TLSv1.2", "TLSv1.1"};
|
|
if (socket != null && (socket instanceof SSLSocket)) {
|
|
SSLSocket sSLSocket = (SSLSocket) socket;
|
|
ArrayList arrayList = new ArrayList(Arrays.asList(sSLSocket.getEnabledProtocols()));
|
|
List asList = Arrays.asList(sSLSocket.getSupportedProtocols());
|
|
for (int i = 0; i < 2; i++) {
|
|
String str = strArr[i];
|
|
if (asList.contains(str) && !arrayList.contains(str)) {
|
|
arrayList.add(str);
|
|
}
|
|
}
|
|
sSLSocket.setEnabledProtocols((String[]) arrayList.toArray(new String[0]));
|
|
}
|
|
return socket;
|
|
}
|
|
}
|