X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/390949b8323633b26d56b3a837e83941cbc24b4b..890bf7fa51135aa24e07ab8d02c002b22a66716a:/src/eu/alefzero/owncloud/authenticator/EasySSLSocketFactory.java diff --git a/src/eu/alefzero/owncloud/authenticator/EasySSLSocketFactory.java b/src/eu/alefzero/owncloud/authenticator/EasySSLSocketFactory.java index 3cd5781f..c4531ba6 100644 --- a/src/eu/alefzero/owncloud/authenticator/EasySSLSocketFactory.java +++ b/src/eu/alefzero/owncloud/authenticator/EasySSLSocketFactory.java @@ -51,49 +51,55 @@ import android.util.Log; /** *

- * EasySSLProtocolSocketFactory can be used to creats SSL {@link Socket}s - * that accept self-signed certificates. + * EasySSLProtocolSocketFactory can be used to creats SSL {@link Socket}s that + * accept self-signed certificates. *

*

- * This socket factory SHOULD NOT be used for productive systems - * due to security reasons, unless it is a concious decision and - * you are perfectly aware of security implications of accepting - * self-signed certificates + * This socket factory SHOULD NOT be used for productive systems due to security + * reasons, unless it is a concious decision and you are perfectly aware of + * security implications of accepting self-signed certificates *

- * + * *

* Example of using custom protocol socket factory for a specific host: - *

- *     Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
- *
- *     URI uri = new URI("https://localhost/", true);
- *     // use relative url only
- *     GetMethod httpget = new GetMethod(uri.getPathQuery());
- *     HostConfiguration hc = new HostConfiguration();
- *     hc.setHost(uri.getHost(), uri.getPort(), easyhttps);
- *     HttpClient client = new HttpClient();
- *     client.executeMethod(hc, httpget);
- *     
+ * + *
+ * Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(),
+ *         443);
+ * 
+ * URI uri = new URI("https://localhost/", true);
+ * // use relative url only
+ * GetMethod httpget = new GetMethod(uri.getPathQuery());
+ * HostConfiguration hc = new HostConfiguration();
+ * hc.setHost(uri.getHost(), uri.getPort(), easyhttps);
+ * HttpClient client = new HttpClient();
+ * client.executeMethod(hc, httpget);
+ * 
+ * *

*

- * Example of using custom protocol socket factory per default instead of the standard one: - *

- *     Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
- *     Protocol.registerProtocol("https", easyhttps);
- *
- *     HttpClient client = new HttpClient();
- *     GetMethod httpget = new GetMethod("https://localhost/");
- *     client.executeMethod(httpget);
- *     
+ * Example of using custom protocol socket factory per default instead of the + * standard one: + * + *
+ * Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(),
+ *         443);
+ * Protocol.registerProtocol("https", easyhttps);
+ * 
+ * HttpClient client = new HttpClient();
+ * GetMethod httpget = new GetMethod("https://localhost/");
+ * client.executeMethod(httpget);
+ * 
+ * *

* * @author Oleg Kalnichevski * - *

- * DISCLAIMER: HttpClient developers DO NOT actively support this component. - * The component is provided as a reference material, which may be inappropriate - * for use without additional customization. - *

+ *

+ * DISCLAIMER: HttpClient developers DO NOT actively support this + * component. The component is provided as a reference material, which + * may be inappropriate for use without additional customization. + *

*/ public class EasySSLSocketFactory implements ProtocolSocketFactory { @@ -111,13 +117,11 @@ public class EasySSLSocketFactory implements ProtocolSocketFactory { private static SSLContext createEasySSLContext() { try { SSLContext context = SSLContext.getInstance("TLS"); - context.init( - null, - new TrustManager[] {new EasyX509TrustManager(null)}, - null); + context.init(null, new TrustManager[] { new EasyX509TrustManager( + null) }, null); return context; } catch (Exception er) { - Log.e(TAG, er.getMessage()+""); + Log.e(TAG, er.getMessage() + ""); throw new HttpClientError(er.toString()); } } @@ -132,30 +136,24 @@ public class EasySSLSocketFactory implements ProtocolSocketFactory { /** * @see SecureProtocolSocketFactory#createSocket(java.lang.String,int,java.net.InetAddress,int) */ - public Socket createSocket( - String host, - int port, - InetAddress clientHost, - int clientPort) - throws IOException, UnknownHostException { - - return getSSLContext().getSocketFactory().createSocket( - host, - port, - clientHost, - clientPort - ); + public Socket createSocket(String host, int port, InetAddress clientHost, + int clientPort) throws IOException, UnknownHostException { + + return getSSLContext().getSocketFactory().createSocket(host, port, + clientHost, clientPort); } /** - * Attempts to get a new socket connection to the given host within the given time limit. + * Attempts to get a new socket connection to the given host within the + * given time limit. *

- * To circumvent the limitations of older JREs that do not support connect timeout a - * controller thread is executed. The controller thread attempts to create a new socket - * within the given limit of time. If socket constructor does not return until the - * timeout expires, the controller terminates and throws an {@link ConnectTimeoutException} + * To circumvent the limitations of older JREs that do not support connect + * timeout a controller thread is executed. The controller thread attempts + * to create a new socket within the given limit of time. If socket + * constructor does not return until the timeout expires, the controller + * terminates and throws an {@link ConnectTimeoutException} *

- * + * * @param host the host name/IP * @param port the port on the host * @param clientHost the local host name/IP to bind the socket to @@ -166,25 +164,24 @@ public class EasySSLSocketFactory implements ProtocolSocketFactory { * * @throws IOException if an I/O error occurs while creating the socket * @throws UnknownHostException if the IP address of the host cannot be - * determined + * determined */ - public Socket createSocket( - final String host, - final int port, - final InetAddress localAddress, - final int localPort, - final HttpConnectionParams params - ) throws IOException, UnknownHostException, ConnectTimeoutException { + public Socket createSocket(final String host, final int port, + final InetAddress localAddress, final int localPort, + final HttpConnectionParams params) throws IOException, + UnknownHostException, ConnectTimeoutException { if (params == null) { throw new IllegalArgumentException("Parameters may not be null"); } int timeout = params.getConnectionTimeout(); SocketFactory socketfactory = getSSLContext().getSocketFactory(); if (timeout == 0) { - return socketfactory.createSocket(host, port, localAddress, localPort); + return socketfactory.createSocket(host, port, localAddress, + localPort); } else { Socket socket = socketfactory.createSocket(); - SocketAddress localaddr = new InetSocketAddress(localAddress, localPort); + SocketAddress localaddr = new InetSocketAddress(localAddress, + localPort); SocketAddress remoteaddr = new InetSocketAddress(host, port); socket.bind(localaddr); socket.connect(remoteaddr, timeout); @@ -195,33 +192,23 @@ public class EasySSLSocketFactory implements ProtocolSocketFactory { /** * @see SecureProtocolSocketFactory#createSocket(java.lang.String,int) */ - public Socket createSocket(String host, int port) - throws IOException, UnknownHostException { - return getSSLContext().getSocketFactory().createSocket( - host, - port - ); + public Socket createSocket(String host, int port) throws IOException, + UnknownHostException { + return getSSLContext().getSocketFactory().createSocket(host, port); } /** * @see SecureProtocolSocketFactory#createSocket(java.net.Socket,java.lang.String,int,boolean) */ - public Socket createSocket( - Socket socket, - String host, - int port, - boolean autoClose) - throws IOException, UnknownHostException { - return getSSLContext().getSocketFactory().createSocket( - socket, - host, - port, - autoClose - ); + public Socket createSocket(Socket socket, String host, int port, + boolean autoClose) throws IOException, UnknownHostException { + return getSSLContext().getSocketFactory().createSocket(socket, host, + port, autoClose); } public boolean equals(Object obj) { - return ((obj != null) && obj.getClass().equals(EasySSLSocketFactory.class)); + return ((obj != null) && obj.getClass().equals( + EasySSLSocketFactory.class)); } public int hashCode() {