मुझे एसएसएल प्रोटोकॉल के माध्यम से सर्वर से कनेक्ट कॉन्फ़िगर करने की आवश्यकता है। मुझे सर्वर मालिकों 2 फाइलों से मिला - सीए रूट प्रमाणपत्र (ca.pem) और परीक्षण प्रमाण पत्र अनुरोध (test.csr फ़ाइल)।एसएसएल मुसीबत (openssl)
मैं openssl s_connect उपयोगिता के माध्यम से कनेक्ट परीक्षण करने के लिए कोशिश करते हैं और मैं अजीब परिणाम दे (xxx - नकाबपोश मान) हूँ:
openssl s_client -connect MYURL -CAfile ca.pem
CONNECTED(00000003)
xxx verify return:1
xxx verify return:1
3074332296:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1193:SSL alert number 40
3074332296:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
लेकिन, हाथ मिलाना सतर्क और प्रिंट प्रमाण पत्र डेटा के बाद मैं देखें:
SSL handshake has read yyy bytes and written yyy bytes
New, xxx, Cipher is xxx
Server public key is xxx bit
Compression: xxx
Expansion: xxx
SSL-Session:
Protocol : xxx
Cipher : xxx
Session-ID:
Session-ID-ctx:
Master-Key: xxx
Key-Arg : xxx
PSK identity: xxx
PSK identity hint: xxx
Compression: xxx
Start Time: xxx
Timeout : xxx (sec)
Verify return code: 0 (ok)
की क्या वापसी कोड को सत्यापित मतलब 0 (ठीक) क्या है? हैंडशेक त्रुटि/चेतावनी कब होती है तो यह कैसे संभव है?
जांचें कि समर्थित सिफर जो सर्वर लागू करता है वह क्लाइंट जो कनेक्ट करने का प्रयास कर रहा है उससे मेल खाता है। यदि आप एक सिफर से कनेक्ट करने का प्रयास करते हैं तो आप यह त्रुटि प्राप्त कर सकते हैं कि वेब सर्वर कॉन्फ़िगरेशन समर्थित नहीं है - यह अंतर्निहित सर्वर पक्ष openssl वितरण के कारण हो सकता है उदाहरण के लिए –