SYNOPSIS
#include <openssl/ssl.h>
SSL_CTX *SSL_CTX_new(const SSL_METHOD *method);
DESCRIPTION
SSL_CTX_new() crée un nouvel objet SSL_CTX comme cadre pour établir des connexions avec TLS/SSL actif.NOTES
L'objet SSL_CTX utilise method comme méthode de connexion. Il existe des méthodes de type générique (pour utilisation client et serveur), un type uniquement serveur et un type uniquement client.method peut appartenir aux types suivants :- SSLv2_method(void), SSLv2_server_method(void), SSLv2_client_method(void)
- Une connexion TLS/SSL établie avec ces méthodes ne comprendra que le protocole SSLv2. Un client enverra des messages hello client SSLv2 et indiquera qu'il ne comprend que SSLv2. Un serveur ne comprendra que les messages hello du client SSLv2.
- SSLv3_method(void), SSLv3_server_method(void), SSLv3_client_method(void)
- Un connexion TLS/SSL établie avec ces méthodes ne comprendra que le protocole SSLv3. Un client enverra des messages hello client SSLv3 et indiquera qu'il ne comprend que SSLv3. Un serveur ne comprendra que les messages hello client SSLv3. Cela veut surtout dire qu'il ne comprendra pas les messages hello client SSLv2 qui sont couramment utilisés pour des raisons de compatibilité. Voir SSLv23_*_method().
- TLSv1_method(void), TLSv1_server_method(void), TLSv1_client_method(void)
- Une connexion TLS/SSL établie avec ces méthodes ne comprendra que le protocole TLSv1. Un client enverra des messages hello TLSv1 et indiquera qu'il ne comprend que TLSv1. Un serveur ne comprendra que les messages hello client TLSv1. Cela veut surtout dire qu'il ne comprendra pas les messages hello client SSLv2 qui sont couramment utilisés pour des raisons de compatibilité. Voir SSLv23_*_method(). Il ne comprendra pas non plus les messages hello client SSLv3.
- SSLv23_method(void), SSLv23_server_method(void), SSLv23_client_method(void)
-
Une connexion TLS/SSL établie avec ces méthodes peut comprendre les
protocoles SSLv2, SSLv3, TLSv1, TLSv1.1 et TLSv1.2
Si la liste de chiffrements ne contient pas d’ensemble de chiffrements SSLv2 (la liste par défaut de chiffrements n'existe pas), ou si des extensions sont nécessaires (par exemple le nom de serveur), un client enverra des messages hello client TLSv1 incluant des extensions et indiquera qu'il comprend aussi TLSv1.1, TLSv1.2 et permettra de se rabattre sur SSLv3. Un serveur gérera les protocoles SSLv3, TLSv1, TLSv1.1 et TLSv1.2. C'est le meilleur choix s'il y a un souci de compatibilité.
S'il existe des ensembles de chiffrement SSLv2 dans la liste de chiffrements, et si aucune extension n'est nécessaire, les clients utiliseront des hellos compatibles SSLv2, et SSLv2 sera accepté par les serveurs. Cela n'est pas recommandé en raison du caractère non sécurisé de SSLv2 et de la nature limitée du hello client SSLv2 qui interdit l'utilisation d'extensions.
La liste des protocoles disponibles peut être ultérieurement limitée en utilisant les options SSL_OP_NO_SSLv2, SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1 et SSL_OP_NO_TLSv1_2 des fonctions SSL_CTX_set_options() ou SSL_set_options(). Avec ces options, il est possible de choisir SSLv23_server_method() par exemple et de pouvoir négocier avec tous les clients possibles, mais de n'autoriser que les protocoles les plus récents comme TLSv1, TLSv1.1 ou TLS v1.2.
Des applications qui ne veulent jamais prendre en charge SSLv2 (même si la chaîne de chiffrements est configurée pour utiliser les ensembles de chiffrement SSLv2) peuvent utiliser l'option SSL_OP_NO_SSLv2.
SSL_CTX_new() initialise la liste de chiffrements, la configuration du cache de sessions, le rappel, les clés et les certificats, ainsi que les options de ses valeurs par défaut.
VALEURS DE RETOUR
Les valeurs suivantes peuvent être renvoyées :- NULL
- La création d'un nouvel objet SSL_CTX a échoué. Vérifiez la pile d'erreur pour découvrir la raison de l'échec.
- Pointeur vers un objet SSL_CTX
- La valeur renvoyée pointe vers un objet SSL_CTX alloué.
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.