手机(小米系列)不能安装mitmproxy 证书怎么办

安卓版本7+并且微信版本7+ 使用mitmproxy也不能代理请求怎么办?

  • 究其缘由是微信调整了如下安全证书策略:
策略安卓版本微信版本是否可以代理
A7-任意版本
B7+7-
C7+7+
为什么策略 C 不能代理了?

参考资料提到默认情况下,针对 Android 7.0 (API level 24) 的应用不再信任用户或管理员添加的CA证书来进行安全连接。(之前我们其实是将安全证书安装到安卓手机上作为用户信任安全证书,新版本如果APP开启了设置我们的代理请求会被认为是不安全的。)

如何在安卓7.0以及以上版本代理?
1. 准备一台已经 root 的手机
# 手机 root 方法参考各手机 root 教程,小米手机在 Windows 电脑下载[解锁工具](//www.miui.com/unlock/index.html),开启 fastboot 模式,手机端启用 root 权限(注意备份好手机上的数据到电脑)
# 以小米手机为例来开启 root 权限后设置 /system 目录为读写
# 以 root 权限执行
adb root
# 解决目录 read only 关键命令行
adb disable-verity
# 重启
adb reboot
# 以 root 权限运行
adb root
# 重新挂载
adb remount
# 设置读写
adb shell mount -o rw,remount /system
2. 准备mitmproxy证书文件

WIN 或者Linux 在mitmdump第一次运行会在用户目录生成对应的文件

[root@centos .mitmproxy]# pwd
/root/.mitmproxy
[root@centos .mitmproxy]# ll
总用量 32
-rw-r--r--. 1 root root 1318 423 18:35 c8750f0d.0
-rw-r--r--. 1 root root   13 529 15:31 config.yml
-rw-r--r--. 1 root root 1318 417 10:11 mitmproxy-ca-cert.cer
-rw-r--r--. 1 root root 1140 417 10:11 mitmproxy-ca-cert.p12
-rw-r--r--. 1 root root 1318 417 10:11 mitmproxy-ca-cert.pem
-rw-------. 1 root root 2529 417 10:11 mitmproxy-ca.p12
-rw-------. 1 root root 3022 417 10:11 mitmproxy-ca.pem
-rw-r--r--. 1 root root  770 417 10:11 mitmproxy-dhparam.pem

# 计算 Certificate_Hash 命令
openssl x509 -subject_hash_old -in <Certificate_File>
# 重命名 `<Certificate_File>` 为 `<Certificate_Hash.0>`
mv <Certificate_File> <Certificate_Hash.0>

[root@centos .mitmproxy]# openssl x509 -subject_hash_old -in mitmproxy-ca-cert.cer
c8750f0d
-----BEGIN CERTIFICATE-----
MIIDoTCCAomgAwIBAgIGDm87Dm2OMA0GCSqGSIb3DQEBCwUAMCgxEjAQBgNVBAMM
CW1pdG1wcm94eTESMBAGA1UECgwJbWl0bXByb3h5MB4XDTIwMDQxNTAyMTEzNloX
DTIzMDQxNzAyMTEzNlowKDESMBAGA1UEAwwJbWl0bXByb3h5MRIwEAYDVQQKDAlt
aXRtcHJveHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDY9S8ArBe
BBiUDzoc/vOsxUJIim3yOyD8wTS//I2GZUi+Avnyejm1NsLK4xMWtN7avJSGQ+6f
UoS4QlnMkvqPT2OpuXhZ695V6LN9vE4uTX8Y0LFmhFjcyZFigBCl+7tbPHugDque
pht9KDOz4vvqpY0cguFGivpDqSicU2XGDgjuF70xv2eICbVUJFrORE4hyxoTWtDb
6BR52JlhTzW9uH8kP0ux7hJYMayOILPp1YW5csXUhSfZeFeSRAs9IfCTqpKIvjy6
995C540V2Te2HyP2rYtxhb92VFtYarhm+xu8pL1BNdqa1aULYvXoGllDDiFOU3ie
1xM1wZ2E8kt1AgMBAAGjgdAwgc0wDwYDVR0TAQH/BAUwAwEB/zARBglghkgBhvhC
AQEEBAMCAgQweAYDVR0lBHEwbwYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcD
BAYIKwYBBQUHAwgGCisGAQQBgjcCARUGCisGAQQBgjcCARYGCisGAQQBgjcKAwEG
CisGAQQBgjcKAwMGCisGAQQBgjcKAwQGCWCGSAGG+EIEATAOBgNVHQ8BAf8EBAMC
AQYwHQYDVR0OBBYEFHfmNoYwAG7JAHpQzwy+iSMqMC0dMA0GCSqGSIb3DQEBCwUA
A4IBAQBYhJ9OWBSLwliuNQdph3U57q6WXEdCpIxuke5dHeAZYe1tYuKbD7nTPWT1
euyphM2tBfaM0GTCKScIgarts+lAmgbc1MvA7Kc2ioBfYVheZKxC3BO4wpJFP9zb
O2VGY5n+IBDM3wLurLw/qd8u251VDjwlU65lj7A+OrbiGmN/oC1BOnOT3esJ7AK9
lkfFLWfX8lD6g4/WCwvhQnuuY5zFULm+CvDtCZRKTZtzPdhEhiSHQz+tFrBTN3tx
Lmc3g8ww9w7/nH+MF0WKOfTwAqP51xryymqhZ2tr2xpaD7Hd0iq2T9vmD2g01K8Q
BhA9gFnS+HTePOlMIICKDuygtZLj
-----END CERTIFICATE-----

3. 安装证书到安卓系统证书目录 /system/etc/security/cacerts
# 安装命令
adb push <Certificate_Hash>.0 /system/etc/security/cacerts
4.启用证书
# 开启步骤以小米新版本为例(找到安装的 mitmproxy 系统证书)
设置 > 更多设置 > 系统安全 > 加密与凭据 > 信任的凭据[系统]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值