Options de contexte SSL
Options de contexte SSL — Liste des options de contexte SSL
Description
Options de contexte pour les protocoles ssl://
et tls://
.
Options
-
peer_name
string
-
Nom de paires à utiliser. Si cette valeur n'est pas définie, alors le
nom sera deviné en se basant sur le nom d'hôte utilisé lors de
l'ouverture du flux.
-
verify_peer
booléen
-
Nécessite une vérification du certificat SSL utilisé.
Par défaut, vaut true
.
-
verify_peer_name
bool
-
Nécessite la vérification du nom de paires.
Par défaut, vaut true
.
-
allow_self_signed
booléen
-
Permet les certificats autosignés. Requière le
paramètre verify_peer
.
Par défaut, vaut false
-
cafile
string
-
Endroit où se trouve le fichier de l'autorité du certificat
sur le système de fichiers local et qui devra être utilisé
avec l'option de contexte verify_peer
pour identifier le pair distant.
-
capath
string
-
Si cafile
n'est pas spécifié ou si le certificat
n'a pas été trouvé, une recherche dans le dossier pointé par
capath
sera effectuée afin d'y trouver un certificat
valide. capath
doit être un dossier de certificat valide.
-
local_cert
string
-
Chemin vers le certificat local, sur le système de fichiers.
Ce doit être un fichier encodé PEM qui contient votre certificat
et votre clé privée. Il peut, optionnellement, contenir la
chaîne de certification de l'émetteur.
La clé privée peut également être contenue dans un fichier distinct
spécifié par local_pk
.
-
local_pk
string
-
Chemin d'accès au fichier de clé privée locale sur le système de
fichiers dans le cas de fichiers distincts pour le certificat
(local_cert
) et la clé privée.
-
passphrase
string
-
La phrase passe avec laquelle votre fichier
local_cert
a été encodé.
-
verify_depth
int
-
Échoue si la chaîne de certification est trop profonde.
Par défaut, aucune vérification.
-
ciphers
string
-
Définit la liste des chiffrements. Le format de la chaîne est décrite
sur la page » ciphers(1).
Par défaut, vaut DEFAULT
.
-
capture_peer_cert
bool
-
Si définit à true
, un option de contexte peer_certificate
sera créée, contenant le certificat de l'émetteur.
-
capture_peer_cert_chain
bool
-
Si définit à true
, une option de contexte peer_certificate_chain
sera créée, contenant la chaîne de certification.
-
SNI_enabled
bool
-
Si vaut true
, l'indication sur le nom du serveur sera activée.
Le fait d'activer SNI permet d'utiliser plusieurs certificats
sur la même adresse IP.
-
disable_compression
bool
-
Si défini, la compression TLS sera désactivée.
Cela peut aider à mitiger le vecteur d'attaque CRIME.
-
peer_fingerprint
string | array
-
Stop lorsque le certificat digest distant ne correspond pas au hash spécifié.
Lorsqu'une chaîne de caractères est utilisée, la longueur va déterminer l'algorithme
de hachage utilisé, soit "md5" (32), soit "sha1" (40).
Lorsqu'un tableau est utilisé, la clé indique le nom de l'algorithme de
hachage, et chaque valeur correspondante représente le digest attendu.
-
security_level
int
-
Définie le niveau de sécurité. Si non spécifié le niveau de sécurité par
défaut est utilisé.
Les niveaux de sécurités sont décrit dans
» SSL_CTX_get_security_level(3).
Disponible à partir de PHP 7.2.0 et OpenSSL 1.1.0.
Notes
Note:
Vu que ssl://
est un protocole sous-jacent pour
les gestionnaires https://
et
ftps://
,
toutes les options de contexte appliquées à ssl://
seront également appliquées à https://
et ftps://
.
Note:
Afin que SNI (Server Name Indication) soit disponible, PHP doit
être compilé avec OpenSSL 0.9.8j ou supérieur. Utilisez la
constante OPENSSL_TLSEXT_SERVER_NAME
pour
déterminer si SNI est supporté ou non.