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

王朝other·作者佚名  2008-05-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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航