Class HtmlUnitSSLConnectionSocketFactory

java.lang.Object
org.apache.http.conn.ssl.SSLConnectionSocketFactory
org.htmlunit.httpclient.HtmlUnitSSLConnectionSocketFactory
All Implemented Interfaces:
org.apache.http.conn.socket.ConnectionSocketFactory, org.apache.http.conn.socket.LayeredConnectionSocketFactory

public final class HtmlUnitSSLConnectionSocketFactory extends org.apache.http.conn.ssl.SSLConnectionSocketFactory
Socket factory offering facilities for insecure SSL and for SOCKS proxy support. This looks rather like a hack than like clean code but at the time of the writing it seems to be the easiest way to provide SOCKS proxy support for HTTPS.
  • Field Details

    • SSL3ONLY

      private static final String SSL3ONLY
      See Also:
    • useInsecureSSL_

      private final boolean useInsecureSSL_
  • Constructor Details

  • Method Details

    • setUseSSL3Only

      public static void setUseSSL3Only(org.apache.http.protocol.HttpContext httpContext, boolean ssl3Only)
      Enables/Disables the exclusive usage of SSL3.
      Parameters:
      httpContext - the http context
      ssl3Only - true or false
    • isUseSSL3Only

      static boolean isUseSSL3Only(org.apache.http.protocol.HttpContext context)
    • buildSSLSocketFactory

      public static org.apache.http.conn.ssl.SSLConnectionSocketFactory buildSSLSocketFactory(WebClientOptions options)
      Factory method that builds a new SSLConnectionSocketFactory.
      Parameters:
      options - the current WebClientOptions
      Returns:
      the SSLConnectionSocketFactory
    • configureSocket

      private static void configureSocket(SSLSocket sslSocket, org.apache.http.protocol.HttpContext context)
    • connectSocket

      public Socket connectSocket(int connectTimeout, Socket socket, org.apache.http.HttpHost host, InetSocketAddress remoteAddress, InetSocketAddress localAddress, org.apache.http.protocol.HttpContext context) throws IOException
      Connect via socket.
      Specified by:
      connectSocket in interface org.apache.http.conn.socket.ConnectionSocketFactory
      Overrides:
      connectSocket in class org.apache.http.conn.ssl.SSLConnectionSocketFactory
      Parameters:
      connectTimeout - the timeout
      socket - the socket
      host - the host
      remoteAddress - the remote address
      localAddress - the local address
      context - the context
      Returns:
      the created/connected socket
      Throws:
      IOException - in case of problems
    • setEmptyHostname

      private static void setEmptyHostname(org.apache.http.HttpHost host)
    • getSSLSocketFactory

      private SSLSocketFactory getSSLSocketFactory()
    • getKeyManagers

      private static KeyManager[] getKeyManagers(WebClientOptions options)