SSL 证书 - 可以在多台服务器上使用吗

SSL 证书 - 可以在多台服务器上使用吗

我有许多网站分散在不同的 IIS 服务器上,但它们都可以通过网站名称.example.co.uk. 即 site1.example.co.uk

顺便说一句,这只是一个例子,以便我可以掌握 SSL 证书,因此它们都是通过以下过程进行自签名的

  1. 创建我自己的 CA
  2. 生成密钥和 csr
  3. 然后生成签名的证书

http://datacenteroverlords.com/2012/03/01/creating-your-own-ssl-certificate-authority/

步骤 3 生成的证书被分配给 *.example.co.uk。该证书可以在多台服务器上使用吗?还是我必须为每台服务器创建一个新的证书 + 密钥,尽管它们与证书上的域名匹配?

答案1

证书是第三方签名的公钥,任何拥有相应私钥的人都可以使用。因此,只要你给每台服务器匹配的私钥,它就可以使用该证书。

但是如果你要创建自己的 CA,那又何必呢?你可以为每台服务器创建证书,而且这些证书的可信度不会低于(也不会高于)你计划在任何地方使用的私有 CA 签名证书,而且在将单个私钥分发到多个端点并在多个端点上使用时,你不会遇到太多问题,也不会太担心如何保证单个私钥的安全。

答案2

从技术角度来说,您没有理由不能在任意数量的服务器上使用 *.example.co.uk 的通配符 SSL 证书,只要这些服务器的域名与通配符匹配即可。但有些证书颁发机构有商业条款和条件,会限制可以使用证书的服务器数量。这不是技术限制,证书仍可在任意数量的服务器上使用;如果您在超过约定数量的服务器上使用该证书,则只是违反了与他们的合同。当然,这不适用于您用来测试的自签名证书,但当您真正获得由受信任的 CA 签名的证书时,可能会出现这种情况。

答案3

从技术上来说,没有任何规定禁止您在多台机器上安装给定证书。但是,如果您从商业 CA 购买证书,那么即使安装了相同的证书,许可协议也可能要求您为每台服务器付费。

我相信一些安全/公司标准不鼓励使用高级通配符证书(因此没有 *.example.co.uk,但也许有 *.somespecificapp.example.co.uk),以尽量减少证书泄露造成的损失。

在所有机器上安装相同的证书+密钥的一个可能动机是使用证书固定(https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning/Certificate_and_Public_Key_Pinning

相关内容