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
。私のロリポップデバイスでは、証明書がそこにリストされています。
HTTPライブラリとしてokhttp3を使用しています。
私が間違っていることは何か考えていますか?
Settings -> Security -> Install from storage
user
1つをに追加/移動してみて<base-config>
、変更が重要かどうかを確認してください。すべきではありませんが、試すのに少し時間がかかります。