3 步完成 Android 证书迁移,让 HTTPS 抓包在手机上真正生效
【免费下载链接】MoveCertificate支持Android7-16移动证书,兼容magiskv20.4+/kernelsu/APatch, Support Android7-16, compatible with magiskv20.4+/kernelsu/APatch项目地址: https://gitcode.com/GitHub_Trending/mo/MoveCertificate
把手机接上代理,用 Burp Suite 抓 HTTPS 流量,结果全是密文——因为装在用户目录的证书没被系统信任。MoveCertificate 在这一场景里只做一件事:Android 证书迁移,把用户证书挪进系统证书目录,让系统重新信任它。全程只需要三步。
一句话定位
MoveCertificate 是一个 Magisk / KernelSU / APatch 模块,负责监听用户证书目录里的新证书,并自动复制进系统证书目录。重启后系统信任链随之更新,HTTPS 抓包工具能立刻以明文读出请求内容。
模块还带一个内置 web 页面,可以查看已安装证书的明细,长按即可删除(见 web 页面源码)。
三步让证书获得系统信任
前置条件只有一个:设备已 root(Magisk v20.4+、KernelSU 或 APatch),并且你会用 ADB;官方镜像的手机适合这套方案,能自己改镜像的话,内置更省事。
- 刷模块:在管理器里通过本地安装刷入 MoveCertificate 模块,不需要改任何配置;
- 重启设备:开机后模块脚本生效,之后新增的证书会被自动处理;
- 装证书:把抓包工具的 CA 证书导出,通过系统设置正常安装,无需格式转换,重启一次即完成。
真正用得上的两个操作
手动写入系统证书目录
需要频繁换多台电脑,或者要把证书内置进系统时,手动写入更稳。Android 系统只认 DER 格式的证书,所以先把 PEM 证书转成 DER,并用证书的主体哈希命名:
openssl x509 -inform PEM -subject_hash_old -in cacert.pem openssl x509 -in cacert.pem -outform der -out cacert.der mv cacert.der 02e06844.0然后用 ADB 把文件 push 到/data/local/tmp/cert/,重启手机即可生效。注意这个方式会覆盖系统目录里已有的证书,日常场景不必用它。
多证书文件命名规范
文件名里的 hash 就是证书主体哈希,上面的 openssl 命令第一行会直接打印出来,不用手算。命名规则是hash.0,同一个主题想再加一张,用hash.1依次共存。比如02e06844.0已被占用时,02e06844.1可以放在旁边。
装之前先对照这张清单
| 对照项 | 要求 |
|---|---|
| Android 版本 | 7.0 – 16.0 |
| Root 方案 | Magisk v20.4+、KernelSU、APatch |
| 证书格式 | 建议走系统设置安装 PEM / DER;手动写入必须先转 DER |
绕开这三个坑
- 挪完不生效:先确认模块确实刷进去了、设备重启过,再看证书文件是否真的在系统证书目录里。
- 文件在但认不出:Reqable 这类工具直接导出的
.0文件可能因为编码问题用不了,必须先转 DER 再挪。 - 旧证书被顶掉:手动写入会覆盖已有系统证书,常规场景走系统设置,交给模块自动处理。
回到开头那个 Burp Suite 界面:证书进了系统目录后,HTTPS 抓包不再是乱码,每条请求都是明文,可以开始真正的接口调试。下一步是找一台测试机先刷模块,装一张抓包工具证书验证,再推到你日常用的设备上。
【免费下载链接】MoveCertificate支持Android7-16移动证书,兼容magiskv20.4+/kernelsu/APatch, Support Android7-16, compatible with magiskv20.4+/kernelsu/APatch项目地址: https://gitcode.com/GitHub_Trending/mo/MoveCertificate
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考