Michael Pujos created HTTPCLIENT-1903:
-----------------------------------------

             Summary: DefaultHostnameVerifier crashes on Android due to 
inexistent javax.naming classes
                 Key: HTTPCLIENT-1903
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1903
             Project: HttpComponents HttpClient
          Issue Type: Bug
    Affects Versions: 4.5.5
            Reporter: Michael Pujos


I'm using HttpClient on Android, repackaged to avoid conficting with the 
platform's org.apache old packages.

It works fine, except that making any https request will crash using the 
defaults.

The reason is that DefaultHostnameVerifier uses javax.naming.* classes, which 
are not present on Android.

So to be able to make https request, the default hostname verifier must be 
replaced. For example:

 

httpClient = HttpClients.custom()
                .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)

                .build();

 

Using NoopHostnameVerifier is rarely a good idea, so for the time being I have 
replaced it with and older version of BrowserCompatHostnameVerifier that 
doesn't internally call DefaultHostnameVerifier.

 

Ideally, I'd like DefaultHostnameVerifier to detect dynamically if 
javax.naming.* classes are available, and switch to an alternate method not 
using them if they are not. That way, HttpClient would work out of the box for 
Android users.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to