SSL握手 - 客户端身份验证

时间:2014-09-19 07:39:17

标签: tomcat ssl

如果有多个证书,浏览器在ssl握手期间的客户端身份验证步骤中如何知道要向服务器发送哪个证书。我的意思是它如何识别哪个证书适用于哪个服务器

3 个答案:

答案 0 :(得分:1)

没有。客户端证书不是特定于服务器的。

答案 1 :(得分:1)

服务器可以选择向客户端发送所需证书代理的列表。然后,客户端可以选择由所需CA签名的证书。

答案 2 :(得分:1)

现在提出Cyber​​Monk的问题

如果您在上面看到我的回复,您可以看到服务器如何请求客户端向其受信任的某个机构发送证书。客户可以根据此选择证书。

如果存在冲突,浏览器通常会向您显示证书列表,并要求您选择其中一个使用。我知道Safari和Chrome肯定会这样做。

最有可能的是,一旦您选择了证书,浏览器就会继续在会话的其余部分使用相同的证书。

现在,为了让tomcat请求相同,如果这是一个自签名证书,你可以将公共证书放在tomcat的信任库中。这不是自签名证书,您必须将公共根CA证书放在tomcat的信任存储中

浏览器可能包含多个公共证书,但它不会将证书发送到服务器,除非它有私钥对其进行签名。只有在整个证书创建过程中,您(或您的浏览器)才会拥有私钥。获得私钥并将私钥/公共证书对导入浏览器后,就可以发送证书。