使用抓包软件我以 Charles 为例,抓取APP的 https 请求时,Android和Charles都正确安装了证书却出现抓包失败,报错:
unknown
因为Android7.0 之后默认不信任用户添加到系统的CA证书
解决方案:
电脑Charles和openssl
在Charles里面下载.pem文件,这里我不过多描述了。
cmd命令cd到这个.pem文件目录:
pem证书转.cer证书
openssl x509 -outform der -in demo.pem -out demo.cer
cer证书转.pem证书
openssl x509 -inform der -in demo.cer -out newdemo.pem
执行上面两个命令后把newdemo.pem
openssl x509 -subject_hash_old -in newdemo.pem
创建一个txt文本,把上图中的-----BEGIN CERTIFICATE-----到结尾全部复制到txt,保存txt后,图片重命名,以我上面图为例,txt改成0的后缀:12e3e547.0
模拟器我用的夜神模拟器
把12e3e547.0复制到电脑共享路径。
然后电脑下载MT文件管理器,必须root权限(默认已root),打开mt管理器root授权后重新打开此软件。看图操作
右边手机的目录在:/system/etc/security/cacerts/
这样就可以抓包啦。绝对可以,本人亲测