MirBSD manpage: d2i_SSL_SESSION(3), i2d_SSL_SESSION(3)

D2I_SSL_SESSION(3)           OpenSSL           D2I_SSL_SESSION(3)


     object from/to ASN1 representation


      #include <openssl/ssl.h>

      SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length);
      int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);


     d2i_SSL_SESSION() transforms the external ASN1 representa-
     tion of an SSL/TLS session, stored as binary data at loca-
     tion pp with length length, into an SSL_SESSION object.

     i2d_SSL_SESSION() transforms the SSL_SESSION object in into
     the ASN1 representation and stores it into the memory loca-
     tion pointed to by pp. The length of the resulting ASN1
     representation is returned. If pp is the NULL pointer, only
     the length is calculated and returned.


     The SSL_SESSION object is built from several malloc()ed
     parts, it can therefore not be moved, copied or stored
     directly. In order to store session data on disk or into a
     database, it must be transformed into a binary ASN1

     When using d2i_SSL_SESSION(), the SSL_SESSION object is
     automatically allocated. The reference count is 1, so that
     the session must be explicitly removed using
     SSL_SESSION_free(3), unless the SSL_SESSION object is com-
     pletely taken over, when being called inside the
     get_session_cb() (see SSL_CTX_sess_set_get_cb(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).

     When using i2d_SSL_SESSION(), the memory location pointed to
     by pp must be large enough to hold the binary representation
     of the session. There is no known limit on the size of the
     created ASN1 representation, so the necessary amount of
     space should be obtained by first calling i2d_SSL_SESSION()
     with pp=NULL, and obtain the size needed, then allocate the
     memory and call i2d_SSL_SESSION() again.


     d2i_SSL_SESSION() returns a pointer to the newly allocated

MirBSD #10-current         2005-04-29                           1

D2I_SSL_SESSION(3)           OpenSSL           D2I_SSL_SESSION(3)

     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 representa-
     tion in bytes. When the session is not valid, 0 is returned
     and no operation is performed.


     ssl(3), SSL_SESSION_free(3), SSL_CTX_sess_set_get_cb(3)

MirBSD #10-current         2005-04-29                           2

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung