我有一个调用基于 Web 的 API 服务的 Android Studio 项目。当服务代码在 dev、qa、prod 等中时。没有证书问题,但是当尝试点击 web api 开发人员框以测试新功能/错误修复/等时。我得到:
No reply because of error:
javax.net.ssl.SSLHandshakeException: Chain validation failed
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
我有从服务开发人员机器导出的自签名证书,没有私钥 DER 编码。我掉到模拟器上,它“安装”了,但这不起作用。
我将上面的相同证书复制到模拟的 sd 卡上。然后从模拟器中的安全设置安装。结果相同。链验证失败。
现在我的安全/证书知识非常基础。我认为错误实际上描述了问题。自签名证书中没有链......但我可能是错的。
无论如何,我该如何解决这个问题?
我希望能够运行我的 Android 代码并点击开发人员框进行测试/调试等。
我读过这样的帖子只是为了让我的公司环境阻止开放 SSL 等网站。
我正在通过 WebView 访问服务。
最佳答案
导致此问题的原因可能是设备的日期时间错误
关于Android Emulator "Chain Validation Failed"将开发人员机器与自签名证书连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45923747/