ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

MoveCertificate 实操指南:4步把PEM证书转成Android系统证书,一次搞定不踩坑

MoveCertificate 实操指南:4步把PEM证书转成Android系统证书,一次搞定不踩坑

MoveCertificate 实操指南:4步把PEM证书转成Android系统证书,一次搞定不踩坑

【免费下载链接】MoveCertificate支持Android7-16移动证书,兼容magiskv20.4+/kernelsu/APatch, Support Android7-16, compatible with magiskv20.4+/kernelsu/APatch项目地址: https://gitcode.com/GitHub_Trending/mo/MoveCertificate

MoveCertificate 是一个面向 Android 7-15 的设备模块,核心用途是把抓包工具签发的证书装进 Android 系统证书目录。本文带你用 OpenSSL 完成整套证书格式转换:PEM转DER、证书哈希计算,以及把成品证书送入系统信任区。全程只分四个环节,照这份实操步骤走即可避开大部分常见坑。

📌 原理:系统对证书文件有什么硬性要求

Android 从系统证书目录加载证书时,会卡两个条件。其一,文件本体必须是 DER 二进制编码,PEM 这种带头尾的 Base64 文本放过去不会被识别;其二,文件名本身就是索引,系统按证书主体的哈希值去定位文件,命名规则是“哈希值.0”。所以从 Burp Suite、Charles 这类工具导出证书后,你得先算出哈希,再把文件转成 DER,最后按这个名字落盘,系统才能找到并信任它。

🧭 主流程:从证书文件到系统信任

环节一 环境检查:先装好 OpenSSL

你的电脑只需具备 OpenSSL 一个工具,用系统自带的包管理器安装即可,下面两条命令按发行版二选一:

# Ubuntu/Debian 系 sudo apt-get install openssl # CentOS/RHEL 系 sudo yum install openssl

环节二 哈希计算命令速查:拿到证书的“名字”

接下来给证书算哈希,命令会返回一个 8 位十六进制数字(例如02e06844),它就是证书日后的文件名。注意参数写法取决于你本地的 OpenSSL 版本,别用错:

# OpenSSL 1.0 以上版本 openssl x509 -inform PEM -subject_hash_old -in cacert.pem # 1.0 以下版本把参数换成 -subject_hash

环节三 PEM转DER格式转换命令

把 PEM 文件重新编码为 DER 二进制,这是系统唯一认得的编码,输入输出文件名可自行替换:

openssl x509 -in cacert.pem -outform der -out cacert.der

环节四 改名并推送:重启后证书生效

先按“哈希值.0”重命名文件,再推到模块约定的目录,重启一次让系统重新扫描证书库:

mv cacert.der 02e06844.0 adb push 02e06844.0 /data/local/tmp/cert/ adb reboot

⚡ 捷径:证书已经是 DER 格式

如果手上本来就是 DER 文件,就不必回头转 PEM 了。直接从 DER 文件算哈希,再按结果改名即可,省掉一次格式转换:

openssl x509 -in cacert.der -inform der -subject_hash_old -noout

❓ 常见问题

Q:文件推上去、也重启了,证书为什么没生效?A:先核对两件事:文件名是不是“哈希值.0”的形状,文件内容是不是 DER 编码。系统靠哈希名建索引,名字错或编码错,文件就算移动成功也照样不被信任。

Q:哈希命令里的 -subject_hash_old 和 -subject_hash 有什么区别?A:这是 OpenSSL 版本导致的命令行为差异:1.0 以上版本走 -subject_hash_old,1.0 以下版本走 -subject_hash。按你机器上实际的版本号选用,别两个都试错。

Q:推送路径和重启能省吗?A:不能。证书必须放到 /data/local/tmp/cert/ 这个目录,且模块是靠重启时机完成移动,所以 adb push 之后一定要执行 adb reboot。

📎 进阶说明

  • 多证书共存:同一哈希后追加序号,如 02e06844.0、02e06844.1
  • 手动安装会覆盖已有证书,动手前先备份重要证书
  • MoveCertificate v1.5.5 支持 Android 7-15,兼容 Magisk v20.4+、KernelSU 与 APatch
  • 模块元信息与更新记录可查 module.prop、changelog.md

推送、重启完成之后,抓包证书就已经落在系统信任区,HTTPS 流量可以被正常拦截。卡住时回到环节二核对哈希与文件名——这两处是系统能否找到证书的全部关键。

关键词:MoveCertificate,证书格式转换,PEM转DER,证书哈希,Android 系统证书安装,OpenSSL 证书转换命令,Magisk 模块

【免费下载链接】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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进