NOM¶
SSL_CTX_set_session_cache_mode, SSL_CTX_get_session_cache_mode - Activer ou
désactiver la mise en cache de session
SYNOPSIS¶
#include <openssl/ssl.h>
long SSL_CTX_set_session_cache_mode(SSL_CTX ctx, long
mode );
long SSL_CTX_get_session_cache_mode(SSL_CTX ctx);
DESCRIPTION¶
SSL_CTX_set_session_cache_mode() permet ou pas la mise en cache de
session en définissant le mode opérationnel pour
ctx
à
mode.
SSL_CTX_get_session_cache_mode() renvoie le mode actuel du cache.
NOTES¶
La bibliothèque OpenSSL peut mémoriser ou extraire des sessions
SSL/TLS pour usage ultérieur. Les sessions peuvent être
gardées en mémoire pour chaque
ctx, si plus d’un
objet SSL_CTX est conservé. Celui-ci n’a qu’une seule
session.
Pour réutiliser une session, un client doit envoyer l’identifiant
de session au serveur. Il ne peut envoyer qu’un seul identifiant. Le
serveur choisit soit de réutiliser la session, soit de lancer une
initialisation de connexion complète (pour créer une nouvelle
session).
Un serveur recherchera la session dans son stockage interne de sessions. Si la
session n’est pas trouvée dans le stockage interne ou que la
recherche pour le stockage interne a été
désactivée (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP), le serveur
essaiera dans le stockage externe s’il est disponible.
Puisqu’un client peut essayer de réutiliser la session pour
l’utiliser dans un contexte différent, l’identifiant de
session du contexte doit être défini par le serveur (consultez
SSL_CTX_set_session_id_context(3)).
Les modes et modificateurs de cache de session suivants sont disponibles.
- SSL_SESS_CACHE_OFF
- Pas de mise en cache de session pour le client ou le serveur.
- SSL_SESS_CACHE_CLIENT
- Les sessions de client sont ajoutées au cache de session. Comme il
n’est pas possible pour la bibliothèque OpenSSL de savoir si
une session sera réutilisée ou quelle session choisir
(à cause de la couche d'abstraction du BIO, le moteur SSL ne
connait pas de détail sur la connexion), l’application doit
choisir la session à réutiliser en utilisant la fonction
SSL_set_session(3). Cette option n’est pas activée
par défaut.
- SSL_SESS_CACHE_SERVER
- Les sessions du serveur sont ajoutées au cache de session. Quand le
client propose de réutiliser une session, le serveur recherche en
premier la session correspondante dans le cache interne de session
(à moins que SSL_SESS_CACHE_NO_INTERNAL_LOOKUP soit
établie), puis dans le cache externe s’il est disponible. Si
la session est trouvée, le serveur essayera de réutiliser la
session. C’est l’action par défaut.
- SSL_SESS_CACHE_BOTH
- Activer SSL_SESS_CACHE_CLIENT et SSL_SESS_CACHE_SERVER en même
temps.
- SSL_SESS_CACHE_NO_AUTO_CLEAR
- Normalement, les sessions expirées sont recherchées dans le
cache de session toutes les 255 connexions en utilisant la fonction
SSL_CTX_flush_sessions(3). Comme cela peut mener à un
délai non contrôlable, la suppression automatique peut
être désactivée et SSL_CTX_flush_sessions(3)
peut être explicitement demandée par
l’application.
- SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
- Avec cet attribut, les opérations de redémarrage de session
dans un serveur SSL/TLS ne rechercheront pas automatiquement des sessions
dans le cache interne, même si des sessions sont automatiquement
stockées dedans. Si des rappels de mise en cache externe de session
sont utilisés, cet attribut garantit que les recherches sont
directement dirigées vers le cache externe.Comme la recherche
automatique s’applique uniquement sur les serveurs SSL/TLS,
l’attribut n’a aucun effet sur les clients.
- SSL_SESS_CACHE_NO_INTERNAL_STORE
- En fonction de la présence de SSL_SESS_CACHE_CLIENT et/ou
SSL_SESS_CACHE_SERVER, les sessions négociées dans une
initialisation de connexion SSL/TLS peuvent être mise en cache pour
une possible réutilisation. Normalement, une nouvelle session est
ajoutée dans le cache interne, ainsi que pour n’importe
quelle mise en cache externe de session (rappel) qui est
configurée, pour le SSL_CTX. Cet attribut empêche les
sessions d’être stockées dans le cache interne (bien
que l’application puisse les ajouter manuellement en utilisant
SSL_CTX_add_session(3)). Note : dans tous les serveurs
SSL/TLS où la mise en cache externe est configurée, toute
recherche de session réussie dans le cache externe (pour une
requête de reprise de session) devrait normalement être
copiée dans le cache local avant tout traitement
ultérieur ; cet attribut empêche aussi son ajout dans
le cache interne.
- SSL_SESS_CACHE_NO_INTERNAL
- Activer SSL_SESS_CACHE_NO_INTERNAL_LOOKUP et
SSL_SESS_CACHE_NO_INTERNAL_STORE en même temps.
Le mode par défaut est SSL_SESS_CACHE_SERVER.
VALEURS DE RETOUR¶
SSL_CTX_set_session_cache_mode() renvoie le précédent mode
du cache.
SSL_CTX_get_session_cache_mode() renvoie l’actuel mode du cache.
VOIR AUSSI¶
ssl(3),
SSL_set_session(3),
SSL_session_reused(3),
SSL_CTX_add_session(3),
SSL_CTX_sess_number(3),
SSL_CTX_sess_set_cache_size(3),
SSL_CTX_sess_set_get_cb(3),
SSL_CTX_set_session_id_context(3),
SSL_CTX_set_timeout(3),
SSL_CTX_flush_sessions(3)
HISTORIQUE¶
SSL_SESS_CACHE_NO_INTERNAL_STORE et SSL_SESS_CACHE_NO_INTERNAL ont
été introduits dans OpenSSL 0.9.6h.
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.