SSL_GET_SESSION(3) OpenSSL SSL_GET_SESSION(3)NAME
SSL_get_session - retrieve TLS/SSL session data
SYNOPSIS
#include <openssl/ssl.h>
SSL_SESSION *SSL_get_session(const SSL *ssl);
SSL_SESSION *SSL_get0_session(const SSL *ssl);
SSL_SESSION *SSL_get1_session(SSL *ssl);
DESCRIPTIONSSL_get_session() returns a pointer to the SSL_SESSION actu-
ally used in ssl. The reference count of the SSL_SESSION is
not incremented, so that the pointer can become invalid by
other operations.
SSL_get0_session() is the same as SSL_get_session().
SSL_get1_session() is the same as SSL_get_session(), but the
reference count of the SSL_SESSION is incremented by one.
NOTES
The ssl session contains all information required to re-
establish the connection without a new handshake.
SSL_get0_session() returns a pointer to the actual session.
As the reference counter is not incremented, the pointer is
only valid while the connection is in use. If SSL_clear(3)
or SSL_free(3) is called, the session may be removed com-
pletely (if considered bad), and the pointer obtained will
become invalid. Even if the session is valid, it can be
removed at any time due to timeout during
SSL_CTX_flush_sessions(3).
If the data is to be kept, SSL_get1_session() will increment
the reference count, so that the session will not be impli-
citly removed by other operations but stays in memory. In
order to remove the session SSL_SESSION_free(3) must be
explicitly called once to decrement the reference count
again.
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
The following return values can occur:
NULL
MirOS BSD #10-current 2005-04-29 1
SSL_GET_SESSION(3) OpenSSL SSL_GET_SESSION(3)
There is no session available in ssl.
Pointer to an SSL
The return value points to the data of an SSL session.
SEE ALSOssl(3), SSL_free(3), SSL_clear(3), SSL_SESSION_free(3)MirOS BSD #10-current 2005-04-29 2