Вопрос по linux, c, openssl, ssl – OpenSSL: невозможно создать SSL_CTX * с использованием SSL_CTX_new ()

10

Следуя инструкциям настраница Я пытаюсь использовать openSSL для безопасного подключения клиента / сервера.

Я не могу создать SSL_CTX следующим образом:

<code> /* 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());

       .....
  }
</code>

Ссылка ctx всегда оказывается NULL. Может кто-нибудь сказать, пожалуйста, какой шаг мне не хватает?

Благодарю.

Update

При проверке ошибки сообщение было

<code> Error: library has no ciphers
</code>

Ваш Ответ

1   ответ
16

SSL_library_init();

Решение найдено по адресу:Вот

Также обратите внимание, что вы можете иметь эту же ошибку, если вы используете неправильный аргументSSL_CTX_new(), Я нашел код, который использовалSSLv2_client_method(), Он скомпилирован и запущен, но получает NULLctx значение.

Похожие вопросы