1.准备
一台已root的手机(由于手机版本型号的不同,请自己找寻root的方式)
安装 Openssl
OpenSSL官网没有提供windows版本的安装包,可以选择其他开源平台提供的工具。例如 http://slproweb.com/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
以后,重启手机就能够使证书生效了