在客户端身份验证步骤中,如果证书过多,浏览器如何知道在SSL握手的客户端身份验证步骤中向服务器发送哪个证书。我的意思是它如何识别哪个服务器是哪个证书SSL握手 - 客户端身份验证
回答
现在对于CyberMonk的问题
如果你看到我的反应上面,你可以看到服务器是如何请求的客户端发送一个证书,其值得信赖的权威之一。客户可以根据此选择证书。
如果发生冲突,浏览器通常会向您显示证书列表,并要求您选择其中一个要使用的证书。我知道Safari和Chrome确实如此。
最有可能的是,一旦您选择了证书,浏览器将继续在会话的其余部分使用相同的证书。
现在,为了让tomcat的请求相同,如果这是一个自签名证书,您可以将公共证书放在tomcat的truststore中。它不是一个自签名证书,您必须将公共根CA证书放置在tomcat的信任存储中
浏览器可能包含多个公用证书,但它不会将证书发送到服务器,除非它具有私有签署它的钥匙。只有在创建证书的过程中,您(或您的浏览器)才会拥有私钥。一旦您拥有私钥并将私钥/公钥证书对导入浏览器,它将能够发送证书。
它没有。客户端证书不是特定于服务器的。
服务器可以选择性地向客户端发送所需证书代理的列表。然后客户可以选择由所需CA签署的证书。
如果是自签名证书,该怎么办?以及我如何让我的服务器(tomcat)告诉我,我想让浏览器给我使用java keytool创建的证书?所以我可以在服务器的tomcat用户领域验证它(我希望这是我们验证它的地方!)对于整个事情来说是非常新颖的。 – Cybermonk 2014-09-19 08:52:50
如果客户端证书是自签名的,则不存在您可以提供的信任锚点,因此它可能不起作用。但是,如果你在'trustStoreFile'中有预期的客户端证书,它可能会起作用。除此之外,我猜Tomcat只是将'truststoreFile'中的所有CA的名称发送给客户端,但我对tomcat没有自己的经验。 – 2014-09-19 10:03:47
- 1. Jetty Truststore身份验证与SSL客户端身份验证
- 2. 客户端身份验证(SSL)直通?
- 3. Java客户端SSL握手
- 4. IIS 7.5和客户端身份验证
- 5. 如何支持SSL客户端证书身份验证?
- 6. tomcat ssl客户端握手java错误
- 7. 客户端身份验证 - 处理客户端证书
- 8. SOAP客户端身份验证C#401
- 9. 廉价的客户端识别与正确的SSL客户端身份验证
- 10. Java手动客户端证书身份验证
- 11. 做SSL客户端身份验证是python
- 12. SSL客户端身份验证使用智能卡
- 13. Winforms客户端和SSL WCF表单身份验证
- 14. Java,客户端NTLM身份验证
- 15. websocket客户端的身份验证?
- 16. 如何XMLRPC ::客户端身份验证
- 17. Web服务客户端身份验证
- 18. Spring GemFire客户端身份验证
- 19. Apigee客户端应用程序客户端身份验证
- 20. Web Api客户端身份验证(非用户身份验证)最佳实践
- 21. SSL握手期间未提供客户端证书
- 22. 跨域SSL握手失败使用XHR,客户端证书
- 23. Java的SSL握手失败 - 没有客户端证书
- 24. WCF客户端证书验证+ Windows身份验证
- 25. 使用客户端证书进行智能卡身份验证
- 26. Java HTTPS客户端证书身份验证
- 27. Azure中的客户端证书身份验证和CA证书
- 28. 相互SSL身份验证 - 客户端和服务器端。 Python - > Django/Twisted/Tornado
- 29. Java:使用自签名证书的SSL客户端身份验证
- 30. 在Apache上配置双向客户端身份验证SSL证书
哦,如果是这样,我把我的客户端证书放在浏览器中。如果两台不同的服务器需要两个不同的客户端证书,客户端将如何选择合适的客户端证书 例如:我的tomcat用户xml有一个标记 证书在客户端浏览器中以相同的值安装。现在客户浏览器如何知道握手时要选择哪个证书 –
Cybermonk
2014-09-19 08:02:12