解决安卓7.0以后https抓不到包的问题

root手机,把代理证书放到系统证书根目录下

用户CA证书目录
/data/misc/user/0/cacerts-added
系统CA证书目录
/system/etc/security/cacerts
问题:
有的手机root /system 分区是只能读 仍然不能把证书放到系统根目录, 比如魅族pro5

报错:mount -o rw,remount /system /system’ not in /proc/mounts

方案. mount -o rw,remount /   

或者mount -o rw,remount /system

然后再chmod 777 /system 

此方法如果还是不行,可以参考这篇文章的方法https://blog.zhangkunzhi.com/2020/02/10/%E5%AE%89%E5%8D%93%E5%AF%BC%E5%85%A5%E8%AF%81%E4%B9%A6%E5%88%B0%E7%B3%BB%E7%BB%9F%E7%9B%AE%E5%BD%95%E4%B8%AD/index.html

操作:

把 charles或者fiddler证书下载到桌面,比如证书名字叫charles-ssl-proxying-certificate.pem

执行命令  openssl x509 -subject_hash_old -in charles-ssl-proxying-certificate.pem 拿到证书到md5值(8位)(.cer证书得转化为pem才能拿到md5值,我是用mac的钥匙串转化的,其他方式自己网上查)

 此证书的md5值为6b7b3927

再执行cat charles-proxy-ssl-proxying-certificate.pem >6b7b3927.0(后缀必须是0)

得到一个名为6b7b3927.0的证书,在使用adb命令推进手机的跟证书目录即可

sudo adb push 6b7b3927.0 /system/etc/security/cacerts

查看手机根目录是否安装,打开手机

 说明安装成功,

httpcannary证书也可以使用同样的方法,把手机用户里面的httpcannary证书导出来,再倒进根目录下即可, ps:按照道理来说,直接再手机里面移动岂不是更好,但是之前做过尝试,手机里面直接移动证书,手机重启后会消失,也不知道为啥,===

原文地址:https://www.cnblogs.com/wuxianyu/p/14381022.html