×
Charles Proxy抓包调试必备:SSL证书正确安装与验证指南
分类:SSL证书
61 2026-07-01 09:12:49

【导读】

Charles Proxy启用HTTPS抓包前,必须完成SSL证书手动安装并信任到系统及浏览器根存储区。否则将导致连接中断、证书警告或无法解密请求体。

新网SSL证书支持全链路兼容性校验,适用于开发环境中间人代理场景下的双向认证需求。

背景与现状

越来越多的企业前端团队依赖Charles进行移动端接口调试与性能分析。

但因操作系统升级(如macOS Ventura+、Windows 64位更新)、Chrome 115+移除自签名证书豁免机制等因素,旧有证书导入方式普遍失效。

大量工程师反馈:'已安装Charles Root Certificate但仍提示NET::ERR_CERT_AUTHORITY_INVALID'——本质是未完成多层级信任锚设置。

技术关键点解析

Charles自身生成的Root CA证书属于私有CA体系,不被主流操作系统预置信任。

要实现完整HTTPS拦截,需同步满足三个条件:

  • 将Charles Root Certificate导入系统钥匙串(Mac)或受信任的根证书颁发机构(Win);
  • 在iOS模拟器或真机上单独下载并手动开启「完全信任」开关;
  • 为Android设备配置用户证书(需关闭verifyPeer属性或适配targetSdkVersion≥30限制)。

任意环节缺失都将造成TLS握手异常或响应体为空。

实操建议与推荐方案

针对不同平台给出标准化操作路径:

  1. macOS:打开Keychain Access → 导入cert.pem → 右键「显示简介」→ 展开「信任」→ 「始终信任」;
  2. iOS真机:Safari访问chls.pro/ssl → 下载后进入「设置-通用-关于本机-证书信任设置」启用;
  3. Android Studio模拟器:adb push cert.crt /sdcard/Download && Settings > Security > Install from storage;
  4. 长期项目建议复用新网签发的标准DV SSL证书替代自签名方案,在开发服务器部署真实有效证书以消除混合信任风险。

常见问题FAQ

  • Q:为什么Chrome仍报错即使系统已信任?
  • A:新版Chrome强制隔离证书策略,请前往chrome://flags/#unsafely-treat-insecure-origin-as-secure临时标记localhost为安全源。
  • Q:能否让Charles使用已有域名SSL证书而非自建Root CA?
  • A:可以。通过Proxy → SSL Proxying Settings绑定指定Host:Port,并配合反向代理转发至带新网SSL证书的真实服务端口。

*本文由新网(Xinnet)内容中心编辑整理,转载请注明出处。

免责声明:
本社区发布的所有内容,包括但不限于文字、图片、链接、视频等,均旨在进行相关知识分享、技术交流与企业信息传递。所有内容仅供参考,不构成任何形式的专业建议或承诺。用户应结合自身情况独立判断内容的真实性、适用性,若据此作出任何决策或行动,相应风险与责任需由用户自行承担。部分配图、素材来源于网络,若有侵权请联系我方及时删除。未经授权禁止转载、摘抄、商用及二次改编。
免费咨询获取折扣

Loading