【问题标题】:SSL: Client Authentication, multiple certificate version in same storeSSL:客户端身份验证,同一商店中的多个证书版本
【发布时间】:2016-10-17 03:11:54
【问题描述】:

情况如下:

  1. 我们的应用程序与多个第 3 方应用程序通信,其中很少有人需要客户端身份验证。

  2. 一个特定的第三方应用程序需要客户端身份验证,并已适当地提供了证书(我们在密钥库 (JKS) 中导入了该证书)。这是在集成测试期间。在测试环境中一切正常。

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

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

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

【问题讨论】:

    标签: java ssl ssl-certificate ssl-client-authentication


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您注意到这一法律问题。 “别人”其实就是服务提供者自己。但是,是的,作为应用程序供应商,即我们,应该拥有自己的证书。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2011-04-09
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多