EVP_get_cipherbyname始终返回null

时间:2017-06-14 10:48:08

标签: c macos openssl macos-sierra

在macOS上调用myhost_lb时遇到问题:

hostvars['myhost_ws']

在上面的代码中,EVP_get_cipherbyname将始终设置为有效的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将始终为null。我还没有发现evp_cipher_st *的单个实例产生非空cipher2

我做错了吗?是否还有其他一些要求让它发挥作用的电话?

1 个答案:

答案 0 :(得分:3)

您需要先初始化OpenSSL库。如果你只是使用libcrypto, 拨打:

OpenSSL_add_all_algorithms();

有关如何处理其他情况或openssl版本,请参阅https://wiki.openssl.org/index.php/Library_Initialization