转: https://blog.csdn.net/m0_37833535/article/details/124274797
谷歌修改安卓系统,7.0之后,app只信任指定证书和系统内置的证书,后续用户安装的证书不生效,故只能想办法装到系统内部。
第一步,准备pem证书
1.打开Charles–help下载charles.cer到桌面
2.由于证书格式转换需要用到 openssl,去官网下载后,安装好openssl.添加OpenSSL的路径到系统变量中的path
下面是证书格式转换 (windows里面的命令行操作)
pem证书转.cer证书
openssl x509 -outform der -in demo.pem -out demo.cer
cer证书转.pem证书
openssl x509 -inform der -in “C:\Users\Desktop\CharlesCA.cer” -out “C:\Users\Desktop\ca.pem”
3,打开夜神模拟器,根目录会有nox_adb.exe文件,用命令行去操控这个文件。(如果不是用夜神模拟器,也可以自己下载adb 工具,原理一样)
3.1.查看连接状态
nox_adb.exe devices
3.2.判断是否有root权限
nox_adb.exe root
没有root权限 打开夜神–给模拟器勾选上root,重启模拟器
3.3.将/system部分置于可写入模式 adb remount
4.查看证书信息hash值
openssl x509 -subject_hash_old -in “C:\Users\Desktop\ca.pem”
拷贝该文件,重命名为 hash结果里面的名称 (02631509).0 的证书
同理fiddler的证书也如此
5.adb下cmd中执行
adb push 02631509.0/system/etc/security/cacerts/ 就是把证书文件复制到证书