I am trying to proxy a mobile app (with Fiddler), which sends a client certificate to the server it connects to. I would think that capturing traffic with Tcpdump, retrieving the client certificate and using it with fiddler would be enough to bypass this.
However, when I capture packets using Tcpdump without a proxy, I notice that the server sends some certificates, asks for a client certificate, and the client sends an empty certificate (certificate's length was 0
). After the whole SSL process, application data is sent normally, and the app works fine after that. The fact that a certificates length 0
is accepted made me think that any certificate would be accepted, but this does not seem to be the case.
I do indeed pass a fake certificate to Fiddler, and I see a similar entry again (certificates length 0
), such that makes me think that I am missing something on how the client sends the certificate.
After the SSL process, I get a server Encrypted Alert and the app won't work at all. So, I am wondering, why do I get a 0
certificate's length even though I send a certificate? Even if fake, shouldn't I be seeing it in Tcpdump?