关闭

Android上面HTTPS的SSL连接认证

标签: httphttps
748人阅读 评论(0) 收藏 举报
分类:

【这里不赞成大家为了使用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请求,稍后写上

待续

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:62336次
    • 积分:1071
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:21篇
    • 译文:0篇
    • 评论:0条