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

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

我之所以问这个问题,是因为 Comodo 告诉我 *.example.com 的通配符证书也会保护根域 example.com。因此,使用单个证书,my.example.com 和 example.com 都会得到保护,并且不会收到浏览器的警告。

但是,我获得的证书却不是这样。我的子域名安全无虞,没有出现错误,但根域名却在浏览器中出现错误,提示无法验证身份。

当我将此证书与其他类似场景进行比较时,我发现在没有错误的场景中,主题备用名称 (SAN) 同时列出了 *.example.com 和 example.com,而 Comodo 的最新证书仅列出 *.example.com 作为通用名称,而不是 example.com 作为主题备用名称。

是否有人可以确认/澄清,如果要正确保护根域,则根域是否应该列在 SAN 详细信息中?

当我读到这篇文章时:http://www.digicert.com/subject-alternative-name.htm看来 SAN 必须列出两者才能按我的需要工作。您的经验是什么?

非常感谢。

答案1

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

对于*.example.com证书,

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

本质上,标准规定*应该匹配一个或多个非点字符,但有些实现允许使用点。

规范答案应该是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”(或 example.com 和您可能需要匹配的所有其他名称)。

答案2

你是对的,根域需要是一个备用名称才能进行验证。

答案3

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

答案4

通配符证书最适合于*.example.com 为了使用此证书保护您的子域和域,您需要做的就是在指向这些域的服务器上安装相同的证书。

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

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

相关内容