SSL_SESSION_get_id, SSL_SESSION_set1_id - get and set the SSL session ID

#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);

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 the ssl SSL/TLS session to sid of length sid_len.

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.


The SSL_SESSION_set1_id() function was added in OpenSSL 1.1.0.

Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at

2023-10-24 3.1.4