charles 抓包提示「连接不安全」?(macOS)

一、问题背景

在使用 Charles Proxy 抓取 HTTPS 请求时,浏览器访问站点(如 CDN、接口域名)突然出现如下提示:

  • Chrome / Edge 地址栏显示 「不安全」

  • 弹窗提示:

    您与此网站之间建立的连接不安全

  • HTTPS 请求无法正常抓取或被浏览器拦截

即使:

  • 已开启 Charles

  • 已配置系统代理

  • HTTPS 之前是可以正常抓包


二、问题根因分析

1️⃣ HTTPS 抓包的本质

Charles 抓取 HTTPS 请求,本质是一个 中间人(MITM)代理

浏览器 → Charles → 真实服务器

因此:

  • Charles 会动态签发站点证书

  • 前提是:Charles Root CA 必须被系统信任


2️⃣ 真正的问题:Charles Root 证书过期

在 macOS 的「钥匙串访问」中,可以看到:

  • Charles Proxy CA

  • 该证书 存在

  • 但:

    • ❌ 已过期

    • 或 ❌ 仍存在但未被完全信任

一旦 Root CA 过期或不被信任:

  • 浏览器会直接判定 HTTPS 不安全

  • 与具体访问的网站无关

  • Charles 也无法正常解密 HTTPS 流量


三、如何确认 Charles Root CA 是否过期

Step 1:打开钥匙串访问

应用程序 → 实用工具 → 钥匙串访问

Step 2:查看系统根证书

  • 左侧选择:系统

  • 上方切换到:证书

  • 搜索:Charles

Step 3:检查证书状态

重点查看:

  • 是否存在 Charles Proxy CA

  • 是否显示:

    • ❌ 已过期

    • ❌ 未标记为「始终信任」

如果已过期,必须更新


四、正确更新 Charles Root 证书

⚠️ 不建议手动下载证书或从别人电脑拷贝
一定要通过 Charles 自身生成


✅ Step 1:删除旧的 Charles 证书

在「钥匙串访问」中:

  1. 选中 Charles Proxy CA

  2. 右键 → 删除

  3. 输入系统密码确认

如果有多个 Charles Proxy CA,全部删除


✅ Step 2:通过 Charles 重新安装 Root CA

打开 Charles Proxy,依次点击:

Help → SSL Proxying → Install Charles Root Certificate

  • macOS 会弹出证书安装提示

  • 自动安装到系统钥匙串


✅ Step 3:将证书设置为「始终信任」

  1. 回到 钥匙串访问

  2. 双击 Charles Proxy CA

  3. 展开 信任

  4. 设置为:

使用此证书时 → 始终信任

  1. 关闭窗口,输入系统密码

✅ Step 4:重置 Charles 的站点证书缓存

在 Charles 中:

Help → SSL Proxying → Reset SSL Certificates

然后:

  • 退出 Charles

  • 重新打开


✅ Step 5:重启浏览器

  • Chrome / Edge:完全退出(⌘Q)再打开

  • Safari 同样建议重启


五、验证是否修复成功

  1. 打开 Charles

  2. 确保:

    Proxy → SSL Proxying → Enable SSL Proxying

  3. 访问 HTTPS 网站(接口 / CDN / 业务页面)

  4. 观察:

    • 浏览器 🔒 恢复正常

    • Charles 中能看到 HTTPS 请求明文


六、常见补充问题

Q1:Chrome 还是提示不安全?

可额外尝试:

chrome://net-internals/#hsts

  • 删除对应域名的 HSTS 记录

  • 再重启浏览器


Q2:什么时候需要重新更新证书?

  • macOS 大版本升级

  • Charles 升级

  • Root CA 过期

  • 钥匙串异常

相关推荐
泯泷10 小时前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全
泯泷10 小时前
第 1 篇:从 1 + 2 开始:亲手写出第一台 JSVM
前端·javascript·安全
Flynt5 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
冬奇Lab9 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
Aphasia31113 天前
VPN 与内网穿透
安全
Mr_愚人派14 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao14 天前
【无标题】
人工智能·安全
Alsn8614 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院14 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
treesforest14 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全