PEM_READ_SSL_SESSION(3) | Library Functions Manual | PEM_READ_SSL_SESSION(3)

# NAME

`PEM_read_SSL_SESSION`, `PEM_read_bio_SSL_SESSION`, `PEM_write_SSL_SESSION`, `PEM_write_bio_SSL_SESSION` — encode and decode SSL session objects in PEM format

# SYNOPSIS

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

SSL_SESSION *
`PEM_read_SSL_SESSION`(FILE *fp, SSL_SESSION **a, pem_password_cb *cb, void *u);

SSL_SESSION *
`PEM_read_bio_SSL_SESSION`(BIO *bp, SSL_SESSION **a, pem_password_cb *cb, void *u);

int
`PEM_write_SSL_SESSION`(FILE *fp, const SSL_SESSION *a);

int
`PEM_write_bio_SSL_SESSION`(BIO *bp, const SSL_SESSION *a);

# DESCRIPTION

These routines convert between local instances of ASN.1 SSL_SESSION objects and the PEM encoding.

`PEM_read_SSL_SESSION`() reads a PEM-encoded SSL_SESSION object from the file fp and returns it. The cb and u parameters are as described in PEM_read_bio_PrivateKey(3).

`PEM_read_bio_SSL_SESSION`() is similar to `PEM_read_SSL_SESSION`() but reads from the BIO bp.

`PEM_write_SSL_SESSION`() writes the PEM encoding of the object a to the file fp.

`PEM_write_bio_SSL_SESSION`() similarly writes to the BIO bp.

# RETURN VALUES

`PEM_read_SSL_SESSION`() and `PEM_read_bio_SSL_SESSION`() return a pointer to an allocated object, which should be released by calling SSL_SESSION_free(3), or `NULL` on error.

`PEM_write_SSL_SESSION`() and `PEM_write_bio_SSL_SESSION`() return the number of bytes written or 0 on error.

# SEE ALSO

PEM_read(3), ssl(3)

# HISTORY

`PEM_read_SSL_SESSION`() and `PEM_write_SSL_SESSION`() first appeared in SSLeay 0.5.2. `PEM_read_bio_SSL_SESSION`() and `PEM_write_bio_SSL_SESSION`() first appeared in SSLeay 0.6.0. These functions have been available since OpenBSD 2.4.

June 8, 2025 | Debian