This is a follow-up on a post from 2013(!). There I talked about how we used Fiddler to inject a client certificate to authenticate the request.
This application is still in use today, and we still use the same trick to authenticate when debugging locally. Last week, a colleague contacted me that this approach didn't work anymore. When he tried to connect to the service it failed with the following error message:
fiddler.network.https> HTTPS handshake to <site> (for #1) failed. System.Security.Authentication.AuthenticationException A call to SSPI failed, see inner exception.
We discovered that the root cause of the issue was that the server was expecting a TLS 1.2 connection and we were using a TLS 1.0 connection.
We had to take 2 steps to solve the issue:
Step 1 – Update Fiddler
We first had to update Fiddler. Therefore go to https://www.telerik.com/download/fiddler and download the latest version.
Notice that we downloaded Fiddler Classic not the cross-platform Fiddler Everywhere version.
Step 2 – Update the list of supported HTTPS protocols
Open Fiddler and click on Tools --> Options… .
Go to the HTTPS tab and click on the link next to the protocols label:
Add TLS1.2 to the list of protocols:
Click on OK twice to close both popups.