是否允许用于 constant.*.example.com 的 SSL 证书?

Car*_*s P 4 domain-name-system ssl ssl-certificate

我们有一个用例,我们想为以下对象提供 SSL 证书:

auth.SOME_ID.example.com
Run Code Online (Sandbox Code Playgroud)

但是,SOME_ID 会有多个值。是否auth.*.example.com允许使用 SSL 通配符证书,还是通配符必须是最高级别的子域?

Cal*_*ahl 7

auth.*.example.com不是 DNS 中的有效名称。通配符标签必须是最左边的标签,并且不能超过一个。

各种 CA 和浏览器是否关心它是一个无效的 DNS 名称完全是另一个问题(X.509 证书中的 DN 字段应该是 X.500 目录路径,所以那里的所有 DNS 名称都被放在一边开始),我认为它已经得到了充分的回答。

  • 实际上,`auth.*.example.com` 是 DNS 中的有效名称,它只是不是通配符。此外,由于 DNS 和证书主题名称对于通配符的工作方式有着根本不同的规则,我并没有真正看到相关性。 (3认同)

Joe*_*oel 7

你不可以做这个。实际上,证书 DNS 名称中只能有一个通配符,并且它必须位于最左侧的位置。

一些选项:

  1. auth在您的环境中保留名称,而是设计系统来使用SOME_ID.auth.example.com*.auth.example.com是一个有效的通配符证书)。
  2. 设计您的服务以使用前缀,因此名称处于同一级别:
    auth-SOME_ID.example.com. 然后一个简单的*.example.com通配符证书将涵盖您。
  3. 构建基础设施以根据需要从 LetsEncrypt.org 等提供商处为auth.SOME_ID.example.com您需要的特定地址请求新证书。

还有其他人。例如,您可以成为自己的证书颁发机构……尽管如果您希望这些证书得到公众信任,这几乎肯定会比它的价值更麻烦。主要的一点是你需要寻找另一种方法来实现这一点。这需要一些思考,但这并非不可能。