Are there .NET implementation of TLS 1.2?

Yes, though you have to turn on TLS 1.2 manually at System.Net.ServicePointManager.SecurityProtocol

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; // comparable to modern browsers
var response = WebRequest.Create("https://www.howsmyssl.com/").GetResponse();
var body = new StreamReader(response.GetResponseStream()).ReadToEnd();

Your client is using TLS 1.2, the most modern version of the encryption protocol


Out the box, WebRequest will use TLS 1.0 or SSL 3.

Your client is using
TLS 1.0, which is very old, possibly susceptible
to the BEAST attack, and doesn’t have the best cipher
suites available on it. Additions like AES-GCM, and SHA256
to replace MD5-SHA-1 are unavailable to a TLS 1.0 client
as well as many more modern cipher suites.

Leave a Comment