是否允许持有。*。domain.com的SSL证书?

我们有一个用例,我们希望为以下项目提供SSL证书:

auth.SOME_ID.example.com 

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

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

各种CA和浏览器是否在意它是一个无效的DNS名称,这完全是另一个问题(X.509证书中的DN字段应该是一个X.500目录path,因此所有的DNS名称都是旁路的),我想这已经得到了充分的回答。

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

一些选项:

  1. 在您的环境SOME_ID.auth.example.com auth成为保留名称,而是将您的系统devise为使用SOME_ID.auth.example.com*.auth.example.com是有效的通配符证书)。
  2. devise你的服务使用前缀,所以名字是在同一级别:
    auth-SOME_ID.example.com 。 那么一个简单的*.example.com通配符证书将会覆盖你。
  3. 根据需要从像LetsEncrypt.org这样的提供程序构build基础结构,以获取所需的特定auth.SOME_ID.example.com地址。

还有其他的。 例如,您可以成为您自己的authentication中心(Certificate Authority)……尽pipe如此,如果您希望公开信任这些authentication,这几乎肯定会更麻烦。 重点是你需要看另一种方式来实现这一点。 这需要一些思考,但这不是不可能的。