为了账号安全,请及时绑定邮箱和手机立即绑定

如何在ssl时忽略证书检查

如何在ssl时忽略证书检查

C#
慕仙森 2019-08-27 15:38:10
如何在ssl时忽略证书检查我正在尝试找到一种方法来在请求Https资源时忽略证书检查,到目前为止,我在互联网上找到了一些有用的文章。但我还是有一些问题。请查看我的代码。我只是不明白代码ServicePointManager.ServerCertificateValidationCallback是什么意思。何时调用此委托方法?还有一个问题,我应该在哪个地方编写这段代码?在ServicePointManager.ServerCertificateValidationCallback执行之前还是之前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;     }}
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

由于只有一个全局ServicePointManager,因此设置ServicePointManager.ServerCertificateValidationCallback将产生所有后续请求将继承此策略的结果。由于它是一个全局“设置”,因此最好在Global.asax的Application_Start方法中设置它。

设置回调会覆盖默认行为,您可以自己创建自定义验证例程。


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 1783 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信