一、背景
測試工作經(jīng)常會啟用代理服務(wù)來協(xié)助測試(用于抓包、mock 數(shù)據(jù)、埋點自動化測試等),而 Android 7 及以上系統(tǒng)版本不再信任用戶自己導入的 CA 證書,導致無法在 Android 7 及以上系統(tǒng)的設(shè)備上處理 https 協(xié)議的請求。
二、操作步驟(以 mitmproxy 的證書文件為例)
原理:將用戶準備的 CA 證書轉(zhuǎn)移到 Android 系統(tǒng)證書目錄下。
-
準備一臺 root 設(shè)備(模擬器也可);
-
準備好證書文件(mitmproxy-ca-cert.cer),從 mitmproxy 官網(wǎng)下載:https://mitm.it/,Android 需先連上代理才能訪問該網(wǎng)站);
-
在 PC 上輸入以下指令:
openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.cer -noout >>>c8750f0d #輸出對應的Android系統(tǒng)的證書文件名 #將該證書文件名重命名為上述轉(zhuǎn)換后的Android系統(tǒng)對應的名稱,加上后綴 “.0” cp mitmproxy-ca-cert.cer c8750f0d.0 #傳入手機 adb push c8750f0d.0 /sdcard
-
獲取手機的 root 權(quán)限,并將證書文件轉(zhuǎn)移到系統(tǒng)證書目錄:
#獲取手機的 root 權(quán)限 adb shell su #以讀寫方式重新掛載文件系統(tǒng) mount -o rw,remount /system #將前面上傳至/sdcard目錄的證書文件轉(zhuǎn)移至系統(tǒng)證書文件夾下 mv /sdcard/c8750f0d.0 /system/etc/security/cacerts #修改證書權(quán)限 chmod 644 /system/etc/security/cacerts/c8750f0d.0
-
完成以上步驟后,已將文件證書導入至系統(tǒng)證書目錄下,可打開:【設(shè)置】-【安全與隱私】-【受信任的憑證】-【系統(tǒng)】檢查是否導入成功:
文章來源:http://www.zghlxwxcb.cn/news/detail-702437.html
-
導入并信任系統(tǒng)證書完成后,就可以開始設(shè)置代理服務(wù)對 https 協(xié)議的請求進行操作。文章來源地址http://www.zghlxwxcb.cn/news/detail-702437.html
到了這里,關(guān)于【測試方法】Android 7 及以上系統(tǒng)信任用戶自定義證書的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!