Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class TLS12SocketFactory extends SSLSocketFactory {
- public static final String TLS_1_2 = "TLSv1.2";
- private static final String[] TLS_1_2_ONLY = { TLS_1_2 };
- private final SSLSocketFactory delegate;
- public TLS12SocketFactory(SSLSocketFactory base) {
- this.delegate = base;
- }
- @Override
- public String[] getDefaultCipherSuites() {
- return delegate.getDefaultCipherSuites();
- }
- @Override
- public String[] getSupportedCipherSuites() {
- return delegate.getSupportedCipherSuites();
- }
- @Override
- public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException {
- return patch(delegate.createSocket(s, host, port, autoClose));
- }
- @Override
- public Socket createSocket(String host, int port) throws IOException {
- return patch(delegate.createSocket(host, port));
- }
- @Override
- public Socket createSocket(String host, int port, InetAddress localHost, int localPort)
- throws IOException {
- return patch(delegate.createSocket(host, port, localHost, localPort));
- }
- @Override
- public Socket createSocket(InetAddress host, int port) throws IOException {
- return patch(delegate.createSocket(host, port));
- }
- @Override
- public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort)
- throws IOException {
- return patch(delegate.createSocket(address, port, localAddress, localPort));
- }
- private Socket patch(Socket s) {
- if (s instanceof SSLSocket) ((SSLSocket) s).setEnabledProtocols(TLS_1_2_ONLY);
- return s;
- }
- }
Add Comment
Please, Sign In to add comment