SAN CSR 中需要主题备用名称吗?

Zee*_*eep 2 ssl ssl-certificate

我们希望对以下域使用 SAN SSL 证书:

  • example.com(通用名)
  • abc.example.com
  • def.example.com
  • www.abc.example.com
  • www.def.example.com

为此证书创建 CSR 时,我是否必须在“主题备用名称”部分中输入所有这些主机名(公用名旁边)?是必须的吗?或者我可以将它们留空并只填写通用名称吗?

这些 SAN 条目最终如何进入 SSL 证书?这是通过 CSR(如果已提供)还是证书提供商可以在生成过程中添加它们,因此 CSR 中不需要 SAN?

Joh*_*ald 5

subjectAltName 是必需的,来自 RFC 2818

如果存在 dNSName 类型的 subjectAltName 扩展,则必须将其用作身份。否则,必须使用证书主题字段中的(最具体的)通用名称字段。

尽管使用通用名称是现有做法,但它已被弃用,并且鼓励证书颁发机构改用 dNSName。

您的证书颁发机构可以使用请求中的名称,或采用其他输入(例如通过表单)。Let's Encrypt 是一个示例,它根据您传递给 ACME 脚本的选项完全自动请求和发出 subjectAltNames 或通配符。

关于通配符,根据RFC 6125 6.4.3中的规则,您可以在最左侧的标签中使用一个“*” 。这非常强大,您可以使用一个证书来完成所有事情。但是,如果受到威胁,攻击者就拥有与该模式匹配的任何名称的有效证书。