经过前面两篇文章HttpClient访问https链接(一)和HttpClient访问https链接(二)的介绍,本来计划的第三篇应该是介绍Android端的双向认证,但是由于双向认证的实现,必须服务端和客户端都开启双向认证才真正有意义,所以第三篇文章我将会介绍如何利用keystore配置tomcat7的双向认证环境。
在文章HttpClient访问https链接(一)中,介绍了如何接受所有证书(不做验证)来通过HttpClient请求Https协议的链接,这次,是要验证服务端的证书,将证书导入到可信证书库,处理这部分有两种不同的做法,一是直接载入证书,还有一种是通过keystore导入证书的形式,但是注意android只支持bks类型的keystore。下面我们将会把这两种都处理到。
这次会抽时间把HttpClient访问Https链接的内容大致分为三部分来写,第一部分是由于不安全的证书导致的集中问题解决;第二部分将会叙述怎么实现单向SSL验证;第三部分则会叙述如何实现Https的双向认证。