NOM¶
SSL_do_handshake - Réaliser une initiation de connexion TLS ou SSL
SYNOPSIS¶
#include <openssl/ssl.h>
int SSL_do_handshake(SSL *ssl);
DESCRIPTION¶
SSL_do_handshake() attendra une initiation de connexion TLS ou SSL. Si la
connexion est en mode client, l'initiation de connexion sera
démarrée. Les routines d'initiation de connexion pourraient avoir
besoin d'être définies explicitement au préalable en utilisant
soit
SSL_set_connect_state(3), soit
SSL_set_accept_state(3).
NOTES¶
Le comportement de
SSL_do_handshake() dépend du BIO sous-jacent.
Si le BIO sous-jacent est
bloquant,
SSL_do_handshake() 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_do_handshake() pourrait
renvoyer -1, mais
SSL_get_error() échouera avec
SSL_ERROR_WANT_READ ou
SSL_ERROR_WANT_WRITE et
SSL_do_handshake() devrait être rappelé.
Si le BIO sous-jacent est
non bloquant,
SSL_do_handshake()
s'arrêtera aussi si le BIO sous-jacent ne peut pas satisfaire les besoins
de
SSL_do_handshake() pour continuer l'initiation de connexion. Dans ce
cas, un appel de
SSL_get_error() avec la valeur de retour de
SSL_do_handshake() 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_do_handshake(). 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.
- 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
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.
- <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_accept(3),
ssl(3),
bio(3),
SSL_set_connect_state(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.