Android 7 memperkenalkan beberapa perubahan pada cara penanganan sertifikat ( http://android-developers.blogspot.com/2016/07/changes-to-trusted-certificate.html ) dan entah bagaimana saya tidak dapat membuat proxy Charles saya berfungsi lagi.
Network_security_config.xml saya:
<?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>
Saya menjalankan dalam mode debug. Tapi tidak peduli apa, aku mengerti javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found..
Tak perlu dikatakan, saya memang memasang pfxsertifikat dari Settings -> Security -> Install from storage. Sertifikat diperlihatkan User Credentialstetapi tidak dalam Trusted credentials -> User. Di perangkat lollipop saya, sertifikatnya terdaftar di sana.
Saya menggunakan okhttp3 sebagai pustaka HTTP.
Tahu apa yang saya lakukan salah?
Settings -> Security -> Install from storage
userke dalam<base-config>dan lihat apakah perubahan itu penting. Seharusnya tidak, tetapi hanya perlu beberapa saat untuk mencoba.