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