【问题标题】:Do you need a wildcard SSL cert for each sub-domain "level" you want to encrypt?对于要加密的每个子域“级别”,您是否需要通配符 SSL 证书?
【发布时间】:2017-02-17 06:58:59
【问题描述】:

假设我拥有 example.com,并且我购买了适用于 *.example.com 的通配符 SSL 证书。管理层现在希望创建“伴侣”网站来完善现有网站。因此,如果我有 foo.example.combar.example.com 他们可能还希望我创建 meow.foo.example.comwoof.bar.example.com

现有的通配符证书适用于子域网站,正如我们一直在做的那样。我刚刚了解到它不适用于子子域站点。是否可以为 *.*.example.com 创建通配符证书?

子子子域是否需要额外的通配符证书?所以如果你想保护 X 级别,你需要 X 证书吗?

免责声明:我花了一段时间研究这个问题,但是关于 SO 有很多看似相互矛盾的问题/答案,所以我对再次询问这个问题感到难过,但我不想经历购买的麻烦来找出答案后来我犯了一个错误。

【问题讨论】:

    标签: ssl-certificate


    【解决方案1】:

    虽然有些实现可能允许使用多个通配符,但实际上答案是不,不允许使用多个通配符

    RFC 6125 (section 6.4.3) 试图阐明共同的事实规则,并提炼到核心必须是这些规则有效的:

    • 如果第一个字符不是*,则执行文字匹配。 (非通配符)。
    • 如果第二个字符不是.,则不匹配(无效的通配符)
    • 在匹配候选中找到第一个 .,并从 dNSName 值中的第二个字符开始进行文字匹配。

    所以*.*.example.coma.b.example.com 不匹配,因为.*.example.com != .b.example.com

    当然,某些客户端可能以不同的方式实现其匹配逻辑。但是指望比这种解释更宽松的任何东西都会导致一些客户说它与您希望的不匹配。

    (好吧,RFC 6125 第 6.4.3 节没有任何实际的 MUST;但如果您尊重 SHOULD NOT 并且不遵循 MAY,但确实支持通配符匹配,那么您最终会得到上述内容。)

    【讨论】:

      【解决方案2】:

      https://security.stackexchange.com/a/10540/68042

      您只需要为每个级别的子域提供单独的证书,名称:

      • example.com
      • *.example.com
      • ..example.com
      • ..*.example.com

      理论上,在主题替代名称扩展中包含所有这些条目的单个证书可以,但在某些情况下可能不起作用。单独的证书更安全。

      要使用单个证书(对于 *.example.com),您可以使用名称 meow-foo.example.com 而不是 meow.foo.example.com

      【讨论】:

      • ..example.com..*.example.com 是否有效?我是否能够以这种方式配置子域的所有子域而不必定义每个子域?
      【解决方案3】:

      您可以选择多域通配符 SSL 证书,它将保护您的子子域。它可以在通配符下方保护

      - *.mydomain.tld
      - *.sub1.mydomain.tld
      - *.sub2.mydomain.tld
      - *.anydomain.com
      

      【讨论】:

        猜你喜欢
        • 2014-02-24
        • 2015-01-14
        • 1970-01-01
        • 2020-06-21
        • 2019-01-17
        • 2011-08-06
        • 1970-01-01
        • 2016-07-10
        • 1970-01-01
        相关资源
        最近更新 更多