Функции API (API function)
Имя (Name)
gnutls_session_get_data2 - API function
Синопсис (Synopsis)
#include <gnutls/gnutls.h>
int gnutls_session_get_data2(gnutls_session_t
session,
gnutls_datum_t *
data);
Аргументы (Arguments)
gnutls_session_t session
is a gnutls_session_t
type.
gnutls_datum_t * data
is a pointer to a datum that will hold the session.
Описание (Description)
Returns necessary parameters to support resumption. The client
should call this function and store the returned session data. A
session can be resumed later by calling gnutls_session_set_data()
with the returned data. Note that under TLS 1.3, it is
recommended for clients to use session parameters only once, to
prevent passive-observers from correlating the different
connections.
The returned data are allocated and must be released using
gnutls_free()
.
This function will fail if called prior to handshake completion.
In case of false start TLS, the handshake completes only after
data have been successfully received from the peer.
Under TLS1.3 session resumption is possible only after a session
ticket is received by the client. To ensure that such a ticket
has been received use gnutls_session_get_flags()
and check for
flag GNUTLS_SFLAGS_SESSION_TICKET
; if this flag is not set, this
function will wait for a new ticket within an estimated
roundtrip, and if not received will return dummy data which
cannot lead to resumption.
To get notified when new tickets are received by the server use
gnutls_handshake_set_hook_function()
to wait for
GNUTLS_HANDSHAKE_NEW_SESSION_TICKET
messages. Each call of
gnutls_session_get_data2()
after a ticket is received, will
return session resumption data corresponding to the last received
ticket.
Note that this function under TLS1.3 requires a callback to be
set with gnutls_transport_set_pull_timeout_function()
for
successful operation. There was a bug before 3.6.10 which could
make this function fail if that callback was not set. On later
versions if not set, the function will return a successful error
code, but will return dummy data that cannot lead to a
resumption.
Возвращаемое значение (Return value)
On success, GNUTLS_E_SUCCESS
(0) is returned, otherwise an error
code is returned.
Сообщение об ошибках (Reporting bugs)
Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
Смотри также (See also)
The full documentation for gnutls
is maintained as a Texinfo
manual. If the /usr/share/doc/gnutls/ directory does not contain
the HTML form visit
https://www.gnutls.org/manual/