假定SSL证书的使用者备用名称(SAN)属性包含两个DNS名称

  • domain.tld
  • host.domain.tld

  • 但是“通用名称(CN)”仅设置为以下两者之一:CN=domain.tld
  • 此设置是否具有特殊含义,或在设置两个CN方面有什么[缺点]?
  • 如果请求另一个host.domain.tld,则在服务器端会发生什么?

  • 具体来说,OpenSSL 0.9.8b +如何处理给定方案?

    最佳答案

    这取决于实现方式,但是一般规则是针对所有SAN和通用名称检查域。如果在该域中找到该域,则该证书可以用于连接。
    RFC 5280在4.1.2.6节中说:“主题名称可以在主题字段和/或subjectAltName扩展名中携带”。这意味着必须同时对域名和证书的SubjectAltName扩展名和Subject属性(即通用名称参数)进行检查。这两个地方是互补的,而不是重复。而且SubjectAltName是放置其他名称的适当位置,例如www.domain.com或www2.domain.com
    更新:根据RFC 6125于2011年发布,验证器必须首先检查SAN,如果SAN存在,则不应检查CN。请注意,RFC 6125是相对较新的,并且仍然存在颁发证书的证书和CA,其中包括CN中的“主要”域名和SAN中的备用域名。即如果存在SAN,则通过将CN从验证中排除,可以拒绝其他有效证书。

    关于ssl - 公用名(CN)和主题备用名(SAN)如何一起工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5935369/

    10-10 10:23