小米系列手機不能安裝Charles證書怎麼辦

手機屏幕在搬運共享尿檢機器的過程當中因公殉職,恰逢小米MIX2發佈,被勾引了,入手了第一部小米手機。html

安裝ssl證書

失敗現場

  • 按照Charles的提示,手機打開 chls.pro/ssl
  • 小米經過自帶瀏覽器(QQ瀏覽器或者其它瀏覽器未測)下載獲得一個 getssl.crt 證書
  • 設置 > 更多設置(系統和設備) > 系統安全 > 從存儲設備安裝
選擇第二步驟獲取到的證書,會彈窗提示 沒有可安裝的證書。,換個姿式再來一次。

再試一次

  • 按照Charles的提示,設置好 Proxy->Mac Proxy(Windows同理設置啓用本機器代理服務),PC打開 chls.pro/ssl
  • 下載獲得一個 charles-proxy-ssl-proxying-certificate.pem 證書
  • 傳送到手機(姿式自選)
  • 設置 > 更多設置(系統和設備) > 系統安全 > 從存儲設備安裝
姿式正確。

其餘問題(2019/01/14)

You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

  • 打開Charles,Help->SSL Proxying->Install Charles Root Certificate
  • 雙擊帶叉的Charles證書,設置信任證書

注:以上兩步驟能解決網頁的問題,不能解決 android7+ 而且 微信7+ 的證書信任問題android

安卓版本7+而且微信版本7+ 使用Charles也不能代理請求怎麼辦?

最近微信由體驗版主動升級到了微信7.0,發現Charles代理請求的時候報錯了:shell

request:fail ssl hand shake error

究其原因是微信調整了以下安全證書策略:瀏覽器

策略 安卓版本 微信版本 是否能夠代理
A 7- 任意版本
B 7+ 7-
C 7+ 7+

爲何策略 C 不能代理了?
參考資料提到默認狀況下,針對 Android 7.0 (API level 24) 的應用再也不信任用戶或管理員添加的CA證書來進行安全鏈接。(以前咱們實際上是將安全證書安裝到安卓手機上做爲用戶信任安全證書,新版本若是APP開啓了設置咱們的代理請求會被認爲是不安全的。)安全

如何在安卓7.0以及以上版本代理?微信

  • 準備一臺已經 root 的手機app

    # 手機 root 方法參考各手機 root 教程,小米手機在 Windows 電腦下載[解鎖工具](//www.miui.com/unlock/index.html),開啓 fastboot 模式,手機端啓用 root 權限(注意備份好手機上的數據到電腦)
    # 以小米手機爲例來開啓 root 權限後設置 /system 目錄爲讀寫
    # 以 root 權限執行
    adb root
    # 解決目錄 read only 關鍵命令行
    adb disable-verity
    # 重啓
    adb reboot
    # 以 root 權限運行
    adb root
    # 從新掛載
    adb remount
    # 設置讀寫
    adb shell mount -o rw,remount /system
  • 準備 Charles 證書文件工具

    # 如下執行命令都是以證書文件在當前目錄爲前提
    # 獲取證書步驟
    Help -> SSL Proxying -> Save Charles Root Certificate...
    # 計算 Certificate_Hash 命令
    openssl x509 -subject_hash_old -in <Certificate_File>
    # 重命名 `<Certificate_File>` 爲 `<Certificate_Hash.0>`
    mv <Certificate_File> <Certificate_Hash.0>

    準備 Charles 證書文件

  • 安裝證書到安卓系統證書目錄 /system/etc/security/cacertsui

    # 安裝命令
    adb push <Certificate_Hash>.0 /system/etc/security/cacerts

    上傳證書

  • 啓用證書google

    # 開啓步驟以小米新版本爲例(如參考圖倒數第二個即爲咱們安裝的 Charles 系統證書)
    設置 > 更多設置 > 系統安全 > 加密與憑據 > 信任的憑據[系統]

    圖片描述

相關文章
相關標籤/搜索