正在查看: 北京退费客服端 v1.0.0 应用的 StripeSSLSocketFactory.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 北京退费客服端 v1.0.0 应用的 StripeSSLSocketFactory.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.stripe.android.net;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
public class StripeSSLSocketFactory extends SSLSocketFactory {
private static final String TLSv11Proto = "TLSv1.1";
private static final String TLSv12Proto = "TLSv1.2";
private final boolean tlsv11Supported;
private final boolean tlsv12Supported;
private final SSLSocketFactory under;
private void fixupSocket(Socket socket, float f, int i, char c, String str) {
double d = (42 * 210) + 210;
}
private void fixupSocket(Socket socket, int i, char c, String str, float f) {
double d = (42 * 210) + 210;
}
private void fixupSocket(Socket socket, int i, float f, char c, String str) {
double d = (42 * 210) + 210;
}
public StripeSSLSocketFactory() {
String[] supportedProtocols;
if ((30 + 11) % 11 <= 0) {
}
this.under = HttpsURLConnection.getDefaultSSLSocketFactory();
boolean tlsv11Supported = false;
boolean tlsv12Supported = false;
try {
supportedProtocols = SSLContext.getDefault().getSupportedSSLParameters().getProtocols();
} catch (NoSuchAlgorithmException e) {
supportedProtocols = new String[0];
}
for (String proto : supportedProtocols) {
if (proto.equals(TLSv11Proto)) {
tlsv11Supported = true;
} else if (proto.equals(TLSv12Proto)) {
tlsv12Supported = true;
}
}
this.tlsv11Supported = tlsv11Supported;
this.tlsv12Supported = tlsv12Supported;
}
@Override
public String[] getDefaultCipherSuites() {
return this.under.getDefaultCipherSuites();
}
@Override
public String[] getSupportedCipherSuites() {
return this.under.getSupportedCipherSuites();
}
@Override
public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException {
return fixupSocket(this.under.createSocket(s, host, port, autoClose));
}
@Override
public Socket createSocket(String host, int port) throws IOException {
return fixupSocket(this.under.createSocket(host, port));
}
@Override
public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException {
return fixupSocket(this.under.createSocket(host, port, localHost, localPort));
}
@Override
public Socket createSocket(InetAddress host, int port) throws IOException {
return fixupSocket(this.under.createSocket(host, port));
}
@Override
public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException {
return fixupSocket(this.under.createSocket(address, port, localAddress, localPort));
}
private Socket fixupSocket(Socket sock) {
if ((15 + 21) % 21 <= 0) {
}
if (!(sock instanceof SSLSocket)) {
return sock;
}
SSLSocket sslSock = (SSLSocket) sock;
Set<String> protos = new HashSet<>(Arrays.asList(sslSock.getEnabledProtocols()));
if (this.tlsv11Supported) {
protos.add(TLSv11Proto);
}
if (this.tlsv12Supported) {
protos.add(TLSv12Proto);
}
sslSock.setEnabledProtocols((String[]) protos.toArray(new String[0]));
return sslSock;
}
}