使用Charles Android 7.0 遇到SSLHandshake: Received fatal alert: certificate_unknown 解決方式

伍迪
Dec 2, 2020
配置完手機後可以過正常的http,但是ssl的http卻過不了

這邊給一個解決方式不用修改res源碼的:

1.先下載證書Menu->Help

2.save charles root certificate

3.找到手機 系統證書目錄 /system/etc/security/cacerts/

這邊推薦使用MT管理器,後面還會用他修改權限

其中的每个证书的命名规则如下:
<Certificate_Hash>.<Number>
文件名是一个Hash值,而后缀是一个数字。

文件名可以用下面的命令计算出来:

openssl x509 -subject_hash_old -in <Certificate_File>

后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1

操作步骤:

将抓包软件的证书用上述命令计算出 Hash 值,将其改名并复制到系统证书目录

此时你应该可以在 设置->安全->加密与凭据->信任的凭据 的系统标签页看到你新加入的证书,将其启用即可顺利抓包

完成以上步驟後,其實還不能正常使用,因為權限有提少開了2r

設定完就可以了哦

出處:https://blog.csdn.net/ShadowySpirits/article/details/79756274

--

--