最佳答案
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.
。
不用说,我确实从 Settings -> Security -> Install from storage
安装了 pfx
证书。证书在 User Credentials
中显示,但在 Trusted credentials -> User
中不显示。在我的棒棒糖设备上,证书列在那里。
我使用 okhttp3作为 HTTP 库。
知道我哪里做错了吗?