2011-10-26 35 views
5

Uygulamamda kendinden imzalı sertifikalara sahip sunuculara istekte bulunmam gereken durumlar var. Sertifika doğrulamayı yalnızca söz konusu istek için devre dışı bırakabilmek istiyorum.Tek bir istek için sertifika doğrulamayı devre dışı bırakma

Ben bir geri arama yöntemine işaret ve sadece gerçek dönmek için ServicePointManager.ServerCertificateValidationCallback ayarlayarak sertifika geçerli hale getirmesi devre dışı bırakabilir biliyorum. Ancak bu, daha sonra app.config dosyasında ayarlayarak yapabileceğim tüm uygulama için sertifika doğrulamayı devre dışı bırakır.

Ancak, tüm uygulama için devre dışı bırakmak istemiyorum, bunun yerine bireysel istek için devre dışı bırakıyorum. Mümkün mü?

ile çalışıyorum sınıfı sertifika doğrulama genellikle kötü bir fikir devre dışı bırakılması SmtpClient

cevap

0

olduğunu. Neden özel sertifikanızı sistemde veya uygulamanızda güvenilen sertifika olarak eklemiyorsunuz?

AFAIR, bu örn. Kendi X509CertificateValidator'u uygulayarak. Özel sertifikayı uygulamanıza katıştırın ve her ikisi de eşitse X509CertificateValidator'da karşılaştırın.

Ayrıca bakınız: How safe is my custom SSL verification logic to handle excepted RemoteCertificateNameMismatch?

+0

Robert thaks yanıt için. Başvurumuzun bazı bölümlerinde, bir sertifikanın geçerli olmaması durumunda izin vermek istemiyoruz. Ancak, e-posta gönderdiğimiz bu özel durumda, SSL kullanmak istiyoruz, ancak birçok müşterinin e-postayı gönderememesiyle sonuçlanan SSL sertifikalarını kendileri imzalamış olduklarını görüyoruz. Ne yazık ki bu çoğu zaman SMTP sunucuları için geçerlidir ve SMTP'nin hala uygulamamız için sertifika başarısızlıklarını ve başvurumuzun diğer bölümlerini kabul etme yeteneğine izin vermek için başarısız olan her smtp sunucusu için bir sertifikayı almak bir kabus olurdu. –

+0

O zaman, aynı sorunu olan Android "K9" Mail-Client'da da kullanılan doğrulama şemasını kullanmalısınız. Güvenilmeyen bir sertifika ile ilk kez karşılaştığı zaman, bazı sertifika ayrıntılarını kullanıcıya bu sertifikaya güvenip güvenmediğini soruyor. Eğer kullanıcı AFAIR cevabını veriyorsa, sertifika sertifikasını bu sertifikayı geçerli olarak işaretleyen ayarlar dosyasına kaydeder. Dahili sertifika doğrulayıcı, daha sonra tüm düzenli sertifikaları artı kaydedilmiş karma ile birlikte kabul eder. Herkes için çalışıyor ve hala nispeten güvenli. – Robert

+0

Ne yazık ki bu bir hizmettir, dolayısıyla bir kullanıcı ara yüzü yoktur ve böylece bir kullanıcının sertifikayı kabul etmek için tıklayabileceği herhangi bir iletişim kutusu yoktur. –