سؤال

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

ومع ذلك ، wget (حتى عند استخدام --no-check-certificate العلم) التقارير:

OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

إذا كنت تشغيل بينسل العميل على الملقم باستخدام:

openssl s_client -connect dnvista:82 -debug

أعود:التحقق من الخطأ:num=19:النفس شهادة موقعة في سلسلة شهادات تحقق من العودة:0 ثم

5852:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:.\ssl\s3_pkt.c:1060:SSL alert number 40
5852:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:.\ssl\s23_lib.c:188:

هل wget و OpenSSL العميل ببساطة لا تعمل مع الشهادات الموقعة ذاتيا?

تحديث:

على أي شخص أن يأتي في وقت لاحق ، إضافة هذا الرمز ساعد في بينسل العميل فايرفوكس:

EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
SSL_CTX_set_tmp_ecdh(ctx, ecdh);
EC_KEY_free(ecdh);
هل كانت مفيدة؟

المحلول

راجعت الصفحة رجل من wget, ، --no-check-certificate يبدو فقط أن تؤثر على شهادة الخادم.تحتاج إلى تحديد شهادة موقعة ذاتيا صالح شهادة CA محليا.

للقيام بذلك حدد الشهادة كما --ca-certificate=... في wget و -CAfile في s_client القضية.

نصائح أخرى

يمكنك أيضا تثبيت مصدق جذر موثوق به شهادات في بينسل في عدد من الطرق:

  • وضع الخاص بك شهادة CA في /etc/pki/tls/موتس أو ما يعادلها الدليل ، ثم إنشاء ارتباط على أساس تجزئة الشهادة.انظر http://gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl للحصول على التفاصيل.
  • إلحاق الخاص بك شهادة CA /etc/pki/tls/للبنات/ca-حزمة.crt /etc/pki/tls/cert.بيم ، أو ما يعادل CA حزمة.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top