验证哪些客户端身份验证证书发送到服务器?

时间:2013-06-21 21:20:46

标签: ssl browser certificate client-certificates

浏览器或某些工具是否有办法查看请求中向服务器发送了哪些SSL证书(客户端身份验证)?

2 个答案:

答案 0 :(得分:1)

我从Burp Suite(免费版)开始。对很多事情来说,这是一个很好的代理。

答案 1 :(得分:1)

如果您的服务器在初始握手期间协商客户端证书(无需重新协商),您应该能够使用Wireshark查看它:您应该看到来自客户端的Certificate消息(不是来自客户端的消息)服务器),在服务器发送Certificate Request消息之后。

如果使用重新协商,则会更复杂。

SSL MITM工具(如Fiddler)将不会有任何帮助,因为他们会进行自己的握手。这些工具可以配置为通过让客户端信任他们的虚假服务器证书(用户通常可以在客户端上设置的信任设置)来欺骗客户端使他们相信他们是真正的服务器。但是,这在使用客户端证书时不起作用,除非执行握手的工具(在本例中为SSL MITM工具)正在处理客户端证书本身。否则,最后的验证消息(服务器用于验证客户端是否具有客户端证书的私钥)将失败。其中一些工具确实可以使用客户端证书进行配置,但您需要使用相应的私钥进行设置:在这种情况下,您将知道使用了哪个客户端证书。

另一种检查方法是检查浏览器本身的功能。怎么做可能取决于浏览器。使用Firefox时,可能会对SSLDEBUG等环境变量感兴趣。