android 7.0證書導(dǎo)致的抓包問題

用charles或fiddler抓app包的https接口必須要安裝ca證書,才能正常抓包,

安卓7之前把ca證書安裝到用戶證書下即可,但安卓7以上只有系統(tǒng)級證書才能被信任,所以為了能正常抓包,需要把ca證書安裝到系統(tǒng)證書下

準(zhǔn)備工作:
電腦安裝了Charles(其他抓包工具也是一樣的原理)
一臺已root手機(模擬器也可以,但部分app會檢測)
電腦安裝adb

1.下載證書

v2-1719359c9c98e33b716363c4e5a5442c_1440w.jpg

把證書(.pem格式)導(dǎo)出到本地路徑,名稱為charles.pem

2.修改名稱

打開終端cmd,并進(jìn)入到證書目錄,執(zhí)行以下命令:

openssl x509 -inform PEM -subject_hash_old -in charles.pem 

此時cmd輸出如下:

image.png

將輸出的類似 ffab1f6d 的值進(jìn)行復(fù)制

重命名證書:
Android系統(tǒng)根目錄下的證書名格式:哈希值.數(shù)字,即<8位md值>.<0> , 后綴數(shù)字用來區(qū)分不同版本
本例子的證書名稱就是:ffab1f6d.0

導(dǎo)入到手機
執(zhí)行以下adb命令將證書導(dǎo)入到/system/etc/security/cacerts/

adb root
adb remount
adb push 8efb32d4.0 /sdcard/
adb shell
su
mount -o rw,remount /system
mv /sdcard/8efb32d4.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/8efb32d4.0
reboot

結(jié)束。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容