gpt4 book ai didi

android - 如何让查尔斯代理与 Android 7 牛轧糖一起工作?

转载 作者:IT老高 更新时间:2023-10-28 13:06:59 26 4
gpt4 key购买 nike

Android 7 对证书的处理方式进行了一些更改 (http://android-developers.blogspot.com/2016/07/changes-to-trusted-certificate.html),不知何故我无法让我的 Charles 代理继续工作。

我的 network_security_config.xml:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>

我正在 Debug模式下运行。但无论如何,我得到 javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certificate path not found..

不用说,我确实从 Settings -> Security -> Install from storage 安装了 pfx 证书。证书显示在 User Credentials 中,但不在 Trusted credentials -> User 中。在我的 Lollipop 设备上,证书列在那里。

我使用 okhttp3 作为 HTTP 库。

知道我做错了什么吗?

最佳答案

解决方案是不要使用 .p12,只需使用 Chrome(在 wifi 上配置代理)导航到 http://charlesproxy.com/getssl安装下载的 .pem 文件

我在运行 Android 7.0 的 Nexus 5X 上遇到了完全相同的问题。之前从 Charles 3.11.5 导出了 .p12(Help->SSL Proxying->Export Charles Root certificate and Private key)。当我尝试从手机(设置->安全->从存储安装)安装 .p12 时,它只出现在“用户凭据”下,而从未出现在“受信任的凭据”下,当然,带有 Charles 代理的 SSL 不起作用。

Android 7.0 的全部“操作方法”如下所示:

  1. 配置 WiFi + 代理(Charles 的要求)。连接它。
  2. 在设备上,使用 Chrome 导航至 http://charlesproxy.com/getssl ,接受下载.pem的请求,然后按“打开”,它会启动“证书安装程序”应用程序。使用它将证书安装为“VPN 和应用程序”。
  3. 把属性android:networkSecurityConfig="@xml/network_security_config"<application>在 Manifest.xml 中
  4. 使用第一篇文章中的内容创建 res/xml/network_security_config.xml(完全正确)。
  5. 启动 Charles 和应用,玩得开心。

附注检查设备上的日期/时间。应该是正确的。

关于android - 如何让查尔斯代理与 Android 7 牛轧糖一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39215229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com