本文主要是介绍Android7以上配置系统证书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、目的
Android7以上,系统允许每个应用可以定义自己的可信CA集,部分的应用默认只会信任系统预装的CA证书,而不会信任用户安装的证书,之前的方法安装Burp/Fiddler证书都是用户证书,因此为了正常抓取数据包我们需要对Android7以上的系统将证书安装到系统证书目录下。
二、操作
2.1 未安装说明
当前使用环境:
- root手机
- EdXposed框架 + JustTrustMe插件
- Fiddler(已装入证书)
目标应用咸鱼,启动咸鱼未安装成系统证书全是建立连接数据包(抓取不到数据包)
打开证书位置(米6)
可以看到我们安装的Fiddler证书只是用户证书,不在系统证书下:
2.2 配置系统级证书
将代理软件的根证书装成系统证书即可
Tips1:系统证书的安装目录:/system/etc/security/cacerts/
Tips2:系统证书命名规则:<证书哈希值>.<数字0>
(这里使用Fiddler根证书举例:)
- 导出Fiddler根证书
根证书已被导出到桌面
- 将cer证书转换成pem证书并用md5方式显示pem证书hash值
查看当前openssl版本(版本1.1以上)
将der证书转化成pem证书
openssl x509 -inform DER -in xxx.cer -out cacert.pem
计算证书的md5 hash值
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
openssl版本1.0以下执行:
openssl x509 -inform PEM -subject_hash -in cacert.pem
对pem证书进行命名(复制上边的hash值,后缀为0即可)
- 将证书放入手机系统证书目录下
操作和遇到的坑可参阅:ADB向system分区传文件
重启手机生效
成功将Fiddler根证书装入到系统证书目录下
这篇关于Android7以上配置系统证书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!