Dieser Debugging-Fehler ist heute bei der Erstellung von HTTPS-Anfragen in meinem Projekt aufgetreten. Interner Fehler: Es konnte keine Vertrauensbeziehung für den sicheren SSL/TLS-Kanal hergestellt werden. Fehlerseite: Das Remote-Zertifikat ist laut Überprüfungsprozess ungültig. Nach der Analyse ist beim Öffnen in einem Browser eine Sicherheitsbestätigung erforderlich. Dies ist das Problem, das durch dieses Dialogfeld verursacht wird. Ich habe im Internet nach allgemeinen Lösungen gesucht, aber der Suchinhalt war relativ gering. Jetzt werde ich ihn hier zusammenfassen.
Verwenden des Systems;
Verwenden von System.Data;
Verwenden von System.Configuration;
mit System.Web;
mit System.Web.Security;
mit System.Web.UI;
mit System.Web.UI.WebControls;
mit System.Web.UI.WebControls.WebParts;
mit System.Web.UI.HtmlControls;
mit System.Net;
mit System.IO;
Verwenden von System.Text;
mit System.Net.Security;
mit System.Security.Authentication;
unter Verwendung von System.Security.Cryptography.X509Certificates;
öffentliche Teilklasse _Default: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//für 1.1 ServicePointManager.CertificatePolicy ist unter 2.0 veraltet
//ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
//für 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();
StreamempfangenStream = Response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Page.Response.Write(readStream.ReadToEnd());
Antwort.Close();
readStream.Close();
}
//für 2.0
public bool CheckValidationResult(Objektsender, X509Certificate-Zertifikat, X509Chain-Kette, SslPolicyErrors-Fehler)
{ // Immer akzeptieren
return true;
}
//für 1.1
interne Klasse AcceptAllCertificatePolicy: ICertificatePolicy
{
public AcceptAllCertificatePolicy()
{
}
public bool CheckValidationResult(ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest wRequest, int certProb)
{
//Immer akzeptieren
return true;
}
}
}
http://www.cnblogs.com/david8k/archive/2006/11/06/551911.html