SORU
11 ŞUBAT 2009, ÇARŞAMBA


Professional (Service HTTPS Konular

Şu anda bir sistem 3. bir parti tarafından oluşturulan bütünleştiriyorum. Bu sistem bana bir istek XML/HTTPS kullanarak göndermek için gerektirir. 3. parti benim sertifika göndermek ve onu kurdum

Aşağıdaki kodu kullanıyorum:

using (WebClient client = new WebClient())
{
   client.Headers.Add(HttpRequestHeader.ContentType, "text/xml");

   System.Text.ASCIIEncoding  encoding=new System.Text.ASCIIEncoding();
   var response = client.UploadData(address, "POST", encoding.GetBytes(msg));
}

Bu kod aşağıdaki WebException verir:

Temel alınan bağlantı kapatıldı: SSL/TLS güvenli kanal için güven ilişkisi. kuramadı

GÜNCELLEMEKarşı çalışıyorum test sunucusu, sertifika güvenilir değil ve doğrulama başarısız... test/hata ayıklama ortamında bu atlamak çünkü, ServerCertificateValidationCallback bir yeni oluştur

ServicePointManager.ServerCertificateValidationCallback  = new System.Net.Security.RemoteCertificateValidationCallback(bypassAllCertificateStuff);

ve işte benim "" geri . sahte

private static bool bypassAllCertificateStuff(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
   return true;
}

Daha 10 ** here okuyun

CEVAP
3 NİSAN 2011, Pazar


Tüm sertifikaları izin vermek için kodu en kısa nottur aslında

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

Ve iyi çalışıyor bu hata için. Tabii eğer iletişimi güvenli Eğer gerçekten sertifikayı kontrol eder ve sertifikanın bilgilere dayanarak karar veren bir uygulama sağlaması gerektiğini söyleyecek. Test amaçlı, yukarıdaki kod satırını kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • Phandroid

    Phandroid

    26 Ocak 2009
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011