You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Charles Proxy已配置信任证书仍无法拦截iOS请求报错如何解决?

原因判定

你遇到的情况大概率是iOS应用本身启用了*SSL证书锁定(SSL Pinning)*机制导致。该机制为应用开发阶段内置的安全策略,会强制校验服务端返回的证书是否和应用预存的证书/公钥哈希完全匹配,即便系统层面已经信任Charles根证书,应用层面不认可仍会直接终止SSL握手,和你收到的报错信息完全匹配。

可行解决方法
  • 针对自有开发应用
    直接在测试版本中临时关闭SSL Pinning校验逻辑,或将Charles根证书的公钥哈希加入应用信任白名单,重新打包安装后即可正常抓包。
  • 针对第三方应用(无越狱设备)
    可通过重打包注入的方式绕过校验,操作逻辑如下:
    1. 获取对应应用的脱壳IPA安装包
    2. 用Objection、Frida等工具对IPA进行重打包,注入SSL Pinning绕过脚本
    3. 使用企业签名或个人测试证书对重打包后的IPA签名,安装到测试iPhone
    4. 启动应用后再开启Charles抓包即可
  • 针对第三方应用(已越狱设备)
    直接在Cydia/Sileo等插件商店安装「SSL Kill Switch 2」类全局校验禁用插件,安装完成后重启SpringBoard,无需额外配置即可正常抓包。
补充校验项(可先排查确认非配置问题)

虽然你已确认常规配置无误,仍可优先排查以下容易遗漏的设置:

  • 确认iPhone「设置-通用-关于本机-证书信任设置」中,Charles根证书对应的信任开关已开启,仅安装证书未开启信任仍会触发握手失败
  • 确认Charles的SSL Proxying配置中,已添加需要抓包的域名及443端口,未配置对应域名的SSL解析也会出现同类报错

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:57:01