Sto cercando di trovare un modo per ignorare il controllo del certificato quando richiedo una risorsa Https, finora ho trovato un articolo utile in Internet.
Ma ho ancora qualche problema. Si prega di rivedere il mio codice. Non capisco cosa significhi il codice ServicePointManager.ServerCertificateValidationCallback
.
Quando verrà chiamato questo metodo delegato? E un'altra domanda, in quale posto dovrei scrivere questo codice? Prima di ServicePointManager.ServerCertificateValidationCallback
eseguire o prima Stream stream = request.GetRequestStream()
?
public HttpWebRequest GetRequest()
{
CookieContainer cookieContainer = new CookieContainer();
// Create a request to the server
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_remoteUrl);
#region Set request parameters
request.Method = _context.Request.HttpMethod;
request.UserAgent = _context.Request.UserAgent;
request.KeepAlive = true;
request.CookieContainer = cookieContainer;
request.PreAuthenticate = true;
request.AllowAutoRedirect = false;
#endregion
// For POST, write the post data extracted from the incoming request
if (request.Method == "POST")
{
Stream clientStream = _context.Request.InputStream;
request.ContentType = _context.Request.ContentType;
request.ContentLength = clientStream.Length;
ServicePointManager.ServerCertificateValidationCallback = delegate(
Object obj, X509Certificate certificate, X509Chain chain,
SslPolicyErrors errors)
{
return (true);
};
Stream stream = request.GetRequestStream();
....
}
....
return request;
}
}