gpt4 book ai didi

ssl - 在大量机器上更新 SSL 证书

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:18 24 4
gpt4 key购买 nike

我在客户端-服务器应用程序中使用 SSL 证书;客户端和服务器都在使用 2 个即将过期的证书。通常情况下,您只需用新证书替换证书,但由于客户数量巨大,这不可能立即发生。因此,如果只更新服务器和部分客户端,则其余客户端将无法再进行身份验证。

一个快速修复是用一个简单地忽略证书到期日期的版本替换二进制文件;客户端的更新可以按顺序进行,只要它在证书过期之前完成即可。

我考虑的长期解决方案:

  1. 使用 Puppet 向客户端推送新证书

    • 不幸的是,不可行,因为并非所有客户端都/将通过 Puppet 进行管理
  2. 使用第二套证书

    • 如果第一套已经过期,使用第二套
    • 以这种方式,服务器将拥有新证书,一部分客户端将拥有新证书,其余客户端将拥有旧证书,但一切正常
  3. 如果当前证书已过期,客户端会向服务器请求新证书。

还有其他解决办法吗?

最佳答案

我假设您将 SSL 证书用于在线 SSL 连接,例如 HTTPS 或 SFTP。

最大的问题是:您是否仍然信任并希望使用您的服务器端 key !如果是这样,您可以使用旧 key 重新颁发具有新到期日期的服务器证书,从而延长使用生命周期。问题是,您是否仍然信任旧 key ,或者是否应该更换它。老客户此时可能仍会连接到您。您仍在使用相同的公钥/私钥对,只是为其制作了一个新的“终身版本”证书。 (这是大多数公共(public)服务器所做的......)

在服务器端为不同的 key 使用两组有效的 SSL 证书并不是真正可行的,只有当您能够很好地控制客户端的握手过程并且您的服务器应用程序支持它时才有可能。问题在于,在 SSL 协商期间,服务器必须首先发送其证书,并且它可能从客户端获得的唯一指示是 ClientHello 期间的 ServerName 扩展。 (假设客户端实际发送了一个)。否则,服务器对另一方将支持或不支持的内容“不知所措”。 (还有一些其他扩展可能有助于指示受支持的 CA 证书,但您的客户应该支持这些)。

第一个对于支持它的客户来说是最实用的。只需更新他们的证书(可能还有 key )并推送它们。你已经完成了这些。

对于其他人,更新客户端软件并确保它们生成新 key 并在需要时(或提前)从服务器请求新证书可能是最佳解决方案。

关于ssl - 在大量机器上更新 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13875121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com