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>
我正在调试模式下运行。但是无论如何,我都会得到javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
。
不用说,我确实pfx
从安装了证书Settings -> Security -> Install from storage
。证书显示在中,User Credentials
但不显示在中Trusted credentials -> User
。在我的棒棒糖设备上,证书在那里列出。
我正在使用okhttp3作为HTTP库。
知道我在做什么错吗?
Settings -> Security -> Install from storage
user
一个添加/移动到中<base-config>
,看看是否有变化。它不应该,但是只需要一点时间就可以尝试。