我正在尝试使用HttpClientlib 进行HTTPS连接,但是问题在于,由于该证书不是由公认的证书颁发机构(CA)签名,例如Verisign,GlobalSIgn等,该证书列出了一组Android可信证书,我不断javax.net.ssl.SSLException: Not trusted server certificate。
我已经看到了一些解决方案,在这些解决方案中,您仅接受所有证书,但是如果我想问用户该怎么办?
我想要一个类似于浏览器的对话框,让用户决定是否继续。最好是我想使用与浏览器相同的证书库。有任何想法吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Google建议您将Android Volley用于HTTP / HTTPS连接,因为这HttpClient已被弃用。因此,您知道正确的选择:)。
还有,永不NUKE SSL证书(永不!!!)。
滥用SSL证书完全违反SSL的宗旨,而SSL的目的在于提高安全性。如果您打算轰炸所有随附的SSL证书,则没有使用SSL的感觉。更好的解决方案是不使用SSL,或者更好的解决方案是TrustManager使用Android Volley for HTTP / HTTPS连接在您的App +上创建自定义。
这是我用基本的LoginApp创建的要点,它使用服务器端使用的自签名证书执行HTTPS连接,并已在该应用程序上接受。
这也是另一个有用的要点,可用于创建在服务器上设置的自签名SSL证书以及在应用程序上使用证书。非常重要:您必须将上述脚本生成的.crt文件复制到Android项目中的“原始”目录中。