d2i_SSL_SESSION(3ssl)

d2i_SSL_SESSION3ssl

Convert ssl_session object from/to asn1 representation

Usage

 #include <openssl/ssl.h>
 SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
                              long length);
 SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
                                 long length, OSSL_LIB_CTX *libctx,
                                 const char *propq);
 int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);

Overview

These functions decode and encode an SSL_SESSION object. For encoding details see d2i_X509(3).

SSL_SESSION objects keep internal link information about the session cache list, when being inserted into one SSL_CTX object's session cache. One SSL_SESSION object, regardless of its reference count, must therefore only be used with one SSL_CTX object (and the SSL objects created from this SSL_CTX object).

Return values

d2i_SSL_SESSION() and d2i_SSL_SESSION_ex() return a pointer to the newly allocated SSL_SESSION object. In case of failure the NULL-pointer is returned and the error message can be retrieved from the error stack.

i2d_SSL_SESSION() returns the size of the ASN1 representation in bytes. When the session is not valid, 0 is returned and no operation is performed.

Releases

13 releases since Debian 3.0 (Woody); the text changed 12 times.

  1. 3.0
  2. 3.1
  3. 4.0
  4. 5.0
  5. 6.0
  6. 7
  7. 8
  8. 9
  9. 10
  10. 11
  11. 12
  12. 13
  13. Arch

History

The function d2i_SSL_SESSION_ex() was added in OpenSSL 3.2.

From openssl 3.6.5-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.