ssl - 一个域上有多个 SSL 证书

标签 ssl encryption nginx https ssl-certificate

我们使用 nginx 进行 SSL 终止并每年轮换 ssl 证书。但是每当我们轮换时,我们都会向用户发送有关应用更改的日期和时间的通知,并且他们必须同时进行更改。很少有客户使用的企业工具很少,并且他们需要在其信任存储中加载相同的证书。

所以我想检查是否有任何方法可以在一个域上临时部署两个证书(例如一周)。在此期间,两个证书均有效,因此客户可以在此期间迁移到较新的证书。可能是某种证书链或者可以帮助我们解决这个问题的东西。

PS:如果听起来太愚蠢,我很抱歉,只是想听听其他人对这个问题的看法。

谢谢, GG

最佳答案

虽然可以向对等方发送任意数量的证书(这就是发送中间证书时所做的操作),但预计与主机名匹配的证书是第一个,接下来是按正确顺序排列的链证书。客户不会只是查看所有证书并选择看起来最好的证书。

但是您应该可以提前向客户端提供新证书,并且客户端可以将此证书添加到受信任证书列表中,而无需替换旧证书。只要您提供旧证书,客户端就会发现它是可信的,一旦您转移到新证书,客户端也会发现它是可信的。

更好的是使用您自己的 CA 来颁发所有证书。然后,客户端只需一次将该 CA 安装为受信任的证书,然后它将自动信任该 CA 颁发的任何新证书,无论您是每年还是每天轮换。这就是它在浏览器中的工作方式,谷歌或其他任何人不需要将新证书发送到所有浏览器,而是由浏览器信任的 CA 签名。

关于ssl - 一个域上有多个 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29645054/

相关文章:

c# - 加密密码的最佳方法是什么?

java aes javax.crypto.BadPaddingException : Given final block not properly padded

java - 对于 JCA 和 AES,我应该注意哪些安全地雷?

bash - docker上的Nginx-守护并附加到bash

ssl - SSL 握手发生在哪一层?

python - 我的 openssl 和 ssl 默认 CA 证书路径是什么?

java - 使用 Java 连接到 MySql - SSL 连接

c# - 如何修复 UNITYTLS_X509VERIFY_NOT_DONE

linux - CentOS/Nginx 服务器无法运行,正在托管 Node 应用程序

php - 带有 Nginx 的子目录上的 Wordpress 使用无输入文件错误的代理通行证