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.
- 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_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.