核心问题:证书是电脑本地生成的,不需要联网下载

为什么 chls.pro/ssl 会失败?

chls.pro 是 Charles 的虚拟域名,只在手机正确连接代理时才会被 Charles 拦截并返回证书页面。

如果已经在手机上正确的配置了代理之后还是不行,那么原因只有一个:手机到电脑 Charles 代理的连接不通(网络隔离、防火墙、端口拦截等)。

error

方案一:备用下载地址

手机保持代理连接,换个地址访问:

  • http://charlesproxy.com/getssl

这个真实域名会触发 Charles 在本地生成证书页面,比 chls.pro 更稳定。

proxy

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

success

方案二:离线导出(推荐)

直接绕过所有网络问题,从电脑本地导出证书文件传给手机安装。

电脑端操作

Charles 菜单栏:HelpSSL ProxyingSave Charles Root Certificate...
保存为 .crt或者.pem 文件 (如导出到电脑上为charles.pem文件)

在这里插入图片描述

手机端操作

  1. 将 导出的charles.pem 传给手机(微信/QQ/网盘/数据线等)
  2. 设置 → 安全 → 加密与凭据 → 从存储设备安装证书
  3. 选择证书文件,按提示安装

Android 7.0+ 注意:系统默认不信任用户安装的证书。如需抓取 App 的 HTTPS 流量,App 必须在 network_security_config.xml 中配置 trustUserCertificates(true),或手机需要 Root 后将证书安装到系统根目录。

总结就是 charles 的证书就在你电脑里,下载只是复制一份。网络不行就手动导出。

推荐阅读 -> HTTPS 加密与Charles 中间人攻击解析

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐