SSL_SESSION_GET_ID(3) | Library Functions Manual | SSL_SESSION_GET_ID(3)

# NAME

`SSL_SESSION_get_id`, `SSL_SESSION_set1_id` — get and set the SSL session ID

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

const unsigned char *
`SSL_SESSION_get_id`(const SSL_SESSION *s, unsigned int *len);

int
`SSL_SESSION_set1_id`(SSL_SESSION *s, const unsigned char *sid, unsigned int sid_len);

# DESCRIPTION

`SSL_SESSION_get_id`() returns a pointer to the internal session ID value for the session s. The length of the ID in bytes is stored in *len. The length may be 0. The caller should not free the returned pointer directly.

`SSL_SESSION_set1_id`() sets the session ID for s to a copy of the sid of length sid_len.

# RETURN VALUES

`SSL_SESSION_get_id`() returns a pointer to the session ID value.

`SSL_SESSION_set1_id`() returns 1 for success and 0 for failure, for example if the supplied session ID length exceeds `SSL_MAX_SSL_SESSION_ID_LENGTH`.

# SEE ALSO

ssl(3), SSL_copy_session_id(3), SSL_get_session(3), SSL_SESSION_get_compress_id(3), SSL_SESSION_get_protocol_version(3), SSL_SESSION_has_ticket(3), SSL_SESSION_new(3)

# HISTORY

`SSL_SESSION_get_id`() first appeared in OpenSSL 0.9.8 and has been available since OpenBSD 4.5.

`SSL_SESSION_set1_id`() first appeared in OpenSSL 1.1.0 and has been available since OpenBSD 6.3.

June 8, 2025 | Debian