2017-06-14 11 views
0

を返し、私は問題を抱えているMacOSの上EVP_get_cipherbynameを呼び出すとき:上記のコードでがEVP_get_cipherbynameは常にnull

const char *cipher_str = "aes-256-cbc"; 
const evp_cipher_st *cipher1 = EVP_aes_256_cbc(); 
const evp_cipher_st *cipher2 = EVP_get_cipherbyname(cipher_str); 

cipher1は常に有効なevp_cipher_st *オブジェクトに設定され、cipher2は常にnullになります。私は、cipher2を生成しないcipher_strのインスタンスを見つけませんでした。

何か間違っていますか?これを動作させるために何か別の呼び出しがありますか?

+0

2つの異なる言語のタグをスパムする理由は何ですか? – Olaf

答えて

3

まず、OpenSSLライブラリを初期化する必要があります。あなただけlibcryptoの使用している場合は、 コール:

OpenSSL_add_all_algorithms(); 

は、他の状況やopensslのバージョンを処理する方法のためhttps://wiki.openssl.org/index.php/Library_Initializationを参照してください。