table of contents
fr::ssl::SSL_CTX_sess_set_get_cb(3SSL) | OpenSSL | fr::ssl::SSL_CTX_sess_set_get_cb(3SSL) |
NOM¶
SSL_CTX_sess_set_new_cb, SSL_CTX_sess_set_remove_cb, SSL_CTX_sess_set_get_cb, SSL_CTX_sess_get_new_cb, SSL_CTX_sess_get_remove_cb, SSL_CTX_sess_get_get_cb - Fournir des fonctions de rappel pour la mise en cache de sessions externe du côté serveur
SYNOPSIS¶
#include <openssl/ssl.h> void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int (*new_session_cb)(SSL *, SSL_SESSION *)); void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void (*remove_session_cb)(SSL_CTX *ctx, SSL_SESSION *)); void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION (*get_session_cb)(SSL *, unsigned char *, int, int *)); int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct ssl_st *ssl, SSL_SESSION *sess); void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct ssl_ctx_st *ctx, SSL_SESSION *sess); SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(struct ssl_st *ssl, unsigned char *data, int len, int *copy); int (*new_session_cb)(struct ssl_st *ssl, SSL_SESSION *sess); void (*remove_session_cb)(struct ssl_ctx_st *ctx, SSL_SESSION *sess); SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, unsigned char *data, int len, int *copy);
DESCRIPTION¶
SSL_CTX_sess_set_new_cb() configure la fonction de rappel qui est automatiquement appelée chaque fois qu'une nouvelle session a été négociée.
SSL_CTX_sess_set_remove_cb() configure la fonction de rappel qui est automatiquement appelée chaque fois qu'une session a été supprimée par le moteur SSL, parce qu'elle est considérée fautive ou parce que la session est devenue obsolète par dépassement de la valeur du délai d'expiration.
SSL_CTX_sess_set_get_cb() configure la fonction de rappel qui est appelée chaque fois qu'un client SSL/TLS a proposé de reprendre une session mais qu'elle ne peut pas être trouvée dans le cache de sessions interne (voir SSL_CTX_set_session_cache_mode(3)), (seulement pour les serveurs SSL/TLS)
SSL_CTX_sess_get_new_cb(), SSL_CTX_sess_get_remove_cb(), et SSL_CTX_sess_get_get_cb() permettent de récupérer les pointeurs de fonction des fonctions de rappel fournies. Si une fonction de rappel n'a pas été configurée, le pointeur NULL est renvoyé.
NOTES¶
Afin de permettre la mise en cache externe de session, la synchronisation avec le cache interne de session est réalisée par les fonctions de rappel.Dans les fonctions de rappel, la session peut être sauvegardée sur le disque ou mise dans une base de données en utilisant l'interface d2i_SSL_SESSION(3).
La fonction new_session_cb() est appelée chaque fois qu'une nouvelle session a été négociée et que la mise en cache de sessions est activée (voir SSL_CTX_set_session_cache_mode(3)). La fonction new_session_cb() est passée à la connexion ssl et à la session SSL sess. Si le rappel renvoie 0, la session sera à nouveau immédiatement supprimée.
La fonction remove_session_cb() est appelée chaque fois que le moteur SSL supprime une session du cache interne. Cela se produit quand la session est supprimée parce qu'elle est expirée ou quand une connexion n'a pas été fermée proprement. Cela arrive aussi pour toutes les sessions dans le cache de sessions interne lorsque SSL_CTX_free(3) est appelée. La fonction remove_session_cb() est passée à ctx et à la session SSL sess. Elle ne renvoie aucun message.
La fonction get_session_cb() est seulement appelée sur les serveurs SSL/TLS avec l'identifiant de session proposé par le client. La fonction get_session_cb() est toujours appelée, même si la mise en cache de session a été désactivée. La fonction get_session_cb() est passée à la connexion ssl, l'identifiant de session de longueur length à l'emplacement mémoire data. Avec le paramètre copy le rappel peut nécessiter que le moteur SSL incrémente le compteur de références de l'objet SSL_SESSION. Normalement, le compteur de références n'est pas incrémenté et ainsi la session ne doit pas être explicitement libérée avec SSL_SESSION_free(3).
VOIR AUSSI¶
ssl(3), d2i_SSL_SESSION(3), SSL_CTX_set_session_cache_mode(3), SSL_CTX_flush_sessions(3), SSL_SESSION_free(3), SSL_CTX_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.
2015-12-31 | 1.0.2a 1.0.2c |