常见问题与解决方案信任证书后移动到/system/etc/security/cacerts下出现证书莫名其妙被删除

我在使用MT管理器移动文件也会出现这种情况,重启手机也没用,最后使用magisk + Move Certificates 插件,下载Move Certificates插件,然后将证书文件push到/data/local/tmp/cert/目录下,重启手机即可生效,可以到设置 -> 信用凭证下查看。

Read-only file system

我在使用MT管理器或者re管理器遇到过这种情况,不过重启手机后就不会了,这种情况可以尝试执行命令:mount -o rw,remount /system 重新挂在/system目录为可读写,不过不一定能成功。

Windows下证书安装

大家直接参考这篇博主的文章,我也是按照他的流程部署成功的Windows下(Win10)Charles从下载安装到证书设置和浏览器抓包测试,亲测!

Android下证书安装

这里记录自己安装时失败与成功的过程,大家具体情况具体分析

失败案例

首先我是通过下图这种方式在Android浏览器去下载证书文件的

安卓手机安装Charles证书到系统证书_android

下载后以“VPN和应用”凭据用途安装

安卓手机安装Charles证书到系统证书_逆向_02

安装后的会存储在/data/misc/user/0/cacerts-added/,使用MT管理器将其移动到/system/etc/security/cacerts,按道理这个步骤就可以了。

但是调试时发现https请求还是无法成功,在系统设置中查看信任的凭据发现这个方式安装的证书有效期其实已经失效了。

成功案例

这个前提时我们在windows下已经成功安装和证书

安卓手机安装Charles证书到系统证书_重启_03

将windows的charles证书保存下来,得到的是pem文件

安卓手机安装Charles证书到系统证书_charles_04

安卓手机安装Charles证书到系统证书_android_05

使用命令openssl x509 -inform PEM -subject_hash_old -in xxx.pem输出证书内容,主要是得到文件名,打印出来的内容中dd189c9e就是我们想要的文件名

安卓手机安装Charles证书到系统证书_逆向_06

修改pem文件名为dd189c9e.0

安卓手机安装Charles证书到系统证书_重启_07

使用adb工具将其push到/sdcard/路径

安卓手机安装Charles证书到系统证书_android_08

进入手机修改文件的所有者和读写权限

adb shell
su
chgrt root dd189c9e.0
chmod 777 dd189c9e.0

最好使用re文件管理器将dd189c9e.0移动到/system/etc/security/cacerts下,防止出现挂载,最后重启手机就成功了。