ssl新闻资讯

文档中心

Charles鎶撳寘HTTPS鎻愮ず璇佷功涓嶈淇′换锛?鍒嗛挓鏁欎綘褰诲簳瑙e喅锛?txt

时间 : 2025-09-27 15:43:07浏览量 : 2

2Charles鎶撳寘HTTPS鎻愮ず璇佷功涓嶈淇′换锛?鍒嗛挓鏁欎綘褰诲簳瑙e喅锛?txt

作为一名网络安全工程师,我经常需要使用Charles等抓包工具来分析HTTPS流量。但很多新手都会遇到一个令人头疼的问题 - Charles的HTTPS证书不被信任。今天我就用最通俗易懂的方式,带你彻底搞懂这个问题的原理和解决方案。

一、为什么Charles的HTTPS证书会不被信任?

要理解这个问题,我们得先知道HTTPS是如何保证安全的。简单来说:

1. 正常HTTPS流程:当你访问https://www.baidu.com时,百度服务器会出示一个由DigiCert等权威CA颁发的证书。你的电脑/手机内置了这些CA的根证书,所以会自动信任。

2. Charles中间人原理:Charles要解密HTTPS流量,就必须"插入"到你和服务器之间:

- 它先用自己的CA证书签发一个假的百度证书给你的设备

- 同时原样转发请求给百度服务器

- 这样它就能看到明文数据了

3. 问题根源:你的设备没有安装并信任Charles的根证书,所以会警告"此证书不被信任"。就像陌生人给你一张自制身份证,你当然不敢信!

二、不同设备的详细解决方案

▍Windows电脑

1. 安装Charles根证书

- 打开Charles → Help → SSL Proxying → Install Charles Root Certificate

- 在弹出的证书窗口中点击"安装证书"

2. 关键步骤!将证书放入"受信任的根证书颁发机构"

```

存储位置选择"本地计算机"

→ 选择"将所有证书放入下列存储"

→ 浏览选择"受信任的根证书颁发机构"

3. 验证是否成功

- Win+R运行`certmgr.msc`

- 在"受信任的根证书颁发机构"中应该能看到Charles的证书

*常见踩坑*:很多同学只在"当前用户"下安装,没选"本地计算机",导致部分应用仍不信任。

▍Mac电脑

1. 通过钥匙串安装

```bash

Charles → Help → SSL Proxying → Install Charles Root Certificate

2. 手动设置信任

- 打开钥匙串访问 → 找到`Charles Proxy CA`

- 双击打开 → 展开"信任"选项

- "使用此证书时"选择"始终信任"

3. 可能需要终端命令刷新

sudo security authorizationdb write system.login.console < /dev/null

▍Android手机

1. 下载charlesproxy.com/getssl/获取.pem文件

2. 设置→安全→加密与凭据→安装证书→CA证书

3. 特别注意

- Android 7+需要额外配置Network Security Config

- 某些厂商ROM(如小米)要在"隐私保护→特殊权限设置→安装根证书"

▍iPhone手机

1. Safari访问chls.pro/ssl下载描述文件

2. 设置→已下载描述文件→安装

3. 关键步骤!手动开启完全信任

设置→通用→关于本机→证书信任设置

→ 启用Charles Proxy CA的完全信任

三、进阶排查技巧(当上述方法失效时)

如果按照上面操作还是报错,可能是这些原因:

1. 系统时间不正确

- HTTPS严格校验时间,如果设备时间与真实时间偏差过大就会失败

2. 杀毒软件干扰

案例:某次火绒安全自动把Charles证书记为恶意软件删除

3. 特殊应用的Certificate Pinning

比如微信、支付宝等APP会硬编码只接受特定CA的证书

4. 解决方案:对于Certificate Pinning的应用可以尝试:

```bash

使用objection框架绕过:objection --gadget com.example.app explore -s "android sslpinning disable"

```

四、安全提醒(重要!)

虽然解决了抓包问题,但必须注意:

1?? Charles根证书记得定期删除(尤其公用电脑)

certmgr.msc → 找到Charles Proxy CA → 右键删除

2?? 不要在非调试环境长期保留中间人CA

3?? https://badssl.com可以用来测试配置是否成功

五、流程图

开始

├─ Windows解决方案

│ ├─ certmgr.msc导入

│ └─ "本地计算机"+受信根目录

├─ Mac解决方案

│ ├─ Keychain Access修改信任

│ └─ sudo命令刷新权限

├─ Android解决方案

│ ├─ Network Security Config配置

│ └─ MIUI等ROM特殊处理

└─ iOS解决方案

├─ chls.pro/ssl下载

└─ "完全信任"手动开启

检查时间/杀软/pinning问题 ← [如仍失败]

希望这篇结合实战经验的指南能帮你彻底解决Charles抓包的SSL问题!如果有其他异常情况,欢迎在评论区交流讨论。

TAG:charles https 证书 不被信任,charles安装证书后unknown,charles证书下载不了,手机charles证书无法读取安装