Android7以后,系统不再信任用户级的证书,只信任系统级的证书,所以要抓包就需要把我们的代理程序证书安装至Android的系统目录中
准备
- 一台已root的安卓手机
- Openssl
- 证书生成
以mitmproxy为例,找到它的证书一般为xxx.cer或者xxx.pem,我的路径是/root/.mitmproxy/mitmproxy-ca.pem
如果是cer格式,需要使用openssl的x509指令进行cer证书转pem证书
openssl x509 -inform DER -in mitmproxy.cer -out mitmproxy.pem
用md5方式显示pem证书的hash值
#openssl版本在1.0以上的版本的执行这一句
openssl x509 -inform PEM -subject_hash_old -in /root/.mitmproxy/mitmproxy-ca.pem
#openssl版本在1.0以下的版本的执行这一句
openssl x509 -inform PEM -subject_hash -in /root/.mitmproxy/mitmproxy-ca.pem
#查看openssl版本—
openssl version
将输出的类似347bacb5的值进行复制并把pem证书重命名
mitmproxy-ca.pem
重命名为347bacb5.0
将新证书放入手机系统证书目录,手机系统目录位置是(必须拥有root权限):/system/etc/security/cacerts
最后重启手机生效
Comments | NOTHING