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?