Android7以上配置系统证书

一、目的

  Android7以上,系统允许每个应用可以定义自己的可信CA集,部分的应用默认只会信任系统预装的CA证书,而不会信任用户安装的证书,之前的方法安装Burp/Fiddler证书都是用户证书,因此为了正常抓取数据包我们需要对Android7以上的系统将证书安装到系统证书目录下。

二、操作

2.1 未安装说明

当前使用环境:

  • root手机
  • EdXposed框架 + JustTrustMe插件
  • Fiddler(已装入证书)

目标应用咸鱼,启动咸鱼未安装成系统证书全是建立连接数据包(抓取不到数据包)
Android7以上配置系统证书_第1张图片
打开证书位置(米6)
Android7以上配置系统证书_第2张图片
可以看到我们安装的Fiddler证书只是用户证书,不在系统证书下:
Android7以上配置系统证书_第3张图片

2.2 配置系统级证书

将代理软件的根证书装成系统证书即可

Tips1:系统证书的安装目录:/system/etc/security/cacerts/
Android7以上配置系统证书_第4张图片
Tips2:系统证书命名规则:<证书哈希值>.<数字0>

(这里使用Fiddler根证书举例:)

  1. 导出Fiddler根证书
    Android7以上配置系统证书_第5张图片
    根证书已被导出到桌面
    Android7以上配置系统证书_第6张图片
  2. 将cer证书转换成pem证书并用md5方式显示pem证书hash值

    查看当前openssl版本(版本1.1以上)
    在这里插入图片描述
    将der证书转化成pem证书
    openssl x509 -inform DER -in xxx.cer -out cacert.pem
    Android7以上配置系统证书_第7张图片
    计算证书的md5 hash值
    openssl x509 -inform PEM -subject_hash_old -in cacert.pem

openssl版本1.0以下执行:
openssl x509 -inform PEM -subject_hash -in cacert.pem

Android7以上配置系统证书_第8张图片
对pem证书进行命名(复制上边的hash值,后缀为0即可)
Android7以上配置系统证书_第9张图片

  1. 将证书放入手机系统证书目录下
    操作和遇到的坑可参阅:ADB向system分区传文件
    重启手机生效
    Android7以上配置系统证书_第10张图片

成功将Fiddler根证书装入到系统证书目录下
Android7以上配置系统证书_第11张图片

你可能感兴趣的:(#,Android安全)