Charles Client SSL handshake failed certificate_unknown
抓包 Android App HTTPS Charles Client SSL handshake failed 问题解决.
相关背景
使用Charles抓包时, 有些APP使用https的可以解开但有些就报这个错,放谷歌查了一些资料,放上解决方案,有类似问题的可以参考一下。
解决方案
确保已正确安装证书, Charles已配置好
使用
apktool
对apk进行反编译apktool d example.apk
修改
AndroidManifest.xml
配置文件, 在application
节点添加一行代码:android:networkSecurityConfig="@xml/network_security_config"
新增
res/xml/network_security_config.xml
配置文件, 内容为下(替换example.com
为你要对此APP进行抓包的域名):<network-security-config> <domain-config> <domain includeSubdomains="true">example.com</domain> <trust-anchors> <certificates src="user"/> </trust-anchors> </domain-config> </network-security-config>
使用
apktool
进行编译apktool b example
使用
ApkSign
对第4步编译后的apk进行签名java -jar signapk.jar certificate.pem key.pk8 example.apk example.sign.apk
安装第5步的apk进行抓包吧~
参考
- CSDN MrgcXia的博客 Charles Android 抓包失败SSLHandshake: Received fatal alert: certificate_unknown
- CharlesProxy SSL Certificates
欢迎留言交流~