在我正在处理的应用程序中,我必须建立与Web服务器的HTTPS连接。我得到证书不可信的错误,并在咨询stackoverflow后,我发现这个博客张贴: http://blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificates/Android SSL错误:证书不可信...有时
似乎这个服务器的CA不包括在Android的默认商店。简而言之,我下载了所有证书,使用BKS提供程序创建了一个密钥库,导入了密钥,将密钥库导入到了我的项目中,并划分了DefaultHttpClient类,强制它使用我的密钥库。
按照博客中的步骤完成后,它在模拟器上完美运行。但是,当我在设备上测试它时,它会间歇性地失败。我想我已经隔离了一个模式。看起来过了一段时间,我试着做一个HTTPS连接,它会失败。然后,如果我再次尝试相同的连接,它将成功。如果我等一会再试一次,第一次就会失败,重复尝试就会成功。我可以通过多次尝试失败来修复它,但我想知道发生了什么。行为暗示了某种缓存,但我不知道如何去找到它或修改它的行为。有没有人有任何关于正在发生的事情或知道我在做什么错误的建议?任何帮助,将不胜感激。
我终于决定把连接尝试放入循环三次。到目前为止,它总是在第二次尝试。哈克,但我仍然可以使用证书。仍然不知道发生了什么事。 – d370urn3ur 2011-03-30 21:56:06
它适合我! – 2012-12-07 07:46:04
如果您接受所有证书,请提醒用户。知道你绕过安全是他们的权利。 – Krylez 2013-01-15 19:23:09