准备
一台已root的手机
Openssl
证书生成
将Filddler或者其他抓包程序的证书导出,一般为xxx.cer或者xxx.pem
使用openssl的x509指令进行cer证书转pem证书 和 用md5方式显示pem证书的hash值
#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
将第二条指令输出的类似347bacb5的值进行复制
tips: 查看openssl版本的指令openssl version
将pem证书重命名
使用上面复制的值(类似于347bacb5)对pem证书进行重命名
mv cacert.pem 347bacb5.0
1
将新证书放入手机系统证书目录
手机系统目录位置是:
/system/etc/security/cacerts
需要拷贝至此目录必须拥有root权限
重启Android设备以生效
拷贝证书至/system/etc/security/cacerts之后,重启手机就可以使证书生效了
error
Read-only file system
mount -o exec
mount -o rw,remount /system
mount -o rw,remount /system
mount -o rw,remount /
adb root; adb remount
都试试
1|sailfish:/data/local/tmp # mount - o rw,remount /system
mount: Max 2 arguments
v 9a5ba575.0 /system/etc/security/cacerts/ <
mv: /system/etc/security/cacerts//9a5ba575.0: Read-only file system
v 9a5ba575.0 /system/etc/security/cacerts/ <
mv: /system/etc/security/cacerts//9a5ba575.0: Read-only file system
v 9a5ba575.0 /system/etc/security/cacerts/ <
mv: /system/etc/security/cacerts//9a5ba575.0: Read-only file system
v 9a5ba575.0 /system/etc/security/cacerts/ <
mv: /system/etc/security/cacerts//9a5ba575.0: Read-only file system
1|sailfish:/data/local/tmp #
adb push ~/Downloads/9a5ba575.0 /data/local/tmp
cd /data/local/tmp
cp 9a5ba575.0 /system/etc/security/cacerts/
mount -o remount,rw /sysyem/bin
mount - o remount,rw /
cp 9a5ba575.0 /system/etc/security/cacerts/
mv /data/local/tmp/9a5ba575.0 /system/etc/security/cacerts/9a5ba575.0
Links
Android 7 以上版本,绕过CA限制,抓取https
https://www.jianshu.com/p/035f7d7a0f7e
给Android7及以上的手机安装系统级证书,实现Fiddler或者其他程序的HTTPS的抓包