OpenSSL:无法使用SSL_CTX_new()创建SSL_CTX *

时间:2012-04-15 16:45:07

标签: c linux ssl openssl

按照page上的说明,我尝试使用openSSL以安全的方式连接客户端/服务器。

我无法按如下方式创建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

1 个答案:

答案 0 :(得分:16)

我在main()函数的开头使用了以下调用:

SSL_library_init();

here

找到解决方案