You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何跟踪浏览器HTTPS连接证书?Mac端特定浏览器SSL异常排查

我来帮你拆解这两个问题——跟踪HTTPS连接证书的方法,还有你遇到的那个奇怪的工作环境SSL错误排查思路,顺便教你怎么拿到各浏览器的证书和CA详情:

一、跟踪浏览器HTTPS连接证书的通用方法

不管是要查看当前网站的证书,还是导出分析,每个浏览器都有直观的操作路径:

Chrome/Edge

  • 点击地址栏左侧的🔒图标,选择「证书」(或者先点「连接安全」再选「证书」)
  • 在弹出的窗口切换到「详细信息」标签,就能看到完整的证书链、CA颁发者、有效期、公钥等所有细节;需要导出证书的话,点「导出」存成.crt格式即可。
  • 更进阶的方式:按F12打开开发者工具,切换到「网络」面板,刷新页面后找到目标网站的主请求,点击「安全」标签,下拉就能看到「证书」选项,展开后是分层的完整证书链。

Firefox

  • 同样点击地址栏的🔒,选「连接安全」→「更多信息」→「查看证书」
  • 弹窗里会展示从网站证书到根CA的所有层级,还能单独导出某一层的证书,或者整个证书链。
  • 开发者工具路径:F12→「网络」面板,选中请求后查看「安全」面板,里面包含证书的全部详情。

Safari

  • 点击地址栏的🔒图标,选择「显示证书」
  • 弹窗里会直接展示完整证书链,你可以勾选「总是信任」(谨慎操作,只对内部CA这么做),或者右键导出证书文件。

命令行(Mac终端)方法

如果想脱离浏览器查看,打开终端运行以下命令:

  • 查看目标网站的完整证书链和SSL握手细节:openssl s_client -connect facebook.com:443
  • 同时保存证书到本地:openssl s_client -connect facebook.com:443 -showcerts > facebook.crt
二、解决工作环境下Chrome/Firefox SSL错误但Safari正常的问题

你的推测完全合理——IT部门大概率部署了SSL/TLS拦截(中间人攻击):防火墙会生成自己的证书替换目标网站的原始证书,然后让系统信任这个企业内部CA。

为什么Safari正常?因为Mac的系统钥匙串默认会同步IT通过MDM推送的企业CA信任,而Chrome和Firefox有自己独立的证书信任存储,不会自动继承系统的信任设置,所以就会触发SSL错误。

排查&解决步骤:

  1. 确认拦截证书:用上面Chrome/Firefox的证书查看方法,看报错网站的证书「颁发者(Issuer)」是不是你们公司的内部CA,而不是DigiCert、Let's Encrypt这类公共CA。如果是,那肯定是被拦截了。
  2. 导入企业CA到Chrome/Firefox
    • Chrome:设置→隐私和安全→安全→管理证书→「受信任的根证书颁发机构」→导入IT提供的企业CA证书(.crt或.pem格式),一路确认信任即可。
    • Firefox:设置→隐私与安全→下拉到「证书」区域→「查看证书」→「证书颁发机构」→「导入」,选择企业CA证书,勾选「信任此CA来识别网站」等相关选项。
  3. 如果IT没提供证书:可以从Safari或系统钥匙串里导出已信任的企业CA,再导入到Chrome/Firefox。方法是:打开「钥匙串访问」app,左边选择「系统根证书」或「登录」,找到企业CA的证书,右键→导出为.pem格式,再导入到浏览器的信任存储中。
三、获取浏览器身份验证时的证书&CA详细信息

除了浏览器自带的查看功能,还有这些更全面的方式:

  • Chrome:在开发者工具「网络」面板选中目标请求,右键→「复制」→「复制为cURL」,然后在终端里运行这个cURL命令并加上-v参数(比如curl -v https://facebook.com),会输出完整的SSL握手过程,包括证书链、CA的所有细节。
  • Firefox:通过设置里的「证书查看器」,可以搜索所有已信任的CA,或者查看单个网站的证书链详情,还能导出DER/PEM格式的证书文件,方便后续分析。
  • Mac系统级(钥匙串访问):打开「钥匙串访问」app,左侧分类里的「系统根证书」「登录」等目录,能看到所有被系统信任的CA,双击任意证书就能查看公钥、有效期、颁发者等完整信息。

内容的提问来源于stack exchange,提问作者tony-p-lee

火山引擎 最新活动