>前言
Android7以后,系统不再信任用户级的证书,只信任系统级的证书,所以要抓包就需要把我们的代理程序证书安装至Android的系统目录中。
>准备
- 一台已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
将新证书放入手机系统证书目录
手机系统目录位置是:
/system/etc/security/cacerts
需要拷贝至此目录必须拥有root权限
重启Android设备以生效
拷贝证书至/system/etc/security/cacerts之后,重启手机就可以使证书生效了