|
package logic; |
|
|
|
import java.io.IOException; |
|
import java.net.InetAddress; |
|
import java.net.Socket; |
|
import java.net.UnknownHostException; |
|
|
|
import javax.net.SocketFactory; |
|
import javax.net.ssl.SSLSocket; |
|
import javax.net.ssl.SSLSocketFactory; |
|
|
|
public class MySSLSocketFactory extends SSLSocketFactory { |
|
|
|
private static SocketFactory defaultFactory; |
|
private final static String[] protocols = new String[]{"TLSv1"}; |
|
|
|
@Override |
|
public Socket createSocket(Socket s, String host, int port, |
|
boolean autoClose) throws IOException { |
|
Socket socket = defaultFactory.createSocket(host, port); |
|
((SSLSocket) socket).setEnabledProtocols(protocols); |
|
return socket; |
|
} |
|
|
|
@Override |
|
public String[] getDefaultCipherSuites() { |
|
return protocols; |
|
} |
|
|
|
@Override |
|
public String[] getSupportedCipherSuites() { |
|
return protocols; |
|
} |
|
|
|
@Override |
|
public Socket createSocket(String host, int port) throws IOException, |
|
UnknownHostException { |
|
Socket socket = defaultFactory.createSocket(host, port); |
|
((SSLSocket) socket).setEnabledProtocols(protocols); |
|
return socket; |
|
} |
|
|
|
@Override |
|
public Socket createSocket(InetAddress host, int port) throws IOException { |
|
Socket socket = defaultFactory.createSocket(host, port); |
|
((SSLSocket) socket).setEnabledProtocols(protocols); |
|
return socket; |
|
} |
|
|
|
@Override |
|
public Socket createSocket(String host, int port, InetAddress localHost, |
|
int localPort) throws IOException, UnknownHostException { |
|
Socket socket = defaultFactory.createSocket(host, port, localHost, localPort); |
|
((SSLSocket) socket).setEnabledProtocols(protocols); |
|
return socket; |
|
} |
|
|
|
@Override |
|
public Socket createSocket(InetAddress address, int port, |
|
InetAddress localAddress, int localPort) throws IOException { |
|
Socket socket = defaultFactory.createSocket(address, port, localAddress, localPort); |
|
((SSLSocket) socket).setEnabledProtocols(protocols); |
|
return socket; |
|
} |
|
|
|
public static void init() { |
|
defaultFactory = SSLSocketFactory.getDefault(); |
|
} |
|
|
|
} |