1. 下載證書:
在mac瀏覽器上下載:
http://chls.pro/ssl
在Download目錄上得到:charles-proxy-ssl-proxying-certificate.pem文件
2. 嘗試執行:
openssl -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem |head -1
報錯:openssl:Error: '-subject_hash_old' is an invalid command.
再嘗試執行:
openssl x509 -in charles-proxy-ssl-proxying-certificate.pem -noout -subject_hash
得到:e7c27ccd
如果需要將pem轉cer:
openssl x509 -inform pem -in ../charles-proxy-ssl-proxying-certificate.pem -outform der -out xxxx.cer
3. 將文件push到根證書路徑:
用戶證書路徑:/data/misc/user/0/cacerts-added
根證書路徑: /etc/security/cacerts/
先查一下根證書路徑下是否存在e7c27ccd開頭的文件:
ls /etc/security/cacerts/ | grep e7c27ccd
如果新證書文件名為 存在的序號那么就是最大序號+1。一般情況下直接加.0
執行命令:
adb push charles-proxy-ssl-proxying-certificate.pem /etc/security/cacerts/e7c27ccd.0
報錯:
charles-proxy-ssl-proxying-certificate.pem: 1 file pushed, 0 skipped. 0.7 MB/s (1885 bytes in 0.002s) adb: error: failed to copy 'charles-proxy-ssl-proxying-certificate.pem' to '/etc/security/cacerts/e7c27ccd.0': remote couldn't create file: Permission denied
嘗試執行:
# 再Mac機的控制台: adb push charles-proxy-ssl-proxying-certificate.pem /sdcard/ # 在手機shell的控制台: mount -o remount,rw /system mv /sdcard/charles-proxy-ssl-proxying-certificate.pem /etc/security/cacerts/e7c27ccd.0 mount -o remount,ro /system
在手機上查看是否安裝成功:
設置/搜索/(鍵入“憑據”)/ 點擊信任的憑證

滑最下面,可以看到XK開頭的證書, 就說明成功了。
