*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> SSL_accept (3)              
Title
Content
Arch
Section
 

SSL_accept(3)

Contents


NAME    [Toc]    [Back]

       SSL_accept - wait for a TLS/SSL client to initiate a
       TLS/SSL handshake

LIBRARY    [Toc]    [Back]

       libcrypto, -lcrypto

SYNOPSIS    [Toc]    [Back]

        #include <openssl/ssl.h>

        int SSL_accept(SSL *ssl);

DESCRIPTION    [Toc]    [Back]

       SSL_accept() waits for a TLS/SSL client to initiate the
       TLS/SSL handshake.  The communication channel must already
       have been set and assigned to the ssl by setting an underlying
 BIO.

NOTES    [Toc]    [Back]

       The behaviour of SSL_accept() depends on the underlying
       BIO.

       If the underlying BIO is blocking, SSL_accept() will only
       return once the handshake has been finished or an error
       occurred, except for SGC (Server Gated Cryptography). For
       SGC, SSL_accept() may return with -1, but SSL_get_error()
       will yield SSL_ERROR_WANT_READ/WRITE and SSL_accept()
       should be called again.

       If the underlying BIO is non-blocking, SSL_accept() will
       also return when the underlying BIO could not satisfy the
       needs of SSL_accept() to continue the handshake. In this
       case a call to SSL_get_error() with the return value of
       SSL_accept() 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_accept().  The action depends on the underlying
 BIO. When using a non-blocking socket, nothing is to
       be done, but select() 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    [Toc]    [Back]

       The following return values can occur:

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

       0   The TLS/SSL handshake was not successful but was shut
           down controlled and by the specifications of the
           TLS/SSL protocol. Call SSL_get_error() with the return
           value ret to find out the reason.

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

SEE ALSO    [Toc]    [Back]

      
      
       SSL_get_error(3), SSL_connect(3), SSL_shutdown(3), ssl(3),
       openssl_bio(3), SSL_set_connect_state(3), SSL_do_handshake(3), SSL_CTX_new(3)



2002-07-31                    0.9.6g                SSL_accept(3)
[ Back ]
 Similar pages
Name OS Title
SSL_connect OpenBSD initiate the TLS/SSL handshake with an TLS/SSL server
SSL_connect NetBSD initiate the TLS/SSL handshake with an TLS/SSL server
SSL_connect Tru64 Initiate the TLS/SSL handshake with an TLS/SSL server
SSL_do_handshake Tru64 Perform a TLS/SSL handshake
SSL_do_handshake OpenBSD perform a TLS/SSL handshake
SSL_do_handshake NetBSD perform a TLS/SSL handshake
SSL_session_reused OpenBSD query whether a reused session was negotiated during handshake
SSL_session_reused Tru64 Query whether a reused session was negotiated during handshake
SSL_session_reused NetBSD query whether a reused session was negotiated during handshake
physio FreeBSD initiate I/O on raw devices
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service