Chromium NET::ERR_CERT_COMMON_NAME_INVALID 是什么意思?

Chromium NET::ERR_CERT_COMMON_NAME_INVALID 是什么意思?

我试图找出为什么 Chromium 对 TLS 证书不满意,以及如何修复它:

升级并重新启动 Chromium(现在为 58.0.3029.81,在 Debian 测试上运行)后,我无法再访问我们的内部 GitLab 服务器(通过集成包安装在 Debian Jessie 上)。我得到:

你的连接不是私人的

攻击者可能试图从 git.ourdomain.net 窃取您的信息(例如密码、消息或信用卡)。 NET::ERR_CERT_COMMON_NAME_INVALID

该证书由我们的内部 CA 签名,该 CA 安装在系统存储中(通过将其放入/usr/local/share/ca-certificates)。我使用 Firefox 52 和openssl s_client -verify 5 -verify_return_error -connect git.ourdomain.net:443;检查了该网站。两人都很高兴。 OpenSSL 将链显示为:

Certificate chain
 0 s:/C=US/ST=Virginia/L=Sterling/O=«us»/OU=Servers/CN=git.ourdomain.net
   i:/C=US/ST=Virginia/L=Sterling/O=«us»/CN=«us» Certification Authority/[email protected]

OpenSSL 和 Firefox 都显示出强大的签名 (SHA-512) 和密码 (AES-GCM)。该证书(根据openssl x509 -text)是 sha512WithRSAEncryption,具有 4096 位 RSA 密钥。它有 Netscape 证书类型的 SSL 客户端、SSL 服务器。

注意:“us”和 ourdomain.net 是经过编辑的;实际输出中我们的公司名称为“us”,我们的实际域名为 ourdomain.net。我仔细检查了所有 ourdomain.net 是否确实匹配。

据我所知,证书没有任何问题,通用名称 (git.ourdomain.net) 完全有效并且与 URL 匹配——那么 Chromium 抱怨什么呢?而且,假设这不是一个真正的问题,是否有某种方法可以覆盖它?

答案1

看来是从铬错误 308330他们认为将主机名与证书通用名称匹配时存在错误匹配的风险,因此已禁用该功能。 Chromium 现在仅匹配 subjectAltName 扩展。 Firefox 也进行了类似的更改,但仅限于公共 CA 颁发的较新证书,而不是内部证书。这就是 Firefox 仍然有效的原因。

可以通过设置策略来覆盖 Chromium 更改EnableCommonNameFallbackForLocalAnchors,该策略可以/etc/chromium/policies/managed/use-common-names.json使用以下内容创建:

{
    "EnableCommonNameFallbackForLocalAnchors": true
}

创建后似乎必须重新启动 Chromium。

相关内容