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

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

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

auth.SOME_ID.example.com

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

答案1

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

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

答案2

您不能这样做。实际上,证书 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您需要的特定地址请求新证书。

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

相关内容