এসএসএল রুটিনগুলি: SSL23_WRITE: এসএসএল হ্যান্ডশেক ব্যর্থ


32

আমি কোনও এসএসএল সার্ভারের সাথে সংযোগ রাখতে ওপেনএসএসএল ব্যবহার করার চেষ্টা করছি।

আমি যখন চালাচ্ছি:

openssl s_client -connect myhost.com:443

নিম্নলিখিত এসএসএল ক্লায়েন্ট কনফিগারেশন ঠিক ঠিক কাজ করে:

  • উইন্ডোজ ( OpenSSL 0.9.83e 23 Feb 2007)
  • লিনাক্স ( OpenSSL 0.9.8o 01 Jun 2010)
  • লিনাক্স ( OpenSSL 1.0.0-fips 29 Mar 2010)

যে কোনও সফল সংযোগ থেকে আউটপুট দেখতে এই রকম দেখাচ্ছে:

New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DES-CBC3-SHA
    Session-ID: (hidden)
    Session-ID-ctx:
    Master-Key: (hidden)
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1337266099
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

তবে, আমি যখন আমার উবুন্টু 12.04 (ডাব্লু / OpenSSL 1.0.1 14 Mar 2012) দিয়ে ক্লায়েন্ট ব্যবহার করি তখন আমি ত্রুটি পাই:

CONNECTED(00000003)
...:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:

আমি কীভাবে এটি সমাধানে এগিয়ে যেতে পারি?

সমস্ত টিপস অনেক প্রশংসা করা হয়!


উইন্ডোজ থেকে সংযোগ স্থাপন করার সময় কোন প্রোটোকল এবং সাইফার ব্যবহার করা হয়?
শেন ম্যাডেন

এরা বলছে: New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA। ইচ্ছে করে আমি বুঝতে পারলাম এটার মানে কী! :)
যাককো 16'12

DES? এটি সর্বোচ্চ অগ্রাধিকার পাওয়ার জন্য একটি বিজোড় সাইফার। আপনি কোন ধরনের সার্ভারের সাথে সংযোগ করছেন?
শেন ম্যাডেন

1
সম্ভবত নতুন ওপেনসেলের ডিফল্টগুলি ডিফল্টরূপে পুরানো এসএসএল প্রোটোকল সংস্করণগুলিকে সীমাবদ্ধ করে? সাম্প্রতিক সেরা
জগাখিচির

1
ডিওহ, বুঝেছি। আপনি আপনার সাইটের বিরুদ্ধে ক্লায়েন্ট পরীক্ষা করছেন।
ব্রেন্ট

উত্তর:


28

এটি উবুন্টুর 1.0.1 ওপেনএসএসএল-এর সাথে একটি পরিচিত সমস্যা বলে মনে হচ্ছে: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371

এটি কোনও ফিক্স উপলভ্য বলে মনে হচ্ছে না। সম্ভব হলে আপনি 1.0.0 এ ডাউনগ্রেড করতে পারেন।

চেষ্টা openssl s_client -tls1 -connect myhost.com:443



পিএস আমি আপনাকে অনুগ্রহটি দিব যখন এটি শেষ হবে (19 ঘন্টা)
যাককো

1
ভাল লাগছে :) তথ্যের চূড়ান্ত টুকরো, ওপেনএসএসএল দিয়ে আপস্ট্রিম টিকিট যা ইস্যুর মূল কারণ বলে মনে হচ্ছে: rt.openssl.org/Ticket/…
ব্রেন্ট

ধন্যবাদ! এই উত্তরটি ম্যাকে ওপেনএসএসএল 0.9.8zh 14 জানুয়ারী 2016 এর জন্যও কাজ করে
tytk

4

এই ত্রুটিটি ওপেনসেলের কোনও পুরানো সংস্করণের কারণে ঘটতে পারে যখন এটি সাইফারের সাথে পুনরায় আলোচনা করতে না পারে (আমি উপবৃত্তাকার বক্ররেখা ব্যবহার করে স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করেছি)।

বিশেষত, আমি ম্যাকওএসে একই ত্রুটিটি ডিফল্ট ওপেনসেল - ০.৯.৮ রিজ সহ পাচ্ছিলাম

ব্রু সংস্করণ ওপেনএসএসএল 1.0.2f ইনস্টল করার পরে ত্রুটিটি চলে গেছে:

~/bin/openssl s_client -connect localhost:45678 | grep Cipher

verify return:1
New, TLSv1/SSLv3, Cipher is ECDHE-ECDSA-AES256-GCM-SHA384
    Cipher    : ECDHE-ECDSA-AES256-GCM-SHA384

ব্রিউ ইনস্টল করার পরে, / usr / bin / openssl এ আমার ওপেনসেল সংস্করণটি ছিল পুরানো সংস্করণ।
ওপেনসেলের

2

যদি আপনি এই সমস্যাটি ওপেনজেডিকে চালিত জাভা এইচটিটিপিএস সার্ভারের সাথে পেয়ে থাকেন /etc/java-7-openjdk/security/java.securityতবে লাইনটি সম্পাদনা এবং মন্তব্য করার চেষ্টা করুন

security.provider.10=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg

ক্রিস্টোফ ডাব্লু দ্বারা আবিষ্কার করা ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.