这里先引入两篇文章:
[ 1、Android网络编程——https 不验证证书方式(信任所有证书)](http://blog.csdn.net/xyz_lmn/article/details/8027334)
[ 2、Android: Trusting SSL certificates](http://blog.csdn.net/xyz_lmn/article/details/6312827)
android中实现Https基本就这两种方式,一种是不验证证书,一种是有验证证书(预防钓鱼)。
第二种方式实现复杂一些,需要将cer证书转换成BKS类型。这种方式也只能简单的防止钓鱼,不能有效的防止钓鱼。防止钓鱼最终还是靠用户分辨,在正规渠道下载应用。应用证书也能起到验证客户端的功能,个人认为使用证书验证客户端不合适,如果使用证书验证客户端,证书必须存放在应用程序中或使用时下载,android应用都是一个apk文件,很容易获取到里面的文件,如果是下载方式,更容易通过下载地址获取。如果想验证客户端的话,个人认为使用so文件封装数据更好时。
我们的手机很多时候使用公用wifi上网,这时我们的数据是暴漏了,这是的数据传输是非常危险的,用户的隐私数据很容易被第三方获取到,android客户端中使用https能有效的防止数据暴漏,防止第三方截获应用的通信数据。