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 过期

  • 钥匙串异常

相关推荐
牢七18 分钟前
jfinal_cms-v5.1.0 审计前缀
安全
骥龙21 分钟前
第五篇:运行时安全——Docker沙箱与命令审批机制
安全·docker·容器
上海云盾-小余25 分钟前
零信任安全落地实战:企业如何构建无边界可信访问体系
网络·安全·web安全·架构
谪星·阿凯1 小时前
从入门到拿Flag:XXE漏洞全解析
安全·web安全·网络安全
123过去1 小时前
sslyze使用教程
linux·网络·安全
皮皮宋吖2 小时前
皮皮宋渗透日记 11|文件包含漏洞全解析:LFI/RFI/ 伪协议 / 绕过 / 防御
android·安全
运维有小邓@2 小时前
文件分析如何检测文件安全漏洞?
网络·安全·web安全
志栋智能2 小时前
从手动处置到自动响应:安全工作的范式升级
网络·安全
北京软秦科技有限公司2 小时前
AI审核如何守护游乐设施安全底线?IACheck成为检测报告智能审核新助手
人工智能·安全
ComPDFKit2 小时前
OpenClaw安全风险与规避方法 — 安全“养虾”全套办法
安全·ai