Charles抓包之Android7.0以上证书文件安装到系统签名里面
Android手机证书的格式是crt,如果格式是gem需要重命名修改文件格式为crt
然后愉快的抓包之路就开始了
ps:Android7.0以上可能会遇到显示unknown的状况,让人抓狂。这原因是Android7.0 之后默认不信任用户添加到系统的CA证书,也就是说对基于 SDK24 及以上的APP来说,即使你在手机上安装了抓包工具的证书也无法抓取 https 请求 。所以需要抓包软件的证书安装成系统证书(需ROOT)
操作步骤:
1.修改证书名称
系统证书目录:/system/etc/security/cacerts/
其中的每个证书的命名规则如下:
<Certificate_Hash>.
文件名是一个Hash值,而后缀是一个数字。
文件名可以用下面的命令计算出来:
openssl x509 -subject_hash_old -in <Certificate_File>
后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1
2.复制证书到设备上
adb root
adb remount
adb push 7672ac4b.0 /sdcard/
3.复制到系统目录并修改权限
adb shell
su
mount -o rw,remount /system
mv /sdcard/.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/7672ac4b.0
reboot
4.验证。在手机的安全中查看系统证书,看到你安装的证书就行了。Charles unknown也就没了,可以看到抓包的数据了。
————————————————
版权声明:本文为CSDN博主「jing__jie」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jing__jie/article/details/102717993