dwww Home | Manual pages | Find package

gnutls_handshake(3)                 gnutls                 gnutls_handshake(3)

NAME
       gnutls_handshake - API function

SYNOPSIS
       #include <gnutls/gnutls.h>

       int gnutls_handshake(gnutls_session_t session);

ARGUMENTS
       gnutls_session_t session
                   is a gnutls_session_t type.

DESCRIPTION
       This  function performs the handshake of the TLS/SSL protocol, and ini-
       tializes the TLS session parameters.

       The non-fatal errors expected by  this  function  are:  GNUTLS_E_INTER-
       RUPTED,   GNUTLS_E_AGAIN,  GNUTLS_E_WARNING_ALERT_RECEIVED.  When  this
       function is called for re-handshake  under  TLS  1.2  or  earlier,  the
       non-fatal  error  code  GNUTLS_E_GOT_APPLICATION_DATA  may  also be re-
       turned.

       The former two interrupt the handshake procedure due to  the  transport
       layer  being  interrupted,  and the latter because of a "warning" alert
       that was sent by the peer (it is always a good idea to  check  any  re-
       ceived alerts). On these non-fatal errors call this function again, un-
       til it returns 0;  cf.   gnutls_record_get_direction()  and  gnutls_er-
       ror_is_fatal().     In    DTLS    sessions    the    non-fatal    error
       GNUTLS_E_LARGE_PACKET is also possible,  and  indicates  that  the  MTU
       should be adjusted.

       When  this  function  is called by a server after a rehandshake request
       under TLS 1.2 or earlier the GNUTLS_E_GOT_APPLICATION_DATA  error  code
       indicates  that  some  data  were  pending prior to peer initiating the
       handshake.  Under TLS 1.3 this function when called after a  successful
       handshake,  is  a  no-op  and always succeeds in server side; in client
       side this function is equivalent  to  gnutls_session_key_update()  with
       GNUTLS_KU_PEER flag.

       This function handles both full and abbreviated TLS handshakes (resump-
       tion).  For abbreviated handshakes, in  client  side,  the  gnutls_ses-
       sion_set_data()  should be called prior to this function to set parame-
       ters from a previous session.  In server side, resumption is handled by
       either setting a DB back-end, or setting up keys for session tickets.

RETURNS
       GNUTLS_E_SUCCESS  on a successful handshake, otherwise a negative error
       code.

REPORTING BUGS
       Report bugs to <bugs@gnutls.org>.
       Home page: https://www.gnutls.org

COPYRIGHT
       Copyright © 2001- Free Software Foundation, Inc., and others.
       Copying and distribution of this file, with  or  without  modification,
       are  permitted in any medium without royalty provided the copyright no-
       tice and this notice are preserved.

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/

gnutls                               3.7.3                 gnutls_handshake(3)

Generated by dwww version 1.14 on Sun Dec 29 18:26:53 CET 2024.