2012-04-15 13 views
10

pageの指示に従って、openSSLを使用してクライアント/サーバーを安全に接続しようとしています。OpenSSL:SSL_CTX_new()を使用してSSL_CTX *を作成できません

次のように私はSSL_CTXを作成することはできませんよ。

/* 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の参照は常にNULLであることが判明しました。誰かが私の足跡を教えてください。

ありがとうございました。

更新

エラーをチェックするには、メッセージが

Error: library has no ciphers 

答えて

15

だった私は、main()関数の先頭に次の呼び出しを使用:here:で発見

SSL_library_init(); 

ソリューション

+1

また、 'SSL_CTX_new()'に間違った引数を使用すると同じエラーが発生します。 'SSLv2_client_method()'を使ったコードが見つかりました。コンパイルして実行しましたが、NULLの 'ctx'値を取得していました。 – kmort

関連する問題