Android 模拟器“链验证失败"将开发人员机器与自签名证书连接起来

Android Emulator quot;Chain Validation Failedquot; connecting developers machine with self-signed cert(Android 模拟器“链验证失败将开发人员机器与自签名证书连接起来)
本文介绍了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 模拟器“链验证失败"将开发人员机器与自签名证书连接起来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)