SSL:客户端身份验证,同一存储中的多个证书版本



情况如下:

  1. 我们的应用程序与多个第三方应用程序对话,其中很少需要客户端身份验证。

  2. 一个特定的第三方应用程序需要客户端认证,并提供了适当的证书(我们导入到我们的密钥存储库(JKS))。这是在集成测试期间。

  3. 现在在上线之前,他们想要升级CA颁发的证书。

  4. 对于新的证书,我们总是可以创建一个新的存储,但是为了方便为了方便想知道两个证书(旧的和新的)是否可以驻留在同一个存储中?(所以如果他们回滚,我们这边没有变化)

  5. URL相同,应用程序(http-client库)如何知道在调用服务器时要呈现哪个客户端证书版本?

您可以在信任库中拥有这两个证书。JSSE将选择与服务器在请求客户端证书时建议的可信ca匹配的ca。

然而,你所描述的场景是完全不安全的。如果您是客户端,则应该提供自己的客户端证书,而不是来自其他人的证书。否则,私钥必定会受到损害,这意味着证书不能用于它的预期目的,并且您可以合法地拒绝通过这种方式进行身份验证的所有交易。在这种方案下的客户端身份验证没有任何用处,您不应该在它上面浪费更多的时间。

最新更新