Android仿真器“链验证失败”连接开发人员机器与自签名证书
问题描述:
我有一个android studio项目,调用基于web的api服务。当服务代码是在开发,质量保证,督促等有没有证书的问题,而且试图打网络API时,开发人员框测试一项新功能/错误修复/等我得到:Android仿真器“链验证失败”连接开发人员机器与自签名证书
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等
我通过一个web视图访问该服务。
任何帮助,指针,想法将不胜感激。
TIA
答
我得到
javax.net.ssl.SSLHandshakeException: Chain validation failed
和
java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date
为我工作的解决方案是通过虚拟设备管理器强制冷启动模拟器 - >操作下拉列表 - >现在冷启动
用户安装的证书默认情况下不适用于Android 7.0+。您特别如何访问此服务器? OkHttp3? 'HttpUrlConnection'? 'WebView'?还有别的吗? – CommonsWare
Arrgghh很好的问题。我将更新OP的信息。 – GPGVM
我不确定使用带有自签名证书的服务器的“WebView”是否具有良好的生产级配方。如果你在搜索引擎上搜索'android webview self-signed certificate',你会想出像[this]这样的东西(https://*.com/q/5977977/115145),这会让你的应用程序被踢出去Play商店。尽管如此,我还没有对这个主题进行详尽的搜索,所以也许有一个我不知道的解决方案。 – CommonsWare