SSL_do_handshake man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

SSL_DO_HANDSHAKE(3)	 BSD Library Functions Manual	   SSL_DO_HANDSHAKE(3)

NAME
     SSL_do_handshake — perform a TLS/SSL handshake

SYNOPSIS
     #include <openssl/ssl.h>

     int
     SSL_do_handshake(SSL *ssl);

DESCRIPTION
     SSL_do_handshake() will wait for a SSL/TLS handshake to take place.  If
     the connection is in client mode, the handshake will be started.  The
     handshake routines may have to be explicitly set in advance using either
     SSL_set_connect_state(3) or SSL_set_accept_state(3).

NOTES
     The behaviour of SSL_do_handshake() depends on the underlying BIO.

     If the underlying BIO is blocking, SSL_do_handshake() will only return
     once the handshake has been finished or an error occurred.

     If the underlying BIO is non-blocking, SSL_do_handshake() will also
     return when the underlying BIO could not satisfy the needs of
     SSL_do_handshake() to continue the handshake.  In this case a call to
     SSL_get_error(3) with the return value of SSL_do_handshake() will yield
     SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE.  The calling process then
     must repeat the call after taking appropriate action to satisfy the needs
     of SSL_do_handshake().  The action depends on the underlying BIO.	When
     using a non-blocking socket, nothing is to be done, but select(2) can be
     used to check for the required condition.	When using a buffering BIO,
     like a BIO pair, data must be written into or retrieved out of the BIO
     before being able to continue.

RETURN VALUES
     The following return values can occur:

     0	     The TLS/SSL handshake was not successful but was shut down con‐
	     trolled and by the specifications of the TLS/SSL protocol.	 Call
	     SSL_get_error(3) with the return value ret to find out the rea‐
	     son.

     1	     The TLS/SSL handshake was successfully completed, and a TLS/SSL
	     connection has been established.

     <0	     The TLS/SSL handshake was not successful because either a fatal
	     error occurred at the protocol level or a connection failure
	     occurred.	The shutdown was not clean.  It can also occur if
	     action is needed to continue the operation for non-blocking BIOs.
	     Call SSL_get_error(3) with the return value ret to find out the
	     reason.

SEE ALSO
     bio(3), ssl(3), SSL_accept(3), SSL_connect(3), SSL_get_error(3),
     SSL_set_connect_state(3)

BSD				April 26, 2024				   BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net