后端服务根证书过期

后端服务根证书过期

我们正在使用 mTLS 进行后端服务身份验证,根证书将于 2022 年到期。以下是所有证书的到期详细信息:

  • 证书将在以下时间到期2022
  • 中间的证书将在2031
  • 叶子证书将在2023

我不知道为什么根证书被设置为比其他证书更早过期,如果可能的话,我想避免在几个月内更新所有证书。根据我们的测试,只要中间证书和叶证书仍然有效,根证书过期后一切仍可正常工作。我们进行了以下测试以验证:

  • 我们在测试环境中更新了证书,并将根证书设置为一小时后过期
  • 一小时后一切正常
  • 我们对中级证书进行了另一项测试,使其在一小时内过期
  • 一小时后,我们开始收到身份验证错误

有人能否确认我们的测试是否足以验证根证书过期不会导致问题?

感谢您提供的任何见解!

### 附加信息 ###

我们在内部服务之间使用 mTLS 身份验证:

  • Hashicorp Consul、Nomad 和 Vault
  • MongoDB
  • 其他一些服务

在这些实例中,我们可以找到中间证书和叶证书,但找不到根证书。

如果我验证中间证书,我可以看到它的到期时间为 1 年,尽管根证书已经过期。

我使用 Terraform 在新环境中创建了 3 个 Consul 服务器,并测试了这些证书。测试证书已安装在每个实例上,并且根证书过期不会引起任何问题

答案1

符合 RFC 5280 的证书验证功能要求链中的所有证书(包括根证书)在验证时都必须处于有效期内。也就是说,在根证书过期后(2022 年),正确的证书验证功能将无法验证您的证书链。

RFC 5280§6.1.3.a.3

证书有效期包含当前时间。

这适用于链中的每个证书。如果您发现叶证书已成功通过过期根证书的验证,则可执行以下操作之一:

  1. 有一个交叉证书将你重定向到另一个根
  2. 证书验证功能配置错误并忽略某些验证错误。

相关内容