Сегодня я столкнулся с этой ошибкой отладки при выполнении https-запросов в моем проекте. Внутренняя ошибка: не удалось установить доверительные отношения для безопасного канала SSL/TLS. Страница ошибки: удаленный сертификат недействителен в соответствии с процессом проверки. После анализа требуется подтверждение безопасности при открытии в браузере. Это проблема, вызванная этим диалоговым окном. Я искал общие решения в Интернете, но объем поиска был относительно небольшим. Теперь я подведу итог здесь.
использование системы;
использование System.Data;
использование System.Configuration;
использование System.Web;
использование System.Web.Security;
использование System.Web.UI;
использование System.Web.UI.WebControls;
использование System.Web.UI.WebControls.WebParts;
использование System.Web.UI.HtmlControls;
использование System.Net;
использование System.IO;
использование System.Text;
использование System.Net.Security;
использование System.Security.Authentication;
использование System.Security.Cryptography.X509Certificates
общедоступного частичного класса _Default: System.Web.UI.Page;
{
protected void Page_Load (отправитель объекта, EventArgs e)
{
//для версии 1.1 ServicePointManager.CertificatePolicy устарел в версии 2.0
//ServicePointManager.CertificatePolicy = новый AcceptAllCertificatePolicy();
//для 2.0
//ServicePointManager.ServerCertificateValidationCallback = новый System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
Запрос HttpWebRequest = (HttpWebRequest)WebRequest.Create(" https://someurl ");
запрос.Метод = "ПОЛУЧИТЬ";
Ответ HttpWebResponse = (HttpWebResponse)request.GetResponse();
Поток полученияПоток = ответ.GetResponseStream();
StreamReader readStream = новый StreamReader (receiveStream, Encoding.UTF8);
Page.Response.Write(readStream.ReadToEnd());
ответ.Закрыть();
readStream.Close();
}
//для 2.0
public bool CheckValidationResult (отправитель объекта, сертификат X509Certificate, цепочка X509Chain, ошибки SslPolicyErrors)
{ // Всегда принимать
вернуть истину;
}
//для 1.1
внутренний класс AcceptAllCertificatePolicy: ICertificatePolicy
{
общественный AcceptAllCertificatePolicy()
{
}
Public bool CheckValidationResult (ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest wRequest, int certProb)
{
//Всегда принимать
вернуть истину;
}
}
}
http://www.cnblogs.com/david8k/archive/2006/11/06/551911.html