gpt4 book ai didi

google-chrome - Chrome 浏览器如何知道要提示站点的客户端证书?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:29 58 4
gpt4 key购买 nike

我正在使用 Tomcat 为我的项目设置证书身份验证。它适用于 cURL 等命令行客户端。

我在 Chrome 浏览器中安装了很多客户端证书。一些用于连接到我的站点,另一些用于不同的目的,与我的项目无关。

每次我连接到我的站点时,Chrome 都会显示一个客户端证书列表供选择。这些正是我安装的证书,而不是其他证书。我的问题是:

  1. Chrome 如何知道要为网站提供哪些客户端证书以供选择?
  2. Tomcat 将这些客户端证书存储在其信任库中。期间SSL 握手,Tomcat 将请求客户端证书。可以请求它在其信任中知道的一些特定证书存储以便 Chrome 知道要显示什么?

最佳答案

客户端证书认证在浏览器实现的SSL/TLS协议(protocol)的握手阶段决定。

  1. 如果服务器需要客户端证书认证(它是可选),向客户端发送一条消息,其中包含已接受的列表证书颁发机构 (CA)。如果服务器接受任何,则可以为空证书。

  2. 客户端选择安装在客户端 keystore 中的证书,这些证书由任何这些 CA 颁发,并将列表呈现给用户。对于 Chrome,浏览器会从操作系统的 keystore 中选择用户安装的证书。

  3. 用户选择一个证书,客户端用证书的私钥对握手过程中交换的已知数据进行签名。

在第 2 步中只能选择带有私钥的证书。这是浏览器不选择安装在您设备中的受信任 CA 的证书的原因。您不拥有私钥

关于google-chrome - Chrome 浏览器如何知道要提示站点的客户端证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40847638/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com