背景:
測試過程中通常需要抓包定位問題,但安卓7.0及以上系統增加了系統證書驗證。給手機安裝https證書的方式無法滿足7以上系統抓包要求。
原理:
手機/模擬器 需滿足root要求,在此基礎上將fiddler或charles的證書導入手機系統證書目錄下,以滿足系統證書校驗。
步驟:
1、將fiddler/Cls證書導出到本地
2、通過OpenSSL獲取證書的哈希值(下一步要用)
命令:
//.cer格式證書 openssl x509 -inform DER -subject_hash_old -in <證書文件.cer> //.pem格式證書 openssl x509 -inform PEM -subject_hash_old -in <證書文件.pem>
3、生成以證書哈希值命名的證書文件
//cer格式 openssl x509 -inform DER -text -in xxx.cer > 哈希值.0 //pem格式 openssl x509 -inform PEM -text -in xxx.pem > 哈希值.0
4、將哈希值文件push到手機系統證書目錄,並授予權限
adb push xxxxxx.0 /system/etc/security/cacerts/ chmod 644 /system/etc/security/cacerts/xxxxxx.0
5、重啟手機,生效