【问题标题】:Renew SSL root CA cert - client programs in the wild need update?更新 SSL 根 CA 证书 - 野外的客户端程序需要更新吗?
【发布时间】:2012-08-25 10:49:27
【问题描述】:

这是我的情况:

  • 我有一个要分发的客户端应用程序 - 我们称之为 MyClient。
  • MyClient 与我们的一台服务器进行一些 SSL 通信。
  • MyClient 中嵌入了根 CA,因此它可以正确验证服务器证书。

现在,假设几年过去了,根 CA 到期并被更新。

这是否意味着我需要在野外修补 MyClient?

换句话说,更改证书上的有效期是否会导致它不再匹配 MyClient 中内置的根 CA?

附录:假设我写我的客户不验证证书的日期(但其他一切)。那么,当根CA过期重新签发时,还需要打补丁吗?除日期外,参与验证的其他部分是否会发生变化?

【问题讨论】:

    标签: ssl certificate ssl-certificate x509


    【解决方案1】:

    如果您的客户端确保 SSL 服务器证书由特定的根 CA 颁发,并且该根 CA 包含在客户端中,那么是的,您需要修补客户端以替换根 CA 证书。

    执行此操作的好方法很少。往往会发生的是根 CA 证书的寿命很长,并且使用寿命较短的中间 CA 来颁发 SSL 证书,但听起来这里不是这种情况。

    从好的方面看,我不知道旧的根 CA 证书使用了什么算法,但希望新的根 CA 证书可以使用更大的密钥(2048 位 RSA,而不是 1024 位或 512 -bit) 和更好的散列算法(SHA1 或更好,而不是 MD5),因此这可能是提高安全性的好机会。

    【讨论】:

    • 我应该补充一点:如果我将客户端设置为不验证日期,即使根 CA 证书已更新,我是否可以不打补丁?换句话说,有效日期是唯一会随着重新发行而改变的事情,还是整个事情都会改变?
    • 如果您不验证日期,那么您将不需要颁发新证书,也不需要修补您的客户端。一些使用数字证书进行永久许可的产品会这样做。
    • 明确一点:在这种情况下,根 CA 超出了我的权限。它过期,并且重新发行。但如果我的客户不验证日期,是否还需要修补?
    • 如果您需要支持新 CA 使用的证书,您需要修补您的客户端以接受来自两个 CA 的证书。但是,如果您不检查日期,则无需在到期时重新签发。您可能还想确认您使用的证书库是否支持过期的根 CA。他们中的许多人可以选择忽略最终证书上的有效期,但可能会或可能不会忽略根证书上的日期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 2015-03-10
    • 2021-07-01
    相关资源
    最近更新 更多