通配符SSL证书是否应同时保护根域和子域?


81

我问这个问题,因为Comodo告诉我* .example.com的通配符证书也将保护根域example.com。因此,只要使用一个证书,my.example.com和example.com都会受到保护,而不会受到浏览器的警告。

但是,提供的证书不是这种情况。我的子域受到很好的保护,没有出现错误,但是根域在浏览器中引发了错误,提示无法验证标识。

当我将此证书与其他类似方案进行比较时,我发现在可以正常工作的方案中,主题备用名称(SAN)列出了* .example.com和example.com,而来自Comodo的最新证书仅列出了*。将example.com作为通用名称,将NOT example.com作为主题备用名称。

任何人都可以确认/澄清是否也要正确保护根域在SAN详细信息中列出吗?

当我阅读以下内容时:http : //www.digicert.com/subject-alternative-name.htm看来,SAN必须同时列出两者才能按我的需要工作。您的经验是什么?

非常感谢。

Answers:


72

SSL实现之间在如何匹配通配符方面存在一些不一致之处,但是您需要使用根作为备用名称,才能与大多数客户端一起使用。

对于*.example.com证书,

  • a.example.com 应该通过
  • www.example.com 应该通过
  • example.com 不应该通过
  • a.b.example.com 可能会根据实现而通过(但可能不会通过)。

从本质上讲,标准说*应当匹配1个或多个非点字符,但是某些实现允许点。

规范答案应在RFC 2818(基于TLS的HTTP)中

使用[RFC2459]指定的匹配规则执行匹配。如果证书中存在一个以上给定类型的标识(例如,一个以上的dNSName名称,则认为该集合中的任何一个都可以接受。)名称中可能包含通配符*,该通配符*被认为与任何单个字符匹配域名组件或组件片段。例如,*.a.com匹配foo.a.com,但不匹配bar.foo.a.com。f*.com匹配foo.com,但不匹配bar.com。

RFC 2459说:

  • “ *”通配符可以用作证书中最左边的名称部分。例如,*.example.com将匹配a.example.com,foo.example.com等,但不匹配example.com。

如果您需要证书才能使用example.com,www.example.com和foo.example.com,则需要带有subjectAltNames的证书,以便拥有“ example.com”和“ * .example.com”(或示例.com以及您可能需要匹配的所有其他名称)。



6

我曾经使用过的每个SSL提供程序都会将根域作为主题备用名称自动添加到通配符SSL证书,因此DOMAIN.COM将自动为* .DOMAIN.COM通配符证书工作。


8
自2017年9月20日起,AWS Certificate Manager并非如此。
pho3nixf1re

SAN证书没有“该”根域,它可以保护多个根域。
耶斯

-3

理想情况下,会为* .example.com生成通配符证书 。为了使用此证书保护子域和域,您要做的就是在指向这些域的服务器上安装相同的证书。

例如-您具有* .example.com的通配符证书one.example.com-服务器1 example.com-服务器2

您需要在服务器1和服务器2上安装此证书。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.