Your company here — click to reach over 10,000 unique daily visitors

gnutls_session_get_id - Man Page

API function


#include <gnutls/gnutls.h>

int gnutls_session_get_id(gnutls_session_t session, void * session_id, size_t * session_id_size);


gnutls_session_t session

is a gnutls_session_t type.

void * session_id

is a pointer to space to hold the session id.

size_t * session_id_size

initially should contain the maximum  session_id size and will be updated.


Returns the TLS session identifier. The session ID is selected by the server, and in older versions of TLS was a unique identifier shared between client and server which was persistent across resumption. In the latest version of TLS (1.3) or TLS with session tickets, the notion of session identifiers is undefined and cannot be relied for uniquely identifying sessions across client and server.

In client side this function returns the identifier returned by the server, and cannot be assumed to have any relation to session resumption. In server side this function is guaranteed to return a persistent identifier of the session since GnuTLS 3.6.4, which may not necessarily map into the TLS session ID value. Prior to that version the value could only be considered a persistent identifier, under TLS1.2 or earlier and when no session tickets were in use.

The session identifier value returned is always less than GNUTLS_MAX_SESSION_ID_SIZE.


On success, GNUTLS_E_SUCCESS (0) is returned, otherwise an error code is returned.

Reporting Bugs

Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org

See Also

The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit



3.8.6 gnutls