Android | Charles通过chls.pro/ssl下载证书失败?两种本地方案彻底解决
·
核心问题:证书是电脑本地生成的,不需要联网下载
为什么 chls.pro/ssl 会失败?
chls.pro 是 Charles 的虚拟域名,只在手机正确连接代理时才会被 Charles 拦截并返回证书页面。
如果已经在手机上正确的配置了代理之后还是不行,那么原因只有一个:手机到电脑 Charles 代理的连接不通(网络隔离、防火墙、端口拦截等)。

方案一:备用下载地址
手机保持代理连接,换个地址访问:
http://charlesproxy.com/getssl
这个真实域名会触发 Charles 在本地生成证书页面,比 chls.pro 更稳定。

Charles 官网上 介绍了这个备用地址,特别是针对某些特定的 iOS 版本,不过实测在Android上也是ok的。另外如果在默认浏览器上没有下载下来,可以尝试换个三方浏览器再试试,比如我在系统浏览器上下载失败,换成UC浏览器就可以了,好神奇~

方案二:离线导出(推荐)
直接绕过所有网络问题,从电脑本地导出证书文件传给手机安装。
电脑端操作
Charles 菜单栏:Help → SSL Proxying → Save Charles Root Certificate...
保存为 .crt或者.pem 文件 (如导出到电脑上为charles.pem文件)

手机端操作
- 将 导出的
charles.pem传给手机(微信/QQ/网盘/数据线等) - 设置 → 安全 → 加密与凭据 → 从存储设备安装证书
- 选择证书文件,按提示安装
Android 7.0+ 注意:系统默认不信任用户安装的证书。如需抓取 App 的 HTTPS 流量,App 必须在
network_security_config.xml中配置trustUserCertificates(true),或手机需要 Root 后将证书安装到系统根目录。
总结就是 charles 的证书就在你电脑里,下载只是复制一份。网络不行就手动导出。
推荐阅读 -> HTTPS 加密与Charles 中间人攻击解析
更多推荐

所有评论(0)