SSL_SESSION_SET1_ID_CONTEXT(3) | Library Functions Manual | SSL_SESSION_SET1_ID_CONTEXT(3)

# NAME

`SSL_SESSION_get0_id_context`, `SSL_SESSION_set1_id_context` — get and set the SSL ID context associated with a session

# SYNOPSIS

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

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

int
`SSL_SESSION_set1_id_context`(SSL_SESSION *s, const unsigned char *sid_ctx, unsigned int sid_ctx_len);

# DESCRIPTION

`SSL_SESSION_get0_id_context`() returns the ID context associated with s. The length of the ID context in bytes is written to *len if len is not `NULL`.

`SSL_SESSION_set1_id_context`() takes a copy of the provided ID context given in sid_ctx and associates it with the session s. The length of the ID context is given by sid_ctx_len which must not exceed `SSL_MAX_SID_CTX_LENGTH` bytes.

# RETURN VALUES

`SSL_SESSION_get0_id_context`() returns an internal pointer to an object maintained within s that should not be freed by the caller.

`SSL_SESSION_set1_id_context`() returns 1 on success or 0 on error.

# SEE ALSO

ssl(3), SSL_CTX_set_session_id_context(3), SSL_get_session(3), SSL_SESSION_new(3)

# HISTORY

`SSL_SESSION_set1_id_context`() first appeared in OpenSSL 1.0.1 and has been available since OpenBSD 5.3.

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

June 8, 2025 | Debian