SSL - 通用名称无法识别

Nov*_*mer 4 ssl-certificate

除了使用 CN 进行服务器识别外,我们最近还开始使用 subjectAltName 创建证书,我注意到浏览器中的 CN 识别问题

在我们的情况下

  • CN => www.example.com
  • SAN => www.machinename.com

如果我尝试使用 CN 访问该站点,则浏览器会抱怨证书有错误。

使用 SAN 工作正常。

我进一步检查了这一点和RFC 6125,第 6.4.4 节指出 -

如上所述,如果呈现的标识符包括 DNS-ID、SRV-ID、URI-ID 或客户端支持的任何特定于应用程序的标识符类型,则客户端不得寻求 CN-ID 参考标识符的匹配项。因此,当且仅当呈现的标识符不包括 DNS-ID、SRV-ID、URI-ID 或客户端支持的任何特定于应用程序的标识符类型时,客户端可以作为最后的手段检查字符串表单匹配主题字段(即 CN-ID)的公共名称字段中的完全限定 DNS 域名的表单。

基于此,我得出结论,CN 和 SAN 是 -

  1. 不是免费的,因此
  2. CN 应始终是 SAN 中提供的列表的子集

这样对吗?

编辑:我知道这是特定于浏览器的,我正在寻找有关现代浏览器(IE11、Edge、Chrome、Firefox 等)的指导。

bla*_*sel 8

“虽然通用名称的使用是现有的做法,但它已被弃用,并且鼓励证书颁发机构使用 dNSName 代替。” RFC 2818

甚至 RFC 6125 也包含以下内容。

“不要在主题的通用名称中包含和检查看起来像域名的字符串。” RFC 6125,第。1.5

使用 CN 作为 DNS 名称已被弃用,并且自版本 57 起无法被 Chrome 等现代浏览器识别。

您应该将所有 DNS 名称移动到证书的 subjectAltName 部分。