Provided by: manpages-fr-extra_20151231_all 

NOM
SSL_CTX_set_cert_cb, SSL_set_cert_cb - Gestion de la fonction de rappel de certificat client.
SYNOPSIS
#include <openssl/ssl.h>
void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cert_cb)(SSL *ssl, void *arg), void *arg);
void SSL_set_cert_cb(SSL *s, int (*cert_cb)(SSL *ssl, void *arg), void *arg);
int (*cert_cb)(SSL *ssl, void *arg);
DESCRIPTION
SSL_CTX_set_cert_cb() et SSL_set_cert_cb() définissent la fonction de rappel cert_cb(), la valeur arg est
un pointeur qui est transmis à la fonction de rappel de l’application.
Lorsque cert_cb() est NULL, aucune fonction de rappel n’est utilisée.
cert_cb() est le rappel défini par l’application. Il est employé avant qu’un certificat soit utilisé par
un client ou un serveur. Le rappel peut alors inspecter la structure transmise ssl et établir ou
supprimer n’importe quel certificat. Si le rappel est réussi, il doit renvoyer 1 même si aucun certificat
n’est établi. Un 0 est renvoyé lors d’une erreur qui interrompt l’initiation de connexion avec une alerte
d’erreur interne fatale. Le renvoi d’une valeur négative suspendra l’initiation de connexion et la
fonction d’initiation s'arrêtera immédiatement. SSL_get_error(3) renverra SSL_ERROR_WANT_X509_LOOKUP pour
signaler que l’initiation est suspendue. Le prochain appel à la fonction d’initiation amènera de nouveau
à l’appel de client_cert_cb(). C’est au cert_cb() d’emmagasiner l’information sur l’état du dernier
appel, si une demande de continuation est faite.
NOTES
Une application appellera habituellement SSL_use_certificate() et SSL_use_PrivateKey() pour définir les
clef privée et certificat d’entité de fin. Elle peut facultativement ajouter en intermédiaire les
certificats d’autorité racine en employant SSL_add1_chain_cert().
Elle peut aussi appeler SSL_certs_clear() pour supprimer n’importe quel certificat associé avec l’objet
SSL.
La fonction de rappel de certificat remplace la fonction (défectueuse) fournie par la vieille interface
client de rappel de certificat. Elle est toujours appelée même si un certificat est déjà défini, ainsi le
rappel peut modifier ou supprimer les certificats existants.
Un rappel de plus haut niveau peut examiner les paramètres de l’initiation de connexion et définir toute
chaîne appropriée. Par exemple, un ancien client ne prenant en charge que TLS v1.0 peut recevoir une
chaîne de certificats signée avec SHA1, tandis qu’un client TLS v1.2 déclarant la prise en charge de
SHA256 peut recevoir une chaîne utilisant SHA256.
Des contrôles de validité pour le serveur sont réalisés sur tous les certificats définis par le rappel.
Aussi, si une chaîne de courbe elliptique est définie pour une courbe que le client ne prend pas en
charge, elle ne sera pas utilisée.
VOIR AUSSI
ssl(3), SSL_use_certificate(3), SSL_add1_chain_cert(3), SSL_get_client_CA_list(3), SSL_clear(3),
SSL_free(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.
1.0.2a 1.0.2c 2015-12-31 fr::ssl::SSL_CTX_set_cert_cb(3SSL)