最近我的应用程序的登台服务器上的证书发生了变化。服务器通过了 A- 级的 Qualys SSL 测试(“服务器不支持引用浏览器的前向保密。等级降低到 A-”)所以我应该能够通过 https 连接而不向我的应用程序添加任何证书、 keystore 或其他任何东西。 事实上,标准的 Android 连接方法运行良好 ( http://developer.android.com/training/basics/network-ops/connecting.html )。
问题是,我正在使用 android-async-http整个代码都使用 org.apache.http.client。当我连接到站点时,返回 javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
!
在当前情况下,我真的无法更改连接方法。我想继续使用 android-async-http 并连接到我的网站而不绕过 SSL 安全性。
有什么建议吗? android-async-http 的一些额外设置?或者也许更改 android-async-http 源代码会有帮助?
最佳答案
6 个月前我遇到了同样的问题。
我认为你可以通过以下方式解决它:
- MySSLSocketFactory 扩展 SSLSocketFactory
- 然后你需要在创建 HTTPClient 实例的地方使用这个类并传递一些参数...
我认为下面的链接会有所帮助。如果它没有帮助,那么我可以稍后共享具体代码...
关于android - AsyncHttpClient 和 org.apache.http.client 在 SSL 站点上失败,而标准 Android 方法运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22534378/