老客户端的SSL证书和具有相同发布/私钥的新证书

时间:2018-11-01 11:36:02

标签: ssl ssl-certificate x509 public-key der

情况:我们无法在客户端设备上更新der文件。我们的网络服务器上的SSL证书即将过期。

是否可以在不替换客户端证书的情况下更新服务器的SSL证书?

我们要遵循以下指南:https://www.smashingmagazine.com/how-to-issue-a-new-ssl-certificate-with-an-old-ssl-key/

但是,我们不确定是否有帮助。

问题是:

der文件(在客户端上)是否仅包含公钥,并且可以使用上面的链接中所述的技术(保持相同的发布/私钥)来续订SSL证书是安全的。

它可以在客户端设备上运行而不替换der文件吗?或者der文件不仅包含SSL证书的公共密钥,还包含其他一些信息?

1 个答案:

答案 0 :(得分:1)

很抱歉,但是根据您的原始帖子和说明,客户端将期望从Web服务器与服务器设备DER文件中存储的服务器证书相同的服务器证书。客户端执行精确的二进制副本比较(不仅是公共密钥)。

任何尝试替换服务器证书的操作都会导致客户端连接失败。如果您打算替换Web服务器上的证书,则还必须更新客户端设备。

不幸的是,在更改服务器证书之前,有很多有缺陷的HPKP实施(可以说,没有看到任何可靠的实施)可以正常工作。为了正确处理服务器证书的替换,客户端必须能够存储至少两个服务器证书,现有证书和新证书。这是高级服务器证书替换过程:

  1. 提前从CA获取新的服务器证书。
  2. 通过并排添加新证书来更新应用程序。客户端在其设备上更新应用程序时,客户端应用程序将信任现有证书和新证书。
  3. 让客户有时间在其设备上进行应用更新。理想情况下,您应该等待所有客户端都使用更新的证书更新应用程序版本。
  4. 更改服务器绑定中的SSL证书。
  5. 一段时间后,您可以通过从信任库中删除过期的证书来对客户端证书进行另一次更新。

只有此步骤序列才能保证证书固定更新不间断。