org.jivesoftware.sparkimpl.updater
Class EasySSLProtocolSocketFactory
java.lang.Object
org.jivesoftware.sparkimpl.updater.EasySSLProtocolSocketFactory
- All Implemented Interfaces:
- org.apache.commons.httpclient.protocol.ProtocolSocketFactory, org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory
public class EasySSLProtocolSocketFactory
- extends java.lang.Object
- implements org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory
EasySSLProtocolSocketFactory can be used to creats SSL 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
Example of using custom protocol socket factory for a specific host:
Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost("localhost", 443, easyhttps);
// use relative url only
GetMethod httpget = new GetMethod("/");
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.
Method Summary |
java.net.Socket |
createSocket(java.net.Socket socket,
java.lang.String host,
int port,
boolean autoClose)
|
java.net.Socket |
createSocket(java.lang.String host,
int port)
|
java.net.Socket |
createSocket(java.lang.String host,
int port,
java.net.InetAddress clientHost,
int clientPort)
|
java.net.Socket |
createSocket(java.lang.String host,
int port,
java.net.InetAddress localAddress,
int localPort,
org.apache.commons.httpclient.params.HttpConnectionParams params)
Attempts to get a new socket connection to the given host within the given time limit. |
boolean |
equals(java.lang.Object obj)
|
int |
hashCode()
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
EasySSLProtocolSocketFactory
public EasySSLProtocolSocketFactory()
- Constructor for EasySSLProtocolSocketFactory.
createSocket
public java.net.Socket createSocket(java.lang.String host,
int port,
java.net.InetAddress clientHost,
int clientPort)
throws java.io.IOException,
java.net.UnknownHostException
- Specified by:
createSocket
in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
- Throws:
java.io.IOException
java.net.UnknownHostException
- See Also:
ProtocolSocketFactory.createSocket(java.lang.String,int,java.net.InetAddress,int)
createSocket
public java.net.Socket createSocket(java.lang.String host,
int port,
java.net.InetAddress localAddress,
int localPort,
org.apache.commons.httpclient.params.HttpConnectionParams params)
throws java.io.IOException,
java.net.UnknownHostException,
org.apache.commons.httpclient.ConnectTimeoutException
- 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
ConnectTimeoutException
- Specified by:
createSocket
in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
- Parameters:
host
- the host name/IPport
- the port on the hostparams
- Http connection parameters
- Returns:
- Socket a new socket
- Throws:
java.io.IOException
- if an I/O error occurs while creating the socket
java.net.UnknownHostException
- if the IP address of the host cannot be
determined
org.apache.commons.httpclient.ConnectTimeoutException
createSocket
public java.net.Socket createSocket(java.lang.String host,
int port)
throws java.io.IOException,
java.net.UnknownHostException
- Specified by:
createSocket
in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
- Throws:
java.io.IOException
java.net.UnknownHostException
- See Also:
ProtocolSocketFactory.createSocket(java.lang.String,int)
createSocket
public java.net.Socket createSocket(java.net.Socket socket,
java.lang.String host,
int port,
boolean autoClose)
throws java.io.IOException,
java.net.UnknownHostException
- Specified by:
createSocket
in interface org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory
- Throws:
java.io.IOException
java.net.UnknownHostException
- See Also:
SecureProtocolSocketFactory.createSocket(java.net.Socket,java.lang.String,int,boolean)
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object