Android Emulator quot;Chain Validation Failedquot; connecting developers machine with self-signed cert(Android 模拟器“链验证失败将开发人员机器与自签名证书连接起来)
问题描述
我有一个调用基于 Web 的 API 服务的 Android Studio 项目.当服务代码在 dev、qa、prod 等中时.没有证书问题,但是当尝试点击 web api 开发人员框以测试新功能/错误修复/等时.我得到:
I have an Android Studio project that calls a web based API service. When the service code is in dev, qa, prod etc. There are NO certificate issues but when trying to hit the web api developers box to test a new feature / bug fix / etc. I get:
因为错误没有回复:
javax.net.ssl.SSLHandshakeException:链验证失败
javax.net.ssl.SSLHandshakeException: Chain validation failed
在 com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
我有从服务开发人员机器导出的自签名证书,没有私钥 DER 编码.我掉到模拟器上,它安装"了.但这不起作用.
I had the self signed certificate exported from the service developers machine WITHOUT the private key DER encoded. I dropped onto the emulator and it "installed" but this did not work.
我将上面的相同证书复制到模拟的 sd 卡上.然后从模拟器中的安全设置安装.结果相同.链验证失败.
I took the same cert above and copied to the emulated sd card. Then installed from security settings in emulator. Same result. Chain validation failed.
现在我的安全/证书知识非常基础.我认为错误实际上描述了问题.自签名证书中没有链......但我可能是错的.
Now my security / certificate knowledge is very basic. I think the error actually describes the problem. There is no chain in a self signed certificate...but I could be wrong.
无论如何,我该如何解决这个问题?
Regardless, how do I work around this?
我希望能够运行我的 Android 代码并点击开发人员框进行测试/调试等.
I desire to be able to run my Android code and hit the developers box for testing / debugging etc.
我读过这样的帖子只是为了让我的公司环境阻止开放 SSL 等网站.
I have read post like this one only to have the corporate environment I am in blocking the sites for open SSL etc.
https://android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-android-acts-as-if-cert-isn
我正在通过 WebView 访问服务.
I am accessing the service through a WebView.
推荐答案
这个问题的原因可能是设备的日期时间错误
A cause of this problem can be wrong date time of the device
这篇关于Android 模拟器“链验证失败"将开发人员机器与自签名证书连接起来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android 模拟器“链验证失败"将开发人员机器与自签名证书连接起来


- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01