【问题标题】:How to attach multiple certificate-key pairs to a TLS client? is it possible?如何将多个证书密钥对附加到 TLS 客户端?是否可以?
【发布时间】:2022-01-09 16:48:31
【问题描述】:

我们可以将多个证书密钥对附加到单个 TLS 客户端吗?比如说:-

是否有可能 - 客户端 A 有一个由 CA-1 签名的证书 1 和由 CA-2 签名的证书 2 等等。假设每个证书都有自己的私钥对。

因此,当 Client-A 根据服务器中预先安装的 CA 证书向 TLS-Server(例如 Server-A)发送 N 个证书密钥对时,将成功验证 Certificate-1客户端和证书 2 验证失败(服务器没有 CA-2 证书)。如果上述情况是可能的,结果会是什么? TLS 握手会成功还是失败?

另外,有人可以分享一个示例,说明如何使用 openssl 命令或以编程方式(例如在 C 程序中)附加多个证书密钥对。

【问题讨论】:

    标签: ssl openssl ssl-certificate tls1.2 tls1.3


    【解决方案1】:

    客户端不能向服务器发送多个叶子证书,服务器将选择它喜欢的一个。相反,客户端将发送一个包含必要证书链的单叶证书,并将提供一个由该单叶证书签名的 CertificateVerify 消息,作为匹配私钥的所有权证明。

    这意味着客户端需要决定发送哪些可能的证书。服务器可以发送一个已接受 CA 的列表来指导客户端,但即便如此,也可能存在多个证书。在这种情况下,客户端需要以某种方式决定发送哪些信息,例如通过询问用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-16
      • 2018-03-18
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多