javasslhttpshttpclient

HttpGet with HTTPS : SSLPeerUnverifiedException


Using HttpClient, I receive the following error when attempting to communicate over HTTPS:

Exception in thread "main" javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated.

Here is my code:

URI loginUri = new URI("https://myUrl.asp");

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet( loginUri );
HttpResponse response = httpclient.execute( httpget );

How do I suppress or remove this error?


Solution

  • Using HttpClient 3.x, you need to do this:

    Protocol easyHttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
    Protocol.registerProtocol("https", easyHttps);
    

    An implementation of EasySSLProtocolSocketFactory can be found here.