修复 Claude 代码的 TLS 检查问题

问题

启用 Cato TLS 检查时,Cato 自己的根/中间证书将作为被检查的 TLS 会话的发行人,从而实现解密和安全。 大多数企业应用程序依赖于操作系统或浏览器信任存储,因此一旦在其中安装 Cato 根证书,它们将继续透明地工作。 

然而,一些开发人员工具,包括 Claude Code,使用证书固定化或自己的 TLS 实现(例如,Node.js/OpenSSL),而非完全依赖操作系统的信任存储。 因此,即使操作系统信任它,(他们)也可能会拒绝Cato发行的证书,这会导致流量检测期间出现TLS错误(例如,SELF_SIGNED_CERT_IN_CHAIN)。

环境

  • 即使Claude被绕过,账户的TLS检查仍然已启用。

  • Cato根证书已安装并在操作系统的信任库中受信任。

故障排除

  • 确认问题仅限于 Claude Code 或类似的开发工具,而不是一般的网络问题

  • 使用应用程序的自定义 CA 机制添加 Cato 根证书

解决方案

先决条件

说明

Claude Code 通过环境变量支持自定义证书颁发机构

使用 NODE_EXTRA_CA_CERTS 环境变量将 Claude Code 的基于节点的 TLS 堆栈指向 Cato 根证书文件。 确保它被全局和持久地设置,以便每次用户使用 Claude 桌面、Claude CLI 或 Claude Code IDE 扩展时都能正常工作。

验证

  • 在设置环境变量后重启 Claude Code

  • 尝试执行之前失败的 Claude Code 操作

  • 如果在 TLS 检查仍然启用时它成功而没有出现 TLS 错误,则该配置是正确的。

支持升级标准

  • NODE_EXTRA_CA_CERTS 变量已正确配置并指向有效的 PEM 文件,但 Claude Code 仍然出现 TLS 握手错误。
  • 环境要求组合使用双向 TLS (mTLS) 和代理认证,超出标准环境变量配置。
  • 需要在组织级别上帮助部署或实施环境变量设置,以覆盖多个用户或设备。

 

这篇文章有帮助吗?

0 人中有 0 人觉得有帮助

0 条评论