这次会抽时间把HttpClient访问Https链接的内容大致分为三部分来写,第一部分是由于不安全的证书导致的集中问题解决;第二部分将会叙述怎么实现单向SSL验证;第三部分则会叙述如何实现Https的双向认证。
一般情况下,我们通过
HttpClient client = new DefaultHttpClient();
得到的HttpClient对象是可以直接发起Https的访问的,但是如果服务端的SSL证书是不可信的(可能是证书应用范围不对,也可能是自签名的证书),那么可能会有这些错误
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
或者javax.net.ssl.SSLException: hostname in certificate didn't match:
这部分我们要解决的办法就是通过接受所有服务端证书
| 1 | /** | 
EasySSLSocketFactory这个类很简单
| 1 | package com.ilovn.app.httpsdemo; | 
调用的话也是很简单的
| 1 | HttpClient client = HttpClientUtil.getNewHttpClient(); | 
这里主要就是接受了所有的SSL证书,在于安全来说,那还要SSL干嘛呢。下一篇我们就会来看如何实现客户端验证服务端的SSL证书。

