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 小时前
web渗透实战 | js.map文件泄露导致的通杀漏洞
安全·web安全·小程序·黑客入门·渗透测试实战
财经三剑客10 小时前
AI元年,春节出行安全有了更好的答案
大数据·人工智能·安全
潆润千川科技12 小时前
中老年同城社交应用后端设计:如何平衡安全、性能与真实性?
安全·聊天小程序
市场部需要一个软件开发岗位13 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
飞凌嵌入式13 小时前
用「EN 18031认证」通关欧盟,这张 “网络安全护照” 已就位
网络·安全·能源
●VON14 小时前
CANN安全与隐私:从模型加固到数据合规的全栈防护实战
人工智能·安全
程序员清洒14 小时前
CANN模型安全:从对抗防御到隐私保护的全栈安全实战
人工智能·深度学习·安全
秋邱14 小时前
不仅是极速:从 CANN SHMEM 看 AIGC 集群通信的“安全微操”艺术
安全·aigc
初恋叫萱萱14 小时前
CANN 生态安全加固指南:构建可信、鲁棒、可审计的边缘 AI 系统
人工智能·安全
麦聪聊数据16 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构