2017-04-24 4 views
2

Lorsque j'essaie de construire PJSIP 2.6 sur Lubuntu 16.04 x86_64, il ne trouve pas de support AES GCM, même si OpenSSL est installé. J'ai également essayé de construire une version séparée de OpenSSL (1.1.0e) et le comportement est simillar. Comment puis-je activer le support AES GCM?La construction de PJSIP ne trouve pas OpenSSL AES GCM support

+1

Peut-être que PJSIP doit utiliser la ligne OpenSSL 1.0.0; pas la ligne OpenSSL 1.1.0. De nombreuses bibliothèques n'ont toujours pas été mises à jour pour OpenSSL 1.1.0. Vous devriez probablement déposer un rapport de bug avec PJSIP. Vous pouvez également citer cette page d'OpenSSL pour aider au portage vers 1.1.0: [Changements OpenSSL 1.1.0] (https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes) sur le wiki. – jww

+0

@jww Je pensais aussi que. Will déposer un rapport, merci! –

Répondre

1

Ce qui m'a permis de résoudre le problème était de compiler manuellement openssl-1.0.2k. Je ne sais pas pourquoi Ubuntu par défaut (1.0.2g) ne fonctionnerait pas, mais le "k" a réussi à fonctionner. La version 1.1.0 ne fonctionne pas parce que l'AES GCM serait testé avec le code suivant:

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

Alors que la mise en œuvre à la fois Ubuntu et OpenSSL 1.1.0> attendre EVP_CIPHER_CTX variables à être déclarées comme un pointeur (ou peut-être initialisé?). Les deux builds se casseraient et le configure le comprendrait comme n'étant pas supporté par le chiffrement. Changer le test ne fonctionnerait pas non plus parce que c'est ainsi que cela a été implémenté en interne. OpenSSL 1.1.0 a certainement les engrenages AES et GCM.