1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-09 08:56:22 +00:00

Enabling secure protocols in a single method

This commit is contained in:
David A. Velasco 2014-11-17 09:40:47 +01:00
parent 950a3ff8f7
commit 5ce6e92b53

View File

@ -95,7 +95,7 @@ public class AdvancedSslSocketFactory implements SecureProtocolSocketFactory {
throws IOException, UnknownHostException { throws IOException, UnknownHostException {
Socket socket = mSslContext.getSocketFactory().createSocket(host, port, clientHost, clientPort); Socket socket = mSslContext.getSocketFactory().createSocket(host, port, clientHost, clientPort);
((SSLSocket) socket).setEnabledProtocols(new String[]{"TLSv1", "TLSv1.1", "TLSv1.2"}); enableSecureProtocols(socket);
verifyPeerIdentity(host, port, socket); verifyPeerIdentity(host, port, socket);
return socket; return socket;
} }
@ -172,7 +172,7 @@ public class AdvancedSslSocketFactory implements SecureProtocolSocketFactory {
SocketFactory socketfactory = mSslContext.getSocketFactory(); SocketFactory socketfactory = mSslContext.getSocketFactory();
Log_OC.d(TAG, " ... with connection timeout " + timeout + " and socket timeout " + params.getSoTimeout()); Log_OC.d(TAG, " ... with connection timeout " + timeout + " and socket timeout " + params.getSoTimeout());
Socket socket = socketfactory.createSocket(); Socket socket = socketfactory.createSocket();
((SSLSocket) socket).setEnabledProtocols(new String[]{"TLSv1", "TLSv1.1", "TLSv1.2"}); enableSecureProtocols(socket);
SocketAddress localaddr = new InetSocketAddress(localAddress, localPort); SocketAddress localaddr = new InetSocketAddress(localAddress, localPort);
SocketAddress remoteaddr = new InetSocketAddress(host, port); SocketAddress remoteaddr = new InetSocketAddress(host, port);
socket.setSoTimeout(params.getSoTimeout()); socket.setSoTimeout(params.getSoTimeout());
@ -190,11 +190,22 @@ public class AdvancedSslSocketFactory implements SecureProtocolSocketFactory {
UnknownHostException { UnknownHostException {
Log_OC.d(TAG, "Creating SSL Socket with remote " + host + ":" + port); Log_OC.d(TAG, "Creating SSL Socket with remote " + host + ":" + port);
Socket socket = mSslContext.getSocketFactory().createSocket(host, port); Socket socket = mSslContext.getSocketFactory().createSocket(host, port);
((SSLSocket) socket).setEnabledProtocols(new String[]{"TLSv1", "TLSv1.1", "TLSv1.2"}); enableSecureProtocols(socket);
verifyPeerIdentity(host, port, socket); verifyPeerIdentity(host, port, socket);
return socket; return socket;
} }
@Override
public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException,
UnknownHostException {
Socket sslSocket = mSslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
enableSecureProtocols(sslSocket);
verifyPeerIdentity(host, port, sslSocket);
return sslSocket;
}
public boolean equals(Object obj) { public boolean equals(Object obj) {
return ((obj != null) && obj.getClass().equals( return ((obj != null) && obj.getClass().equals(
AdvancedSslSocketFactory.class)); AdvancedSslSocketFactory.class));
@ -309,12 +320,9 @@ public class AdvancedSslSocketFactory implements SecureProtocolSocketFactory {
} }
} }
@Override
public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, private void enableSecureProtocols(Socket socket) {
UnknownHostException { ((SSLSocket) socket).setEnabledProtocols(new String[]{"TLSv1", "TLSv1.1", "TLSv1.2"});
Socket sslSocket = mSslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
((SSLSocket) sslSocket).setEnabledProtocols(new String[]{"TLSv1", "TLSv1.1", "TLSv1.2"});
verifyPeerIdentity(host, port, sslSocket);
return sslSocket;
} }
} }