一、目的
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根證書裝入到系統證書目錄下