manpagez: man pages & more
man gnutls_handshake(3)
Home | html | info | man
gnutls_handshake(3)                 gnutls                 gnutls_handshake(3)




NAME

       gnutls_handshake - API function


SYNOPSIS

       #include <gnutls/gnutls.h>

       gnutls_handshake(3) 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
       returned.

       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
       received  alerts).  On these non-fatal errors call this function again,
       until   it   returns   0;   cf.    gnutls_record_get_direction()    and
       gnutls_error_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: http://www.gnutls.org



COPYRIGHT

       Copyright (C) 2001-2018 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
       notice 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

       http://www.gnutls.org/manual/




gnutls                               3.6.5                 gnutls_handshake(3)

gnutls 3.6.5 - Generated Mon Jan 21 10:46:51 CST 2019
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.