Opciones de contexto SSL
Opciones de contexto SSL — Lista de opciones de contexto SSL
Descripción
Opciones de contexto para los protocolos ssl://
y tls://
.
Opciones
-
peer_name
string
-
Nombre de pares a utilizar. Si este valor no está definido, entonces el
nombre será adivinado basándose en el nombre de host utilizado al abrir el flujo.
-
verify_peer
booléen
-
Requiere una verificación del certificado SSL utilizado.
Por omisión, vale true
.
-
verify_peer_name
bool
-
Requiere la verificación del nombre de pares.
Por omisión, vale true
.
-
allow_self_signed
booléen
-
Permite los certificados autofirmados. Requiere el
parámetro verify_peer
.
Por omisión, vale false
-
cafile
string
-
Ubicación del fichero de la autoridad del certificado
en el sistema de ficheros local que deberá ser utilizado
con la opción de contexto verify_peer
para identificar el par distante.
-
capath
string
-
Si cafile
no está especificado o si el certificado
no ha sido encontrado, se realizará una búsqueda en el directorio señalado por
capath
para encontrar un certificado válido. capath
debe ser un directorio de certificados válido.
-
local_cert
string
-
Ruta al certificado local, en el sistema de ficheros.
Debe ser un fichero codificado PEM que contiene su certificado
y su clave privada. Puede, opcionalmente, contener la
cadena de certificación del emisor.
La clave privada también puede estar contenida en un fichero separado
especificado por local_pk
.
-
local_pk
string
-
Ruta de acceso al fichero de clave privada local en el sistema de
ficheros en el caso de ficheros separados para el certificado
(local_cert
) y la clave privada.
-
passphrase
string
-
La frase de paso con la que su fichero
local_cert
ha sido codificado.
-
verify_depth
int
-
Fallará si la cadena de certificación es demasiado profunda.
Por omisión, no se realiza ninguna verificación.
-
ciphers
string
-
Define la lista de cifrados. El formato de la cadena está descrito
en la página » ciphers(1).
Por omisión, vale DEFAULT
.
-
capture_peer_cert
bool
-
Si se define a true
, se creará una opción de contexto peer_certificate
que contendrá el certificado del emisor.
-
capture_peer_cert_chain
bool
-
Si se define a true
, se creará una opción de contexto peer_certificate_chain
que contendrá la cadena de certificación.
-
SNI_enabled
bool
-
Si vale true
, la indicación sobre el nombre del servidor estará activada.
Activar SNI permite utilizar múltiples certificados
en la misma dirección IP.
-
disable_compression
bool
-
Si se define, la compresión TLS estará desactivada.
Esto puede ayudar a mitigar el vector de ataque CRIME.
-
peer_fingerprint
string | array
-
Se detiene cuando el digest del certificado distante no coincide con el hash especificado.
Cuando se utiliza una chaîne de caractères, la longitud determinará el algoritmo
de hachaje utilizado, ya sea "md5" (32) o "sha1" (40).
Cuando se utiliza un tableau, la clave indica el nombre del algoritmo de
hachaje, y cada valor correspondiente representa el digest esperado.
-
security_level
int
-
Define el nivel de seguridad. Si no se especifica, se utiliza el nivel de seguridad por
omisión.
Los niveles de seguridad están descritos en
» SSL_CTX_get_security_level(3).
Disponible a partir de PHP 7.2.0 y OpenSSL 1.1.0.
Notas
Nota:
Dado que ssl://
es un protocolo subyacente para
los gestores https://
y
ftps://
,
todas las opciones de contexto aplicadas a ssl://
también se aplicarán a https://
y ftps://
.
Nota:
Para que SNI (Server Name Indication) esté disponible, PHP debe
ser compilado con OpenSSL 0.9.8j o superior. Utilice la
constante OPENSSL_TLSEXT_SERVER_NAME
para
determinar si SNI es soportado o no.