gnutls_srtp_get_keys — API function


#include <gnutls/gnutls.h>
int gnutls_srtp_get_keys( gnutls_session_t session,
  void * key_material,
  unsigned int key_material_size,
  gnutls_datum_t * client_key,
  gnutls_datum_t * client_salt,
  gnutls_datum_t * server_key,
  gnutls_datum_t * server_salt);


gnutls_session_t session

is a gnutls_session_t structure.

void * key_material

Space to hold the generated key material

unsigned int key_material_size

The maximum size of the key material

gnutls_datum_t * client_key

The master client write key, pointing inside the key material

gnutls_datum_t * client_salt

The master client write salt, pointing inside the key material

gnutls_datum_t * server_key

The master server write key, pointing inside the key material

gnutls_datum_t * server_salt

The master server write salt, pointing inside the key material


This is a helper function to generate the keying material for SRTP. It requires the space of the key material to be pre−allocated (should be at least 2x the maximum key size and salt size). The client_key , client_salt , server_key and server_salt are convenience datums that point inside the key material. They may be NULL.


On success the size of the key material is returned, otherwise, GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not sufficient, or a negative error code.

Since 3.1.4


Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.