主域 SSL 无效,但通配符子域有效

mrS*_*idX 1 domain-name-system ssl certificate

我通过 AWS Route 53 拥有一个域,

主域通过letsencrypt方法得到保护,但不适用于任何通配符/子域...

我尝试使用*.example.com域和记录中的 DNS TXT 验证方法重做证书。这适用于我的端点,这些端点被 GeoDNS 路由到它们的特定实例,即fr.example.comus.example.com...但是现在当我转到我的主域时,example.com它现在说它不安全(不再),并且我的大部分代码引用了这个主域错误,因为"invalid cert".

当我通过 Chrome 浏览器加载这个主域时,它报告“不安全”,当我点击它时,看到它,Certificate: (Not Secure)我会点击它,弹出详细信息,显示我的*.example.com域,但亮绿色表示该域是安全的。……?

在 Safari 中它说 *.example.com certificate name does not match input.

任何想法出了什么问题?如何在通配符也受到保护的情况下保护我的主域?

chu*_*utz 5

证书上的通配符名称仅与子域匹配。为了保护“裸”域,您需要将该名称单独添加到主题备用名称列表中。

这篇文章中解释了有关通配符证书的一些限制。

通配符证书

V2 API 支持颁发通配符证书。要请求通配符证书,只需在 newOrder 请求中发送通配符 DNS 标识符。根据 Let's Encrypt 的政策,通配符标识符必须通过 DNS-01 质询进行验证,因此对应于通配符标识符的订单授权将仅提供 DNS-01 质询。证书中的 DNS 名称可能只有一个通配符,并且它必须是整个最左侧的 DNS 标签,例如*.example.com。单个证书可以具有多个基本域的通配符 DNS 名称,也可以混合使用非通配符名称。

包含基本域及其等效通配符(例如*.example.comexample.com)的订单是有效的。在这种情况下,将有两个授权对象example.com,其中一个代表通配符验证,一个代表基本域验证。冗余条目将产生错误。例如,和包含两个顺序*.example.comwww.example.com由于通配符条目使得后者将冗余产生一个错误。

总的来说,关于通配符证书,虽然维基百科不是一个可靠的引用来源,但给出的例子是准确的。

单个通配符证书https://*.example.com将保护域上的所有这些子https://*.example.com域:

  • payment.example.com
  • contact.example.com
  • login-secure.example.com
  • www.example.com

...

因为通配符只覆盖一级子域(星号不匹配句号),这些域对证书无效:

  • test.login.example.com

“裸”域在作为主题备用名称单独添加时有效:

  • example.com

请注意 CA 可能的例外情况,例如 DigiCert 的通配符加证书包含裸域 example.com 的自动“Plus”属性。