SSL_GET_SESSION(3) OpenSSL SSL_GET_SESSION(3)
SSL_get_session - retrieve TLS/SSL session data
#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);
SSL_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.
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).
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.
ssl(3), SSL_free(3), SSL_clear(3), SSL_SESSION_free(3)
MirOS BSD #10-current 2005-04-29 2
Generated on 2012-02-20 02:47:02 by $MirOS: src/scripts/roff2htm,v 1.70 2011/12/03 18:21:12 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2011 The MirOS Project, Germany.
This product includes material
provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.