Saya mengalami kesalahan debugging ini ketika membuat permintaan https di proyek saya hari ini. Kesalahan internal: Gagal membangun hubungan kepercayaan untuk saluran aman SSL/TLS. Halaman kesalahan: Sertifikat jarak jauh tidak valid menurut proses verifikasi. Setelah analisis, konfirmasi keamanan diperlukan saat membuka di browser. Ini adalah masalah yang disebabkan oleh kotak dialog ini. Saya mencari solusi umum di Internet, tetapi konten pencariannya relatif kecil. Sekarang saya akan merangkumnya di sini.
menggunakan Sistem;
menggunakan Sistem.Data;
menggunakan Sistem.Konfigurasi;
menggunakan Sistem.Web;
menggunakan Sistem.Web.Keamanan;
menggunakan Sistem.Web.UI;
menggunakan Sistem.Web.UI.WebControls;
menggunakan System.Web.UI.WebControls.WebParts;
menggunakan Sistem.Web.UI.HtmlControls;
menggunakan System.Net;
menggunakan Sistem.IO;
menggunakan Sistem.Teks;
menggunakan System.Net.Keamanan;
menggunakan Sistem.Keamanan.Otentikasi;
menggunakan System.Security.Cryptography.X509Certificates;
kelas parsial publik _Default : System.Web.UI.Page
{
dilindungi kekosongan Page_Load (pengirim objek, EventArgs e)
{
//untuk 1.1 ServicePointManager.CertificatePolicy sudah usang di versi 2.0
//ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
//untuk 2.0
//ServicePointManager.ServerCertificateValidationCallback = System.Net.Security.RemoteCertificateValidationCallback baru (CheckValidationResult);
Permintaan HttpWebRequest = (HttpWebRequest)WebRequest.Create(" https://someurl ");
permintaan.Metode = "DAPATKAN";
Respons HttpWebResponse = (HttpWebResponse)permintaan.GetResponse();
Aliran menerimaStream = respon.GetResponseStream();
StreamReader readStream = StreamReader baru(receiveStream, Encoding.UTF8);
Halaman.Respon.Tulis(readStream.ReadToEnd());
respon.Tutup();
readStream.Tutup();
}
//untuk 2.0
public bool CheckValidationResult (pengirim objek, sertifikat X509Certificate, rantai X509Chain, kesalahan SslPolicyErrors)
{ // Selalu terima
kembali benar;
}
//untuk 1.1
kelas internal AcceptAllCertificatePolicy : ICertificatePolicy
{
Kebijakan AcceptAllCertificate publik()
{
}
public bool CheckValidationResult(ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest wRequest, int certProb)
{
//Selalu terima
kembali benar;
}
}
}
http://www.cnblogs.com/david8k/archive/2006/11/06/551911.html