diff --git a/httpclient/pom.xml b/httpclient/pom.xml index 106ed3de1e..020106c497 100644 --- a/httpclient/pom.xml +++ b/httpclient/pom.xml @@ -173,7 +173,7 @@ 1.10.8 4.3.3 - 4.3.4 + 4.3.6 2.4.0 diff --git a/httpclient/src/test/java/org/baeldung/httpclient/HttpsClientSslLiveTest.java b/httpclient/src/test/java/org/baeldung/httpclient/HttpsClientSslLiveTest.java index 652a01aedf..aa64bafb23 100644 --- a/httpclient/src/test/java/org/baeldung/httpclient/HttpsClientSslLiveTest.java +++ b/httpclient/src/test/java/org/baeldung/httpclient/HttpsClientSslLiveTest.java @@ -7,7 +7,7 @@ import java.io.IOException; import java.security.GeneralSecurityException; import java.security.cert.X509Certificate; -import javax.net.ssl.SSLPeerUnverifiedException; +import javax.net.ssl.SSLException; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; @@ -39,7 +39,7 @@ public class HttpsClientSslLiveTest { // tests - @Test(expected = SSLPeerUnverifiedException.class) + @Test(expected = SSLException.class) public final void whenHttpsUrlIsConsumed_thenException() throws ClientProtocolException, IOException { final CloseableHttpClient httpClient = HttpClientBuilder.create().build(); @@ -71,6 +71,28 @@ public class HttpsClientSslLiveTest { httpClient.close(); } + @Test + public final void givenHttpClientAfter4_3_whenAcceptingAllCertificates_thenCanConsumeHttpsUriWithSelfSignedCertificate() throws IOException, GeneralSecurityException { + final TrustStrategy acceptingTrustStrategy = new TrustStrategy() { + @Override + public final boolean isTrusted(final X509Certificate[] certificate, final String authType) { + return true; + } + }; + final SSLSocketFactory sf = new SSLSocketFactory(acceptingTrustStrategy, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + final SchemeRegistry registry = new SchemeRegistry(); + registry.register(new Scheme("https", 443, sf)); + final ClientConnectionManager ccm = new PoolingClientConnectionManager(registry); + + final CloseableHttpClient httpClient = new DefaultHttpClient(ccm); + + final HttpGet getMethod = new HttpGet(HOST_WITH_SSL); + final HttpResponse response = httpClient.execute(getMethod); + assertThat(response.getStatusLine().getStatusCode(), equalTo(200)); + + httpClient.close(); + } + @Test public final void givenHttpClientPost4_3_whenAcceptingAllCertificates_thenCanConsumeHttpsUriWithSelfSignedCertificate() throws IOException, GeneralSecurityException { final SSLContextBuilder builder = new SSLContextBuilder();