diff --git a/src/main/java/org/htmlunit/httpclient/HtmlUnitSSLConnectionSocketFactory.java b/src/main/java/org/htmlunit/httpclient/HtmlUnitSSLConnectionSocketFactory.java index 48441960bbf..6057914cff0 100644 --- a/src/main/java/org/htmlunit/httpclient/HtmlUnitSSLConnectionSocketFactory.java +++ b/src/main/java/org/htmlunit/httpclient/HtmlUnitSSLConnectionSocketFactory.java @@ -20,11 +20,7 @@ import java.net.Socket; import java.net.SocketTimeoutException; import java.security.GeneralSecurityException; -import java.security.KeyManagementException; import java.security.KeyStore; -import java.security.KeyStoreException; -import java.security.NoSuchAlgorithmException; -import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.Arrays; @@ -92,12 +88,13 @@ public static SSLConnectionSocketFactory buildSSLSocketFactory(final WebClientOp if (!useInsecureSSL) { final KeyStore keyStore = options.getSSLClientCertificateStore(); + final char[] keyStorePassword = keyStore == null ? null : options.getSSLClientCertificatePassword(); final KeyStore trustStore = options.getSSLTrustStore(); - return new HtmlUnitSSLConnectionSocketFactory(keyStore, - keyStore == null ? null : options.getSSLClientCertificatePassword(), - trustStore, useInsecureSSL, - sslClientProtocols, sslClientCipherSuites); + final SSLContext sslContext = SSLContexts.custom() + .loadKeyMaterial(keyStore, keyStorePassword).loadTrustMaterial(trustStore, null).build(); + return new HtmlUnitSSLConnectionSocketFactory(sslContext, new DefaultHostnameVerifier(), + useInsecureSSL, sslClientProtocols, sslClientCipherSuites); } // we need insecure SSL + SOCKS awareness @@ -123,17 +120,6 @@ private HtmlUnitSSLConnectionSocketFactory(final SSLContext sslContext, useInsecureSSL_ = useInsecureSSL; } - private HtmlUnitSSLConnectionSocketFactory(final KeyStore keystore, final char[] keystorePassword, - final KeyStore truststore, final boolean useInsecureSSL, - final String[] supportedProtocols, final String[] supportedCipherSuites) - throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException { - super(SSLContexts.custom() - .loadKeyMaterial(keystore, keystorePassword).loadTrustMaterial(truststore, null).build(), - supportedProtocols, supportedCipherSuites, - new DefaultHostnameVerifier()); - useInsecureSSL_ = useInsecureSSL; - } - private static void configureSocket(final SSLSocket sslSocket, final HttpContext context) { if (isUseSSL3Only(context)) { sslSocket.setEnabledProtocols(new String[]{"SSLv3"});