【问题标题】:What's Client's Public Key of HTTPS two-way authentication?HTTPS双向认证的客户端公钥是什么?
【发布时间】:2026-01-21 10:55:01
【问题描述】:

当 HTTPS 进行双向认证时, 服务器需要从客户端获取客户端的公钥。

我对公钥有疑问:

这里的Client是浏览器,我想知道Client的Public Key是什么,是指Client操作系统的Public Key吗?还是它的意思是浏览器的?如果是浏览器的,如何查看Chrome的公钥?

【问题讨论】:

    标签: ssl browser https public-key


    【解决方案1】:

    HTTPS 连接中客户端的公钥是客户端证书的公钥。此客户端证书需要专门导入浏览器(或需要智能卡等支持)。因此,它既不依赖于操作系统也不依赖于浏览器,而是依赖于特定的用户。因此,HTTPS 中的客户端证书用于对用户进行身份验证,而不是操作系统或浏览器。

    【讨论】:

    • 所以,总要安装证书导入到浏览器,然后客户端有CA,对吧?在我们在webserver中配置private keycertificate之后,HTTPS是否只是单向认证?应该在浏览器中安装私钥和证书,然后是双向认证?
    • @244boy:我不完全确定你的意思。但一般来说,客户端会对服务器进行身份验证,以确保它与正确的服务器对话,而不是与中间的某个人对话。服务端也可以请求客户端用证书认证自己,称为客户端证书认证或相互认证或双向认证。为了使这项工作,客户端实际上必须在浏览器中安装客户端证书和匹配的私钥,这是服务器可以接受的。