如何针对安全网站的错误码“SEC_ERROR_UNKNOWN_ISSUER”进行故障排除

对于应该安全的网站(以"https://"开始的URL),Firefox会验证其证书的有效性。如果证书的有效性无法确认,Firefox将停止连接并提示错误信息"你的连接不安全”"警告:有风险"页面。

本文解释为什么会遇到错误码“SEC_ERROR_UNKNOWN_ISSUER”、 "MOZILLA_PKIX_ERROR_MITM_DETECTED"或“MOZILLA_PKIX_ERROR_MITM_DETECTED”以及如何进行故障排除。

该错误码是什么意思?

安全连接时,网站必须提供颁发自 certificate authority 的证书以保证已连接至目标网站并且连接是加密的。如果在错误提示"你的连接不安全”"警告:有风险"页面点击 高级按钮后,看到错误码 "SEC_ERROR_UNKNOWN_ISSUER"或“MOZILLA_PKIX_ERROR_MITM_DETECTED”,这意味着由于证书颁发者未知,所以Firefox默认连接不可信。

Fx44 SEC_ERROR_UNKNOWN_ISSUER error Fx66WarningSEC_ERROR_UNKNOWN_ISSUER

该错误码发生在多个安全网站

如果你在多个不关联的HTTPS网站都遇到这个问题,那么你的系统或网络处理连接和证书的方式受到Firefox的质疑。最常见的原因是安全管理软件对加密连接的扫描或恶意软件监听和替换网络证书。具体来说,错误码 "MOZILLA_PKIX_ERROR_MITM_DETECTED" 表示Firefox能够探测到连接被代理截获。

防病毒产品

第三方防病毒软件可能会干扰 Firefox 的安全连接。我们建议你卸载第三方防病毒软件,转而使用windows内置的防病毒软件:

如果你不想卸载第三方防病毒软件,那么你可以重新安装该软件——也许该软件会重新把其证书加入 Firefox 信任列表。

以下是一些你可以尝试的替代解决方案:

Avast/AVG

针对Avast或AVG安全产品,你可以通过以下步骤禁止它对安全连接的拦截:

  1. 打开Avast/AVG面板。
  2. 找到菜单,然后点击设置 > 保护 > 核心防护
  3. 下翻到防护设置部分,并点击网络防护
  4. 取消(不勾选) 打开HTTPS扫描 设置并点击 OK 确认。
    在较老的版本上,你应该打开菜单 > 设置 > 组件然后点击网络防护旁边的定制

请参看Avast/AVG技术支持文章Managing HTTPS scanning in Web Shield in Avast Antivirus了解详情。更多详情参看Avast博客

Bitdefender

针对Bitdefender安全产品,你可以通过以下步骤禁止它对安全连接的拦截:

  1. 打开Bitdefender的应用看板。
  2. 找到保护并在防止在线威胁部分,点击设置
  3. 关闭加密网络扫描设置项。
    在较老的版本上,该设置叫做扫描SSL,它可以通过模块 > 网络保护找到。

对Bitdefender Antivirus免费版,你无法修改此设置。你可以试着修复或删除该程序,如果你访问安全网站时遇到问题。

对企业版Bitdefender产品,请参考Bitdefender技术支持中心网页

Bullguard

针对Bullguard安全产品,你可以禁止它对流行网站如Google,Yahoo和Facebook等的安全连接的拦截:

  1. 打开Bullguard面板。
  2. 点击设置并启用面板右上角的高级视图。
  3. 点击 防病毒设置 > 安全浏览
  4. 针对有错误提示信息的网站取消(不勾选) 显示安全结果

ESET

针对ESET安全产品,你可以按照 ESET技术支持文章 打开和关闭 SSL/TLS协议过滤 或整体禁止它对安全连接的拦截。

Kaspersky

受到影响的Kaspersky用户应该将该安全产品升级到最新版,因为Kaspersky 2019及以上版已经带有对该问题的修正。Kaspersky 其下载页面包含了"升级"链接,它会将当前产品免费升级到最新版。

否则,你应该禁用安全连接:O

  1. 打开Kaspersky面板。
  2. 点击左下 设置
  3. 点击 其它 然后 网络.
  4. 扫描加密连接 勾选 不扫描加密连接 然后确认。<
  5. 最后,重启系统来使设置生效。

Windows账户的家庭安全设置

在微软Windows受家庭安全设置保护的账户下,对流行网站,如Google,Facebook和YouTube等的安全连接可能会受到拦截,其证书也会被替换为微软颁布的证书以进行搜索行为的过滤和记录。

请参阅 Microsoft FAQ page 来了解如何关闭账户的家庭设置。如果你想手动安装缺失的证书,可以参看 Microsoft技术支持文章

来自企业网络的监控/过滤

一些企业级网络监控/过滤产品也会用替换证书的方式拦截加密连接,这可能会触发HTTPS网站报错。

如果你怀疑自己遇到此类情况,请联系你的IT部门以确保Firefox设置正确,并能够在此类环境下正常工作,比如必要的证书应该放到Firefox的信任列表中。你可以在Mozilla Wiki页面CA:AddRootToFirefox找到更多关于IT部门应该如何处理该业务的信息。

恶意软件

有些恶意软件对加密连接的拦截也会导致这个错误信息——参阅 我的Firefox出问题了,我中毒了吗? 来了解如何处理恶意软件。

该错误码仅发生在某个特定网站

如果这个问题只发生在一个特定的网站上,那么原因通常是网络服务器设置不当。不过,当此问题网站是流行网站,如Google或Facebook,或是金融交易网站时,你应当参看 该错误码发生在多个安全网站

证书由Symantec相关方发布

随着多个由Symantec根证书机构颁发的证书不合规问题的暴露,包括Mozilla在内的浏览器提供商正在逐渐把Symantec相关的产品移出可信证书范围。作为第一步,Firefox 60不再信任2016-06-01之前来自Symantec根证书颁发机构及其链上的证书(包括所有Symantec品牌相关产品,GeoTrust、RapidSSL、Thawte和VeriSign)。在Firefox 63,该措施将扩展到所有Symantec证书,不论发布日期。

MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED是表示此类错误的基本代码,不过对有些服务器,你可能会看到错误代码SEC_ERROR_UNKNOWN_ISSUER。无论如何,如果你访问的网站报了这样的错误,请通知其所有者此问题。我们强烈建议这些网站立即替换这些证书。

关于此问题的更多信息,请参看Mozilla博客帖 不要信任Symantec TLS证书

缺少中间证书

在网站缺少中间证书时,在错误页面上点击 高级 会看到:

由于发布者未知,所以证书不可信。
服务器可能未发送合适的中间证书。
或许需要额外的根证书。

网站的证书可能不是由可信任的发布者颁发,并且也未提供完整的可信证书链(缺少中间证书)。
你可以把网站地址输入第三方工具,如 SSL Labs' test page, 来测试网站设置是否正常。如果结果是“证书链问题:不完整”,那么意味着中间证书缺失。 你应该向该网站的拥有者报告这个问题。

自签名证书

在网站使用自签名的证书时,点击错误页面上的 高级,你会看到错误代码ERROR_SELF_SIGNED_CERT和如下错误信息:

由于证书是自签名,所以不可信。

缺省状态下,由未知机构颁发的自签名证书不被信任。自签名证书可以保证数据不被监听,但是却未告知数据的接收方是谁。对于不公开的内部网,这不是问题,此时你可以忽略该警告信息。

绕过该警告

警告: 绝不要为流行网站或金融交易网站添加证书例外——无效的证书此时意味者连接被第三方破坏。

如果网站允许,你可以添加例外以便能够在证书缺省不被信任的情况下访问该网站:

  1. 在警告页,点击 高级
  2. 点击 添加例外…添加安全例外 对话框会出现。
  3. 阅读该网站对问题的描述。你还可以点击 显示… 来详细审查不被信任的证书。
  4. 如果你确信可以相信该网站,请点击 确认安全例外
  1. 在警告页,点击 高级
  2. 点击 接受风险并继续
// 这些人帮助撰写了这篇文章:wxie, Yang Hanlin 你也可以帮忙 - 来看看该怎么做

这篇文章对您有帮助吗? 请稍候...

成为 Mozilla 技术支持的志愿者