Scroll to navigation

gnutls_session_get_id(3) gnutls gnutls_session_get_id(3)


gnutls_session_get_id - API function


#include <gnutls/gnutls.h>

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


is a gnutls_session_t type.
is a pointer to space to hold the session id.
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.


Report bugs to <>.
Home page:


Copyright © 2001- Free Software Foundation, Inc., and others.
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.


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.7.1 gnutls