Android上面HTTPS的SSL连接认证

【这里不赞成大家为了使用https,为了不报错就直接设置为所有证书不验证的方式,因为现在网上基本所有的https教程都是叫你设置所有证书都通过的情况,对于SSL验证基本上形同虚设】


一种情况:

有开发者在代码中不检查服务器证书的有效性,或选择接受所有的证书。

例如,开发者可以自己实现一个X509TrustManager接口,将其中的checkServerTrusted方法实现为空,即不检查服务器是否可信;

或者在SSLSocketFactory的实例中,通过setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER),接受所有证书。

做出这两种选择的可能原因是,使用了自己生成了证书后,客户端发现证书无法与系统可信根CA形成信任链,出现了CertificateException等异常。


一种情况:

Android中包含了Apache Jakarta Common 下的子项目 HttpClient 类包的一个子集。因此,在大多数情况下可以按照JVM的方式使用HttpClient,但是在有些情况下,由于Android SDK中未包含某些类,处理的方式就有差别。比如,访问https时安全证书的处理。

假如我们的需求是自动接受所有安全证书。思路跟以前一样,扩展一个SSLSocketFactory类,并将TrustManager里的方法全部重写成空。


如何正确编写能够对ssl,证书验证的http请求,稍后写上

待续

阅读更多
文章标签: http https
个人分类: Android
上一篇当Android遇到HTTP HTTPS的SSL安全机制
下一篇ANT批量打包
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭