Я пытаюсь скомпилировать и запустить пример с libest (клиент-простой). Для этого я скомпилировал OpenSSL на окнах, а затем скомпилировал и связал libest с этим.OpenSSL 1.0.2 и ошибка «SSL_CTX_new: библиотека не имеет шифров»
Проблема заключается в том, что, когда я запускаю программу, я получаю error:140A90A1:SSL routines:SSL_CTX_new:library has no ciphers
:
Глядя на код в отладчике, я могу подтвердить, что OPENSSL_add_all_algorithms_noconf
вызывается, а также:
ERR_load_crypto_strings()
ENGINE_load_builtin_engines();
SSL_library_init();
SSL_load_error_strings();
Что может отсутствовать/должны быть настроены, чтобы OpenSSL найти шифры? Если я запустил openSSL.exe
, который я создал в то же время, что и .lib и .dll для openSSL, он перечисляет много шифров.
Фактический вызов, вызывающий ошибку, составляет SSL_CTX_new(SSLv23_client_method()))
. Но это не изменится, если я изменю клиентский метод.
Почему я столкнулся с ошибкой и как ее исправить?
Я не уверен насчет порядка вызовов, которые вы указали. См. Также [Инициализация библиотеки] (https://wiki.openssl.org/index.php/Library_Initialization) в вики OpenSSL. – jww