---
name: "SSL_SESSION_set1_id"
section: "3ssl"
platform: "linux"
package: "openssl"
version: "3.6.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SSL_SESSION_set1_id"
---

# SSL\_SESSION\_set1\_id(3ssl)

get and set the SSL session ID

## NAME

SSL\_SESSION\_get\_id, SSL\_SESSION\_set1\_id - get and set the SSL session ID

## SYNOPSIS

```
 #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 the **ssl** SSL/TLS session to **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**(7)](/ssl/7.md)

## HISTORY

The **SSL\_SESSION\_set1\_id()** function was added in OpenSSL 1.1.0.

## COPYRIGHT

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 \<https://www.openssl.org/source/license.html\>.
