众所周知,Android 6.0 (API level 23)及以前,APP默认信任系统自带的CA证书以及用于导入的CA证书,Android 7.0 (API level 24)及以后,APP默认只信任系统自带的CA证书,对于用户导入的不予理会。
导致一些萌新在使用Android 7.0及以后的系统导致抓包失败,自己去百度也一脸懵逼。
包括我刚刚看了很多文章,自己测试了一下,openssl转换出来的证书再导入系统,对于某些系统已经没用了。(至少对我手机是没用的,现在使用的为Xiaomi 10 MIUI12.2.7 Android 11)
而且要自己要把证书写入系统分区/system,但是Android 10.0以后,系统分区/system挂载为只读(甚至国内某些ROM已经这样了),就算你root了也没用,无法写入系统分区,也就无法导入系统证书。
我手头上也就一台Xiaomi 10,没了,不可能再买一台手机吧。
不过这次我们换个方法,使用Magisk的模块——Move Certificates。
原理是将用户目录的证书移动到系统目录证书上面,避免了还得去和openssl做斗争,写入系统分区/system各种头疼的问题。
先是安装证书到用户上,再安装模块,重启,可以进系统设置看信任的凭据,看看是否生效了。
我这已经显示生效了,再设置代理,看Fiddler输出,可以运行了。