Scope
In an attempt to use HttpWebRequest to make https call to our server, I got the error of
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Pretty self explained that it is complaining about SSL certificate or security issue or UTC clock offset etc. For my purpose, this is a local server that I am calling and I am not transferring sensitive data anyway, so I am not worrying about SSL security.
Solution
try { ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; }); var req = HttpWebRequest.Create(url); var res = req.GetResponse(); using (var stream = res.GetResponseStream()) { using (var sr = new StreamReader(stream)) { return sr.ReadToEnd(); } } } catch (Exception ex) { Console.WriteLine("Exception caught: " + ex.Message); return string.Empty; }
All it take is the first line of ServerCertificateValidationCallback delegate to return true, the rest is just standard HttpWebRequest call.
No comments:
Post a Comment