Сборка PJSIP не находит поддержку OpenSSL AES GCM

Когда я пытаюсь собрать PJSIP 2.6 на Lubuntu 16.04 x86_64, он не находит поддержки AES GCM, хотя у меня установлен OpenSSL.

./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), и поведение было аналогичным. Как включить поддержку AES GCM?


person Gabriel Vasconcelos    schedule 24.04.2017    source источник
comment
OpenSSL 1.1.0, безусловно, имеет механизмы AES и GCM. Возможно, PJSIP нужно использовать линию OpenSSL 1.0.0; не линия OpenSSL 1.1.0. Многие библиотеки до сих пор не обновлены для OpenSSL 1.1.0. Вероятно, вам следует отправить отчет об ошибке в PJSIP. Вы также можете сослаться на эту страницу OpenSSL, чтобы помочь в переносе на 1.1.0: OpenSSL 1.1. 0 Изменения на вики.   -  person jww    schedule 26.04.2017
comment
@jww Я тоже так думал. Сделаю отчет, спасибо!   -  person Gabriel Vasconcelos    schedule 26.04.2017


Ответы (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> ожидают, что EVP_CIPHER_CTX переменные будут объявлены как указатель (или, возможно, инициализированы?). Обе сборки сломаются, и конфигуратор воспримет это как отсутствие поддержки шифра. Изменение теста тоже не сработает, потому что так оно было реализовано внутри.

person Gabriel Vasconcelos    schedule 25.04.2017