admin 管理员组

文章数量: 887007

fiddler证书导入手机系统中认证-解决 Android7.0+ 无法抓Https包

1.准备
  • 一台已root的手机(由于手机版本型号的不同,请自己找寻root的方式)

  • 安装 Openssl

    OpenSSL官网没有提供windows版本的安装包,可以选择其他开源平台提供的工具。例如 http://slproweb/products/Win32OpenSSL.html 下载适合自己系统的文件

点击一键傻瓜式安装

找到安装目录把bin目录放入path

2.连接手机打开调试模式
adb devices 查看当前连接的手机列表 

3.证书生成
  • 将Filddler或者其余抓包程序的证书导出,通常为xxx.cer或者xxx.pem
  • 使用openssl的x509指令进行cer证书转pem证书 和 用md5方式显示pem证书的hash值svg

1. 证书转换,已是pem格式的证书不须要执行这一步

openssl x509 -inform DER -in xxx.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

将第二条指令输出的相似e5c3944b的值进行复制spa

  • 将pem证书重命名

使用pem的hash名称去(相似于e5c3944b)对pem证书进行重命名

mv cacert.pem e5c3944b.0 #0是文件格式

将新证书放入手机系统证书目录

手机系统目录位置是:/system/etc/security/cacerts

须要拷贝至此目录必须拥有root权限

此处如果adb push 导入系统目录无权限

#进入手机shell界面
adb shell 
#开启root权限
执行 su 进入root模式
# 开启另一个cmd 把文件放到sdcard
adb push E:\Download\ROOTENV\Certificate\b7f69172.0 /sdcard
# 挂载 失败的话 加上 system
mount -o rw,remount /system
# 复制到根证书目录
cp /sdcard/b7f69172.0 /etc/security/cacerts
# 给予权限
chmod 644 /etc/security/cacerts/b7f69172.0

重启Android设备以生效

拷贝证书至/system/etc/security/cacerts以后,重启手机就能够使证书生效了

本文标签: 证书 系统 手机 Fiddler HTTPS