Opened 8 years ago

Last modified 8 years ago

#1943 closed enhancement

AES-GCM crypto support for SRTP — at Initial Version

Reported by: ming Owned by: nanang
Priority: normal Milestone: release-2.6
Component: pjmedia Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description

Currently, to support this, you need to do the following:

  1. Insert this lines in the "crypto_suites" definition in transport_srtp.c:
        /* cipher AES_GCM */
        {"AEAD_AES_128_GCM", AES_128_GCM, AES_128_GCM_KEYSIZE_WSALT, NULL_AUTH, 0, 16, 16,
           sec_serv_conf},
    
  1. Define macro "OPENSSL" in third_party/build/srtp/srtp_config.h, e.g: add this line in the end of the file (before #endif line)
        #define OPENSSL
    
  1. Add third_party/srtp/crypto/cipher/aes_gcm_ossl.c file to libsrtp Makefile (third_party/build/srtp/Makefile), e.g:
    ciphers = crypto/cipher/cipher.o crypto/cipher/null_cipher.o      \
              crypto/cipher/aes.o crypto/cipher/aes_icm.o             \
              crypto/cipher/aes_cbc.o crypto/cipher/aes_gcm_ossl.c
    
  1. Note that the crypto requires OpenSSL, so make sure OpenSSL is enabled. Also this requires PJSIP 2.5, as this version has newer libsrtp version.

Change History (0)

Note: See TracTickets for help on using tickets.