Fiddler提供的证书是.cer格式的证书,而安卓系统跟证书是.0格式的证书,我们需要做的是把fiddler证书先转换成安卓需要的.0证书格式,然后将证书拷贝到Andorid根证书存放目录 /system/etc/security/cacerts/目录下面,具体参见下面流程
第一步准备一部获取root权限的android手机
第二步浏览器输入fiddler证书下载地址,下载FiddlerRoot.cer证书
第三步,将cer证书转换成.0证书
openssl x509 -inform DER -subject_hash_old -in FiddlerRoot.cer 269953fb #输出cer证书hash,转换成android证书的命名就用 269953fb.0 openssl x509 -inform DER -in FiddlerRoot.cer -text > 269953fb.0 #导出android证书 编辑输出的文件,把"-----BEGIN CERTIFICATE-----"到文件结束这部分移动到文件首部
第四步,将证书导入android系统证书目录
adb devices #查看设备 adb root #root用户 adb push 269953fb.0 /sdcard #推送证书到手机 adb disable-verity adb reboot adb remount adb root adb shell su mount -o rw,remount /system cp /sdcard/269953fb.0 /system/ect/security/cacerts/ cd /system/etc/security/cacerts chmod 644 269953fb.0 #分配权限 exit;
这样证书就被导入到android根目录了,打开任意app,小程序,fiddler完美展示数据,舒服 ~
参考链接
ps:2020.4.8更新 参考链接 https://blog.csdn.net/liuluok123/article/details/95971731
三、Openssl安装完成后把证书导入到Linux系统下并进行转换
转换命令:
1.openssl x509 -inform der -in fiddler.cer -out fiddler.pem
2.openssl x509 -inform PEM -subject_hash_old -in fiddler.pem | head -1
得到类似字符串:9a5ba575
3.cat fiddler.pem > 9a5ba575.0
4.openssl x509 -inform PEM -text -in fiddler.pem -out /dev/null >> 9a5ba575.0
5.openssl x509 -inform PEM -subject_hash -in fiddler.pem | head -1
得到类似字符串:425356aa
6.cat fiddler.pem > 425356aa.0
7.openssl x509 -inform PEM -text -in fiddler.pem -out /dev/null >> 425356aa.0
四、把生成好的9a5ba575.0、 425356aa.0这两个文件放入手机/system/etc/security/cacerts 目录下,并修改9a5ba575.0、 425356aa.0这2个文件的读写权限:
修改读写权限命令:chmod 777 9a5ba575.0
五、重启手机,如果生成的文件正确,可以在 信任的凭据 -> 系统中找到如下Fiddler的证书,就可以正常抓取HTTPS的包了
本文为Adamin90原创文章,转载无需和我联系,但请注明来自http://www.lixiaopeng.top