r01f.httpclient
Class SSLTunnelSocketFactory
java.lang.Object
javax.net.SocketFactory
javax.net.ssl.SSLSocketFactory
r01f.httpclient.SSLTunnelSocketFactory
public class SSLTunnelSocketFactory
- extends javax.net.ssl.SSLSocketFactory
Esta clase se utilizará cada vez que se quiera conectar a una url https através de Proxy.
Realiza el HandShake entre un Cliente, el Servidor destino através de tunneling(proxy.)
|
Constructor Summary |
SSLTunnelSocketFactory(java.lang.String proxyHost,
java.lang.String proxyPort,
java.lang.String usr,
java.lang.String pwd)
|
|
Method Summary |
private void |
_doTunnelHandshake(java.net.Socket proxySocket,
java.lang.String host,
int port)
Realiza la comunicación SSL entre el proxy y el host remoto. |
java.net.Socket |
createSocket(java.net.InetAddress remoteHostAddr,
int remotePort)
|
java.net.Socket |
createSocket(java.net.InetAddress remoteHostAddr,
int remotePort,
java.net.InetAddress proxyAddr,
int proxyPort)
|
java.net.Socket |
createSocket(java.net.Socket socket,
java.lang.String remoteHost,
int remotePort,
boolean flag)
|
java.net.Socket |
createSocket(java.lang.String remoteHost,
int remotePort)
|
java.net.Socket |
createSocket(java.lang.String remoteHost,
int remotePort,
java.net.InetAddress proxyAddr,
int proxyPort)
|
java.lang.String[] |
getDefaultCipherSuites()
|
java.lang.String[] |
getSupportedCipherSuites()
|
void |
setDelegateFactory(javax.net.ssl.SSLSocketFactory sslsocketfactory)
|
void |
setProxyAuth(java.lang.String usr,
java.lang.String pwd)
|
java.lang.String |
toString()
|
| Methods inherited from class javax.net.ssl.SSLSocketFactory |
getDefault |
| Methods inherited from class javax.net.SocketFactory |
createSocket |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
_dfactory
private javax.net.ssl.SSLSocketFactory _dfactory
_proxyHost
private java.lang.String _proxyHost
_proxyPort
private int _proxyPort
_proxyUser
private java.lang.String _proxyUser
_proxyPassword
private java.lang.String _proxyPassword
SSLTunnelSocketFactory
public SSLTunnelSocketFactory(java.lang.String proxyHost,
java.lang.String proxyPort,
java.lang.String usr,
java.lang.String pwd)
createSocket
public java.net.Socket createSocket(java.lang.String remoteHost,
int remotePort)
throws java.io.IOException,
java.net.UnknownHostException
- Specified by:
createSocket in class javax.net.SocketFactory
- Throws:
java.io.IOException
java.net.UnknownHostException
createSocket
public java.net.Socket createSocket(java.net.InetAddress remoteHostAddr,
int remotePort)
throws java.io.IOException
- Specified by:
createSocket in class javax.net.SocketFactory
- Throws:
java.io.IOException
createSocket
public java.net.Socket createSocket(java.lang.String remoteHost,
int remotePort,
java.net.InetAddress proxyAddr,
int proxyPort)
throws java.io.IOException,
java.net.UnknownHostException
- Specified by:
createSocket in class javax.net.SocketFactory
- Throws:
java.io.IOException
java.net.UnknownHostException
createSocket
public java.net.Socket createSocket(java.net.InetAddress remoteHostAddr,
int remotePort,
java.net.InetAddress proxyAddr,
int proxyPort)
throws java.io.IOException
- Specified by:
createSocket in class javax.net.SocketFactory
- Throws:
java.io.IOException
createSocket
public java.net.Socket createSocket(java.net.Socket socket,
java.lang.String remoteHost,
int remotePort,
boolean flag)
throws java.io.IOException,
java.net.UnknownHostException
- Specified by:
createSocket in class javax.net.ssl.SSLSocketFactory
- Throws:
java.io.IOException
java.net.UnknownHostException
getDefaultCipherSuites
public java.lang.String[] getDefaultCipherSuites()
- Specified by:
getDefaultCipherSuites in class javax.net.ssl.SSLSocketFactory
getSupportedCipherSuites
public java.lang.String[] getSupportedCipherSuites()
- Specified by:
getSupportedCipherSuites in class javax.net.ssl.SSLSocketFactory
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
setDelegateFactory
public void setDelegateFactory(javax.net.ssl.SSLSocketFactory sslsocketfactory)
setProxyAuth
public void setProxyAuth(java.lang.String usr,
java.lang.String pwd)
_doTunnelHandshake
private void _doTunnelHandshake(java.net.Socket proxySocket,
java.lang.String host,
int port)
throws java.io.IOException
- Realiza la comunicación SSL entre el proxy y el host remoto.
- Parameters:
proxySocket - socket con el proxyhost - host a acceder a través del proxyport - puerto del host a acceder a través del proxy
- Throws:
java.io.IOException - si NO se puede acceder al host a través del proxy