我正在尝试代理一个移动应用程序(使用Fiddler),它将客户端证书发送到它连接到的服务器。我认为使用Tcpdump捕获流量、检索客户端证书并将其与 fiddler 一起使用就足以绕过这一点。
但是,当我在没有代理的情况下使用 Tcpdump 捕获数据包时,我注意到服务器发送了一些证书,要求提供客户端证书,并且客户端发送了一个空证书(证书的长度为0
)。整个 SSL 流程结束后,应用数据正常发送,应用正常运行。0
接受证书长度的事实使我认为任何证书都会被接受,但事实并非如此。
我确实向 Fiddler 传递了一个假证书,并且我再次看到了一个类似的条目(证书长度0
),这让我觉得我在客户端如何发送证书方面遗漏了一些东西。
在 SSL 过程之后,我收到一个服务器加密警报,并且该应用程序根本无法运行。所以,我想知道,为什么0
即使我发送了证书,我也会得到证书的长度?即使是假的,我不应该在 Tcpdump 中看到它吗?