2012-04-15 13 views
10

निर्देशों का पालन का उपयोग कर बनाने में असमर्थ है, मैं सुरक्षित तरीके से क्लाइंट/सर्वर से कनेक्ट करने के openssl उपयोग करने के लिए कोशिश कर रहा हूँ।OpenSSL: <a href="http://www.ibm.com/developerworks/linux/library/l-openssl/index.html" rel="noreferrer">page</a> पर SSL_CTX * SSL_CTX_new()

/* OpenSSL headers */ 

#include "openssl/bio.h" 
#include "openssl/ssl.h" 
#include "openssl/err.h" 

int main() 
{ 

     /* Initializing OpenSSL */ 

     SSL_load_error_strings(); 
     ERR_load_BIO_strings(); 
     OpenSSL_add_all_algorithms(); 

     SSL_CTX * ctx = SSL_CTX_new(SSLv23_client_method()); 

     ..... 
    } 

ctx संदर्भ हमेशा पता चला है शून्य होने के लिए:

मैं SSL_CTX बनाने में सक्षम इस प्रकार नहीं कर रहा हूँ। क्या कोई बता सकता है कि मुझे कौन सा कदम गुम है?

धन्यवाद। पर पाया

SSL_library_init(); 

समाधान::

अद्यतन

त्रुटि जाँच पर, संदेश

Error: library has no ciphers 

उत्तर

15

मैं मुख्य() फ़ंक्शन के शुरू में निम्नलिखित कॉल का इस्तेमाल किया था here

+1

यह भी ध्यान रखें कि आप यह प्राप्त कर सकते हैं यदि आप गलत तर्क का उपयोग 'SSL_CTX_new()' में करते हैं तो वही त्रुटि। मुझे कुछ कोड मिला जो 'SSLv2_client_method() 'का उपयोग करता था। यह संकलित और भाग गया, लेकिन एक पूर्ण 'ctx' मूल्य प्राप्त हो रहा था। – kmort