I worked this out using the following example
http://theskeleton.wordpress.com/2010/07/24/avoiding-the-javax-net-ssl-s
slpeerunverifiedexception-peer-not-authenticated-with-httpclient/.
Below is the class for reference. Use as follows:
DefaultHttpClient httpClient =
HttpClientIgnoreInvalidSSLCertificate.createClient();
public class HttpClientIgnoreInvalidSSLCertificate {
public static DefaultHttpClient createClient() {
try {
DefaultHttpClient base = new DefaultHttpClient();
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] xcs,
String string) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] xcs,
String string) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
ctx.init(null, new TrustManager[]{tm}, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx);
ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm = base.getConnectionManager();
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(new Scheme("https", ssf, 443));
return new DefaultHttpClient(ccm, base.getParams());
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
}
-----Original Message-----
From: Oleg Kalnichevski [mailto:[email protected]]
Sent: Sunday, 6 February 2011 11:05 PM
To: HttpClient User Discussion
Subject: Re: Upgrade from Commons HttpClient to HttpClient 4.1
On Fri, 2011-02-04 at 11:30 +0000, Ewan Slater wrote:
> Hi,
>
> I have downloaded (and wish to run) a piece of example code for
> accessing an application that was written for Commons HttpClient.
>
> I have downloaded HttpClient 4.1 as this is recommended and I would
> like to upgrade the example code to use HttpClient 4.1.
>
> I have searched for upgrade / translate commons httpclient to
> httpclient and variants thereof, but I can't find a guide to how to do
> this.
>
> It doesn't seem as simple as just changing
> org.apache.commons.httpclient.Credentials to
> org.apache.http.client.Credentials for example ('cos it doesn't
> exist).
>
> I'm guessing that org.apache.http.auth.Credentials is *probably* what
> I'm after, but some kind of guide would be really useful.
>
> If anyone could point me to one that would be great.
>
Ewan,
The 3.1 and 4.1 APIs are so different that it is not possible to
mechanically port to the new API just by replacing old classes and
interfaces with new ones.
I strongly recommend investing 30 minutes of your time into reading the
HttpClient tutorial and refactoring your code to take full advantage of
HttpClient 4.1 capabilities.
http://hc.apache.org/httpcomponents-core-ga/tutorial/html/
Oleg
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
***********************************************************************************************
This message and its attachments may contain legally privileged or confidential
information.
It is intended solely for the named addressee. If you are not the addressee
indicated in this
message or responsible for delivery of the message to the addressee, you may
not copy or deliver
this message or its attachments to anyone. Rather, you should permanently
delete this message
and its attachments and kindly notify the sender by reply e-mail. Any content
of this message
and its attachments which does not relate to the official business of the
sending company must
be taken not to have been sent or endorsed by that company or any of its
related entities. No
warranty is made that the e-mail or attachments are free from computer virus or
other defect.
***********************************************************************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]