d37*_*3ur 5 android ssl-certificate
在我正在处理的应用程序中,我必须与Web服务器建立HTTPS连接.我得到证书不可信任的错误,在咨询了stackoverflow之后,我发现了这篇博文:http: //blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificates/
似乎此服务器的CA未包含在Android的默认存储中.简而言之,我下载了所有证书,使用BKS提供程序创建了一个密钥库,导入了密钥,将密钥库导入到我的项目中,继承了DefaultHttpClient类以强制它使用我的密钥库.
按照博客中的步骤操作后,它在模拟器上完美运行.但是,当我在设备上测试时,它会间歇性地失败.我想我已经孤立了一个模式.似乎经过一段时间后我尝试建立HTTPS连接,它将失败.然后,如果我再次尝试相同的连接,它将成功.如果我等待一段时间然后再试一次,它会在第一次失败,成功重复尝试.我可以通过多次尝试失败来修复它,但我想知道发生了什么.行为表明某种缓存,但我不知道如何找到它或修改它的行为.有没有人对正在发生的事情有任何建议或知道我做错了什么?任何帮助,将不胜感激.
我通过设置解决了类似的问题
System.setProperty("http.keepAlive", "false");
Run Code Online (Sandbox Code Playgroud)
在我进行 HTTP 调用之前。Android 在其连接池中保留关闭的连接并尝试重用它们似乎存在问题。
| 归档时间: |
|
| 查看次数: |
8551 次 |
| 最近记录: |