安装Fiddler证书到夜神模拟器系统证书中
本文大部分内容为参考其他作者总结而成。主要参考如下:
1、作者:一碗单炒饭
https://blog.csdn.net/Aacheng123/article/details/120004226
2、作者:Acheng1011
https://blog.csdn.net/djzhao627/article/details/102812783
一、为什么要把Fiddler证书安装到系统证书中
android分为系统证书和用户证书两种,通过打开浏览器下载的fiddler证书默认安装在用户证书中,而android7版本以上默认不信任用户证书,也就是说,即使安装了fiddler证书也不会生效,这就是为什么我们要把fiddler证书安装到系统证书中的原因。
二、安装步骤
(一)用到的工具
1、夜神模拟器android7版本,开启root
2、openssl(安装链接:)
3、adb
4、fiddler
(二)生成证书
1、打开fiddler - options - https - actions
2、选择Export Root Certificate to Desktop,将证书保存到桌面
3、我生成的证书名是FiddlerRoot.cer(证书名称后面会用到)
(三)安装步骤
要安装到android系统中,证书的命名必须符合规范。
1、证书转换和hash显示
#1. 证书转换,已经是pem格式的证书不需要执行这一步
In:openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem
#2. 进行MD5的hash显示
#openssl版本在1.0以上的版本的执行这一句
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
#openssl版本在1.0以下的版本的执行这一句
openssl x509 -inform PEM -subject_hash -in cacert.pem
运行结束会看到生成了一个由字母和数字组成的hash值,我的是:269953fb,下面的md5加密可以忽略。
2、重命名并发送到手机
传入手机时,请确保已经连接到夜神模拟器
# window重命名 为符合android规范名称
ren cacert.pem 269953fb.0
# 或 linux重命名
cp cacert.pem 269953fb.0
#传入手机
adb push 269953fb.0 /sdcard
3、安装证书
#获取手机的root权限
adb shell
#挂载系统目录为可写
mount -o rw,remount /system
mv /sdcard/269953fb.0 /system/etc/security/cacerts
#修改证书权限
chmod 644 /system/etc/security/cacerts/269953fb.0
如果没有意外的话,运行结束后,证书就已经安装到系统证书中了,可以在夜神模拟器中查看到。
虽然安装成功了,但是抓包的话,还是会提示证书问题,不要问我为什么,我也想知道。