---
name: "SSL_SESSION_get0_id_context"
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_get0_id_context"
---

# SSL\_SESSION\_get0\_id\_context(3ssl)

get and set the SSL ID context associated with a session

## NAME

SSL\_SESSION\_get0\_id\_context, SSL\_SESSION\_set1\_id\_context - get and set the SSL ID context associated with a session

## SYNOPSIS

```
 #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

See **SSL\_CTX\_set\_session\_id\_context**(3) for further details on session ID contexts.

**SSL\_SESSION\_get0\_id\_context()** returns the ID context associated with the SSL/TLS session **s**. The length of the ID context is written to **\*len** if **len** is not NULL.

The value returned is a pointer to an object maintained within **s** and should not be released.

**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\_set1\_id\_context()** returns 1 on success or 0 on error.

## SEE ALSO

[**ssl**(7)](/ssl/7.md), **SSL\_set\_session\_id\_context**(3)

## HISTORY

The **SSL\_SESSION\_get0\_id\_context()** 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\>.
