PJSIP构建没有找到OpenSSL AES GCM支持

时间:2017-04-24 23:51:12

标签: ubuntu openssl pjsip aes-gcm

当我尝试在Lubuntu 16.04 x86_64上构建PJSIP 2.6时,即使我安装了OpenSSL,它也找不到AES GCM支持。

./configure | grep -e ssl -e SSL -e crypto 
checking for OpenSSL installations..
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking for ERR_load_BIO_strings in -lcrypto... yes
checking for SSL_CTX_new in -lssl... yes
OpenSSL library found, SSL support enabled
OpenSSL AES GCM support not found, SRTP will only support AES CM cryptos

我也尝试构建一个单独版本的OpenSSL(1.1.0e),行为就是simillar。如何启用AES GCM支持?

1 个答案:

答案 0 :(得分:1)

解决了我的问题是手动编译openssl-1.0.2k。我不知道为什么ubuntu默认(1.0.2g)不起作用,但“k”设法工作。 1.1.0版本无效,因为AES GCM将使用以下代码进行测试:

#include <openssl/evp.h>
int main () {
    EVP_CIPHER_CTX ctx;
    EVP_aes_128_gcm();
    return 0;
}

而Ubuntu实现和OpenSSL 1.1.0&gt;期望EVP_CIPHER_CTX个变量被声明为指针(或者可能是初始化的?)。两个版本都会破坏,配置会将其理解为不支持密码。改变测试也不会起作用,因为它是如何在内部实现的。