J'ai rencontré cette erreur de débogage lors de l'exécution de requêtes https dans mon projet aujourd'hui. Erreur interne : échec de l'établissement d'une relation de confiance pour le canal sécurisé SSL/TLS. Page d'erreur : Le certificat distant n'est pas valide selon le processus de vérification. Après analyse, une confirmation de sécurité est requise lors de l'ouverture dans un navigateur. C'est le problème causé par cette boîte de dialogue. J'ai recherché des solutions générales sur Internet, mais le contenu de la recherche était relativement restreint. Je vais maintenant le résumer ici.
utiliser le système ;
en utilisant System.Data ;
en utilisant System.Configuration ;
en utilisant System.Web ;
en utilisant System.Web.Security ;
en utilisant System.Web.UI ;
en utilisant System.Web.UI.WebControls ;
en utilisant System.Web.UI.WebControls.WebParts ;
en utilisant System.Web.UI.HtmlControls ;
en utilisant System.Net ;
en utilisant System.IO ;
en utilisant System.Text ;
en utilisant System.Net.Security ;
en utilisant System.Security.Authentication ;
en utilisant System.Security.Cryptography.X509Certificates ;
classe partielle publique _Default : System.Web.UI.Page
{
protected void Page_Load (expéditeur de l'objet, EventArgs e)
{
//pour 1.1 ServicePointManager.CertificatePolicy est obsolète sous 2.0
//ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
//pour 2.0
//ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
Requête HttpWebRequest = (HttpWebRequest)WebRequest.Create(" https://someurl ");
request.Method = "GET";
Réponse HttpWebResponse = (HttpWebResponse)request.GetResponse();
Flux recevoirStream = réponse.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Page.Response.Write(readStream.ReadToEnd());
réponse.Close();
readStream.Close();
}
//pour 2.0
public bool CheckValidationResult (expéditeur d'objet, certificat X509Certificate, chaîne X509Chain, erreurs SslPolicyErrors)
{ // Toujours accepter
renvoie vrai ;
}
//pour 1.1
classe interne AcceptAllCertificatePolicy : ICertificatePolicy
{
public AcceptAllCertificatePolicy()
{
}
public bool CheckValidationResult (ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest wRequest, int certProb)
{
//Toujours accepter
renvoie vrai ;
}
}
}
http://www.cnblogs.com/david8k/archive/2006/11/06/551911.html