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

Jak*_*ake 10 c linux ssl openssl

按照页面上的说明,我尝试使用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());

       .....
  }
Run Code Online (Sandbox Code Playgroud)

ctx引用总是为NULL.任何人都可以告诉我错过了哪一步?

谢谢.

更新

在检查错误时,消息是

 Error: library has no ciphers
Run Code Online (Sandbox Code Playgroud)

Jak*_*ake 16

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

SSL_library_init();
Run Code Online (Sandbox Code Playgroud)

解决方案发现于:这里