I'm trying to do HTTPS GET request using client certificate authentication and it fails with
The request was aborted: Could not create SSL/TLS secure channel.
I'm trying same request using Java and it works fine, I see following in Java logs (stripped to only interesting parts):
*** ClientHello, TLSv1.2
main, WRITE: TLSv1.2 Handshake, length = 185
....
*** ServerHello, TLSv1.1
main, READ: TLSv1.1 Handshake, length = 3339
Which as I understand means, that server for some reason does not support TLS 1.2, but client is accepting that and simply fall backs to TLS 1.1.
When I set
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;
.NET works fine too. Now the question - why .NET does not fall back to TLS 1.1 as Java did, can I enable that fallback somehow (without actually trying TLS 1.2, catch exception and try with TLS 1.1)?