添加Mitmproxy证书为安卓系统证书
Android证书分为“用户证书”和“系统证书”两种,在设置->安全->"查看安全证书"列表中,可以看到“系统”和“用户”两个列表。用户通过浏览器下载安装或者通过WLAN高级设置安装的证书均为用户证书。
安装为系统证书有什么好处呢?
(1)安装用户证书必须要设置开机密码,而且设置后就不能取消,除非先删掉所有的用户证书。如果安装为系统证书就不需要设置开机密码,自动化操作时更方便。
(2)Android 7以上版本APP默认不信任用户证书,只信任系统证书,安装为用户证书,对APP的HTTPS抓包会失败。安装为全局证书才能被所有APP信任,方可进行HTTPS抓包。
Android的系统证书的存储位置是/system/etc/security/cacerts,证书文件必须是PEM格式,而且文件命名必须符合系统证书规范。
1、准备一台已经
1、准备一台已经
root
的手机2、准备
mitmproxy
证书文件Windows 或者Linux 在mitmdump第一次运行会在用户目录生成对应的文件。
#PEM或者DER格式均可。 #如果是PEM格式的: oboth@DESKTOP-BUFOEB1:/mnt/c/Users/luoz/.mitmproxy$ openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.pem -noout c8750f0d # 如果是DER格式的: oboth@DESKTOP-BUFOEB1:/mnt/c/Users/luoz/.mitmproxy$ openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.cer -noout c8750f0d #重命名 cp mitmproxy-ca-cert.pem c8750f0d.0
#传入手机
adb push c8750f0d.0 /sdcard
#获取手机的root权限 adb shell su #挂载系统目录为可写 mount -o rw,remount / mv /sdcard/c8750f0d.0 /system/etc/security/cacerts #修改证书权限 chmod 644 /system/etc/security/cacerts/c8750f0d.0
至此,证书安装成功!
现在我们可以在系统证书里面找到mitmproxy证书了。手机连接mitmproxy代理进行抓包时系统也不会报”该证书来自非可信的授权中心“的错误了。
如果升级系统的话,可能需要重新拷入证书到系统目录。可以考虑将该证书做成magisk模块,这样升级系统后也无需重新拷入。
作者:書劍飄零
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异