当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  1.1和2.0下进行https请求的不同实现

 1.1和2.0下进行https请求的不同实现

点击次数:29 次 发布日期:2008-11-26 12:21:30 作者:源代码网
源代码网推荐      今天做项目中进行https请求时遇到这样的调试错误,内部错误:未能为 SSL/TLS 安全通道建立信任关系。错误页面:根据验证过程,远程证书无效。经过分析,在浏览器中打开要进行一个安全确认。就是这个对话框引起的问题。在网上搜了一下一般的解决办法,但是搜的内容比较少,现在在这里总结一下。
源代码网推荐  
源代码网推荐  using System;
源代码网推荐  using System.Data;
源代码网推荐  using System.Configuration;
源代码网推荐  using System.Web;
源代码网推荐  using System.Web.Security;
源代码网推荐  using System.Web.UI;
源代码网推荐  using System.Web.UI.WebControls;
源代码网推荐  using System.Web.UI.WebControls.WebParts;
源代码网推荐  using System.Web.UI.HtmlControls;
源代码网推荐  using System.Net;
源代码网推荐  using System.IO;
源代码网推荐  using System.Text;
源代码网推荐  using System.Net.Security;
源代码网推荐  using System.Security.Authentication;
源代码网推荐  using System.Security.Cryptography.X509Certificates;
源代码网推荐  
源代码网推荐  public partial class _Default : System.Web.UI.Page
源代码网推荐  {
源代码网推荐   protected void Page_Load(object sender, EventArgs e)
源代码网推荐   {
源代码网推荐   //for 1.1 在2.0下ServicePointManager.CertificatePolicy已经过时
源代码网推荐   //ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
源代码网推荐   //for 2.0
源代码网推荐   //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
源代码网推荐   HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://someurl");
源代码网推荐   request.Method = "GET";
源代码网推荐   HttpWebResponse response = (HttpWebResponse)request.GetResponse();
源代码网推荐   Stream receiveStream = response.GetResponseStream();
源代码网推荐   StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
源代码网推荐   Page.Response.Write(readStream.ReadToEnd());
源代码网推荐   response.Close();
源代码网推荐   readStream.Close();
源代码网推荐   }
源代码网推荐   //for 2.0
源代码网推荐   public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
源代码网推荐   { // Always accept
源代码网推荐   return true;
源代码网推荐   }
源代码网推荐   //for 1.1
源代码网推荐   internal class AcceptAllCertificatePolicy : ICertificatePolicy
源代码网推荐   {
源代码网推荐   public AcceptAllCertificatePolicy()
源代码网推荐   {
源代码网推荐   }
源代码网推荐  
源代码网推荐   public bool CheckValidationResult(ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest wRequest, int certProb)
源代码网推荐   {
源代码网推荐   // Always accept
源代码网推荐   return true;
源代码网推荐   }
源代码网推荐   }
源代码网推荐  }
源代码网推荐  
源代码网推荐  http://www.cnblogs.com/david8k/archive/2006/11/06/551911.html
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华