2011-06-24 20 views
5

मुझे एसएसएल प्रोटोकॉल के माध्यम से सर्वर से कनेक्ट कॉन्फ़िगर करने की आवश्यकता है। मुझे सर्वर मालिकों 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 (ठीक) क्या है? हैंडशेक त्रुटि/चेतावनी कब होती है तो यह कैसे संभव है?

उत्तर

4

आपको सर्वर से हैंडशेक विफलता अलर्ट प्राप्त हो रहा है, जिसका अर्थ है कि कुछ अन्य त्रुटि हो रही है, यह प्रमाण पत्र सत्यापन विफल नहीं है। असफल होने के बारे में सुराग के लिए आपको सर्वर साइड लॉग देखना चाहिए।

+2

जांचें कि समर्थित सिफर जो सर्वर लागू करता है वह क्लाइंट जो कनेक्ट करने का प्रयास कर रहा है उससे मेल खाता है। यदि आप एक सिफर से कनेक्ट करने का प्रयास करते हैं तो आप यह त्रुटि प्राप्त कर सकते हैं कि वेब सर्वर कॉन्फ़िगरेशन समर्थित नहीं है - यह अंतर्निहित सर्वर पक्ष openssl वितरण के कारण हो सकता है उदाहरण के लिए –