fr::ssl::SSL_accept.pod(3SSL)

NOM
SSL_accept - Attendre qu'un client TLS/SSL initie une connexion TLS/SSL

SYNOPSIS
 #include <openssl/ssl.h>

 int SSL_accept(SSL *ssl);

DESCRIPTION
SSL_accept() attend qu'un client TLS/SSL initie une connexion TLS/SSL. Le canal de communication doit avoir déjà été défini et assigné à ssl en définissant un BIO sous-jacent.

NOTES
Le comportement de SSL_accept() dépend du BIO sous-jacent.

Si le BIO sous-jacent est bloquant, SSL_accept() ne s'arrêtera qu'une fois l'initiation de connexion terminée ou si une erreur survient, sauf pour SGC (« Server Gated Cryptography »). Pour SGC, SSL_accept() pourrait renvoyer -1, mais SSL_get_error() échouera avec SSL_ERROR_WANT_READ ou SSL_ERROR_WANT_WRITE et SSL_accept() devrait être rappelé.

Si le BIO sous-jacent est non bloquant, SSL_accept() s'arrêtera aussi si le BIO sous-jacent ne peut pas satisfaire les besoins de SSL_accept() pour continuer l'initiation de connexion, indiquant le problème avec la valeur de retour -1. Dans ce cas, un appel de SSL_get_error() avec la valeur de retour de SSL_accept() renverra SSL_ERROR_WANT_READ ou SSL_ERROR_WANT_WRITE. Le processus appelant doit alors répéter l'appel après avoir pris les mesures nécessaires pour satisfaire les besoins de SSL_accept(). L'action dépend du BIO sous-jacent. Lors de l'utilisation d'une socket non bloquante, il n'y a rien à faire, à part utiliser select() pour vérifier la condition nécessaire. Lors de l'utilisation d'un BIO de type tampon, comme une paire de BIO, les données doivent être écrites ou récupérées du BIO avant de pouvoir continuer.

VALEURS DE RETOUR
Les valeurs suivantes peuvent être renvoyées.

0   L'initiation de connexion TLS ou SSL n'a pas réussi mais a été arrêtée de façon contrôlée conformément aux spécifications des protocoles TLS ou SSL. Appelez SSL_get_error() avec la valeur de retour ret pour en connaître la raison.

1   L'initiation de connexion TLS ou SSL a réussi, une connexion TLS ou SSL a été établie.

<0  L'initiation de connexion TLS ou SSL n'a pas réussi soit à cause d'une erreur fatale survenue au niveau du protocole, soit à cause d'un échec de connexion. L'arrêt n'était pas propre. Cela peut aussi arriver si une action est nécessaire pour continuer l'opération pour les BIO non bloquants. Appelez SSL_get_error() avec la valeur de retour ret pour en connaître la raison.

VOIR AUSSI
SSL_get_error(3), SSL_connect(3), SSL_shutdown(3), ssl(3), bio(3), SSL_set_connect_state(3), SSL_do_handshake(3), SSL_CTX_new(3)

TRADUCTION
La traduction de cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.