我问这个问题,因为 Comodo 告诉我 *.example.com 的通配符证书也将保护根域 example.com。因此,使用单个证书,my.example.com 和 example.com 都会受到保护,浏览器不会发出警告。
但是,我提供的证书并非如此。我的子域得到了很好的保护并且不会出错,但是根域在浏览器中抛出一个错误,说无法验证身份。
当我将此证书与其他类似场景进行比较时,我发现在可以正常工作的场景中,主题备用名称 (SAN) 列出了 *.example.com 和 example.com,而来自 Comodo 的最新证书仅列出了 *.example.com 和 example.com。 example.com 作为通用名称,而不是 example.com 作为主题备用名称。
任何人都可以确认/澄清根域是否应该在 SAN 详细信息中列出,如果它也被正确保护?
当我读到这个时:http://www.digicert.com/subject-alternative-name.htm看来 SAN 必须列出两者才能按照我的需要工作。你有什么经验?
非常感谢。
fre*_*eit 87
SSL 实现之间在如何匹配通配符方面存在一些不一致,但是您需要根作为替代名称才能与大多数客户端一起使用。
对于*.example.com
证书,
a.example.com
应该通过www.example.com
应该通过example.com
应该不通过a.b.example.com
可能会通过,具体取决于实现(但可能不会)。本质上,标准说*
应该匹配 1 个或多个非点字符,但某些实现允许点。
规范的答案应该在RFC 2818 (HTTP Over TLS) 中:
使用[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 通配符证书。
小智 6
基本上,根据您的需要(启动整个线程),您的通配符证书应指定为根通配符和第一级通配符:
“example.com,*.example.com”
这样,单个通配符证书将覆盖根域 (example.com) 和任何一级子域(sub1.example.com、sub2.example.com...)
“*.example.com”形式的证书必须有一个子域名。因此,根域被显式排除,因为星号不接受 NULL 作为有效名称。
提示:免费的Let's Encrypt (LE) 证书颁发机构允许这样做。并非所有证书颁发机构都遵守多级通配符。您应始终咨询您的 CA 提供商。
归档时间: |
|
查看次数: |
40339 次 |
最近记录: |