libest(client-simple)の例をコンパイルして実行しようとしています。そのために、私はWindows上でOpenSSLをコンパイルし、コンパイルしてlibestにリンクしました。だけでなく、OpenSSL 1.0.2とエラー "SSL_CTX_new:ライブラリに暗号がありません"
デバッガのコードを見ると、私はOPENSSL_add_all_algorithms_noconf
が呼び出されることを確認することができます:
問題は、私がプログラムを実行すると、私はerror:140A90A1:SSL routines:SSL_CTX_new:library has no ciphers
が得るということです
ERR_load_crypto_strings()
ENGINE_load_builtin_engines();
SSL_library_init();
不足している可能性がありますどのようSSL_load_error_strings();
/OpenSSLは暗号スイートを見つけることができるように設定する必要がありますか? openSSLの.libと.dllと同時にビルドしたopenSSL.exe
を実行すると、多くの多くの暗号がリストされます。
エラーの原因となっている実際の呼び出しはSSL_CTX_new(SSLv23_client_method()))
です。しかし、クライアントメソッドを変更しても変更されません。
エラーが発生したのはなぜですか。どのように修正できますか?
あなたがリストした通話の順序についてはわかりません。 OpenSSL wikiの[Library Initialization](https://wiki.openssl.org/index.php/Library_Initialization)も参照してください。 – jww