是否可以在多个设备上使用通配符证书?

信息安全 tls 证书 公钥基础设施
2021-08-25 16:34:56

我有一台服务器,我想在其上使用通配符证书。它运行多种服务。我购买了通配符证书,以便保护 mail.something.dom、www.something.dom、im.something.dom、calendar.something.dom、addressbook.something.dom

几个月后,我进入了几台新服务器。我现在有足够的服务器,可以为我创建的每个子域设置一个。我想使用我的通配符证书,而不是为每个证书购买一个 SSL 证书。

如果我有可能:

  1. 从原始服务器复制通配符证书的公钥和私钥。
  2. 在每个新服务器中放置每个密钥的副本。
  3. 在每个新服务器中放置一个通配符证书的副本。

如果这不是执行此操作的过程,是否有一个可行的过程?

3个回答

您描述的过程将起作用。你是否能够制定它是另一回事:这取决于你的私钥到底在哪里。在 Windows 系统中,私钥可能被标记为“不可导出”,这意味着 Windows 不允许导出;导出仍然是可能的(Windows 只是软件,它不能创造奇迹)但有点 hackish在 Linux 系统上,私钥只是文件,文件可以随意复制。如果您的私钥生成和存储涉及专用硬件,请参阅 HSM 文档以获取可能的选项。

反对此类计划的可能反对意见如下:

  • 可能存在合同问题。这真的取决于CA。CA 没有技术能力来阻止您将私钥从服务器移动到服务器(这是您机器上的密钥,他们无法监视),但至少在理论上,他们仍然可以将其定义为合同违约。商业 CA 通过销售证书赚钱,而您购买和使用通配符证书正是如此,因此您不必为每个新服务器名称购买新证书;可以理解,商业 CA 的商业人员会对这个概念感到不安,因此可能会遇到一些法律障碍。

  • 私钥的价值在于其隐私。如果你的私钥被外人知道,那么你就有大问题了。作为一般规则,任何导出-转移-导入操作都可能暴露私钥;私钥传播得越多,它变得越不私密。“推荐的方式”是让每台服务器(物理机)生成自己的密钥对,根本不导出私钥。你的建议与这个一般原则不一致,所以要小心。

  • 如果私钥被盗,则必须撤销证书,这将同时影响您的所有服务器。有了几个不同的证书,损坏就更容易控制了。同样,当通配符证书过期时,必须进行续订,并且新证书同时安装在所有服务器上。根据您拥有的不同服务器的数量,这可能会很麻烦。

这可能是一个许可问题,如果你诚实的话,会花费更多的钱

一些供应商要求您购买许可证以在多台服务器上安装证书。这是荣誉系统,如果您需要添加更多主机,CA 供应商将很乐意接受您的资金。

将证书复制到其他主机很常见

在技​​术上可以将证书复制到多个主机(只要私钥是可导出的)而无需支付许可证,但取决于供应商,这可能是不诚实的。

考虑 SNI 技术

如果您的客户使用现代 Web 浏览器,您可以为所有子域站点(im.something.com、calendar.something.com、addressbook.something.com)使用同一台机器和 IP 地址。这是您将在 Web 服务器上设置的内容,并让软件(Web 浏览器)为您处理 SNI 名称协商。这样,您无需支付额外的许可费用,也不必使用额外的 IP 地址等。

如果您必须支持不支持此技术的旧浏览器,则 SNI 不适合

是的,没有。

是的,这绝对是可能的。根据您为您签署的 CA,您可能不被合同允许。一些 CA 想要更多的钱来购买通配符证书,以便在多个物理设备上使用。我认为在一台服务器上用于同一域中的多个名称的通配符与在同一域中具有多个名称的多台服务器上使用的通配符在技术上没有任何区别。(如有错误请指正,我只买过一台可以在多台服务器上使用的)

其他 CA 仅提供一种通配符服务,并且可以在同一域内具有多个名称的多个设备上使用。