ما هي أفضل طريقة للتعامل مع عدم التحقق من صحة شهادات SSL في C#

StackOverflow https://stackoverflow.com/questions/129544

  •  02-07-2019
  •  | 
  •  

سؤال

أنا باستخدام التعليمات البرمجية التالية للتأكد من أن جميع الشهادات تمر ، حتى غير الصالح منها ، ولكن أود أن أعرف إذا كان هناك طريقة أفضل ، كما أن هذا الحدث يحصل يسمى عالميا و أنا فقط أريد شهادة لتمرير بعض HTTP الدعوة وليس لأي الآخرين التي تحدث بشكل غير متزامن.

// This delegate makes sure that non-validating SSL certificates are passed
ServicePointManager.ServerCertificateValidationCallback = delegate(object certsender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
   return true;
};

رمز أعلاه هو مجرد مثال على تجاهل أي عدم المصادقة على الشهادة.المشكلة التي لدي هي أن العالمية هذا الحدث.أنا لا أرى أي الدورة الحدث يحدث.قد يكون الزوجان من طلبات http التي يمر وأريد أن تسأل المستخدم عن العمل لكل طلب.

هل كانت مفيدة؟

المحلول

ماذا عن certsender الحجة ؟ أنها لا تحتوي على أي شيء معقول بحيث يمكنك معرفة اتصال رد يحدث ؟ راجعت .NET API لكنه لا يقول ما حجة من المفترض أن تحتوي على...

نصائح أخرى

حسنا هل يمكن فعلا أن يكلف نفسه عناء التحقق من بعض من تلك المعايير.;) على سبيل المثال ، إذا كان لديك شهادة الذاتي وقعت ، ثم السماح فقط الخطأ == SslPolicyErrors.RemoteCertificateChainError خلال.يمكنك أيضا التحقق من المصدر, اسم, الخ.على الشهادة نفسها لمزيد من الأمان.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top