Opciones de contexto para SSL
Opciones de contexto para SSL — Listado de opciones de contexto para SSL
Descripción
Opciones de contexto para transportes ssl://
y
tls://
Opciones
-
peer_name
string
-
Nombre del par a utilizar. Si no se establece este valor, se averigua
basándose en el nombre del host empleado al abrir el flujo.
-
verify_peer
boolean
-
Requerir verificación del certificado SSL utilizado.
Por defecto es true
.
-
verify_peer_name
boolean
-
Requerir verificación de nombre del par.
Por defecto es true
.
-
allow_self_signed
boolean
-
Permite certificados auto-firmados. Requiere
verify_peer
.
Por defecto es false
-
cafile
string
-
Ubicación del archivo de la entidad emisora de certificados en el sistema de archivos local,
la cual debe ser utilizada con la opción de contexto verify_peer
para autenticar la identidad del par remoto.
-
capath
string
-
Si no se específica cafile
o si no se encuentra
el certificado, el directorio al que apunta capath
sera explorado en busca de un certificado apropiado. capath
debe ser un directorio con el hash correcto.
-
local_cert
string
-
Ruta hacia el archivo del certificado local en el sistema de archivos. Debe ser un
archivo codificado con PEM el cual contenga el certificado y la llave privada.
Puede, opcionalmente, contener la cadena de los emisores del certificado.
La clave privada también podría estar contenida en un fichero aparte especificado
por local_pk
.
-
local_pk
string
-
Ruta a fichero de clave privada local del sistema de ficheros en caso ficheros
separados para el certificado (local_cert
) y la clave privada.
-
passphrase
string
-
La frase de contraseña con la cual el archivo local_cert
fue codificado.
-
CN_match
string
-
El nombre común que se está esperando. PHP realizará comparaciones limitadas
de comodines. Si el nombre común no coincide con esto, el intento
de conexión fallará.
Nota:
Esta opción está obsoleta a favor de peer_name
,
a partir de PHP 5.6.0.
-
verify_depth
integer
-
Abortar si la cadena de certificados es demasiado profunda.
Por defecto es no verificarlo.
-
ciphers
string
-
Establece la lista de sistemas de cifrado disponibles. El formato de la cadena se describe
en » ciphers(1).
Por defecto es DEFAULT
.
-
capture_peer_cert
boolean
-
Si se establece en true
, una opción de contexto peer_certificate
será creada, conteniendo el certificado par.
-
capture_peer_cert_chain
boolean
-
Si se establece en true
, una opción de contexto peer_certificate_chain
será creada, conteniendo la cadena del certificado.
-
SNI_enabled
boolean
-
Si se establece en true
, la indicación del nombre del servidor se activará. Activando SNI
se permiten múltiples certificados en la misma dirección IP.
-
SNI_server_name
string
-
Si se establece, entonces este valor se utilizará como nombre del servidor para la indicación
de nombre de servidor. Si este valor no está establecido, entonces el nombre del servidor se supone
basado en el nombre de host utilizado cuando se abre el flujo.
Nota:
Esta opción está obsoleta a favor de peer_name
,
a partir de PHP 5.6.0.
-
disable_compression
boolean
-
Si está establecido, deshabilita la comprensión TLS. Esto puede ayudar a mitigar el vector
de ataque CRIME.
-
peer_fingerprint
string | array
-
Aborta cuando el resumen del certificado remoto no coincide con el has
especificado.
Cuando se emplea un string, la longitud determinará qué algoritmo hash
se aplica, si "md5" (32) o "sha1" (40).
Cuando se emplea un array, las claves indican el nombre del algoritmo hash
y cada valor correspondiente es el resumen previsto.
Notas
Nota:
Debido a que ssl://
el es transporte subyacente para las envolturas
https://
y
ftps://
,
cualquier opción de contexto que aplique para ssl://
también aplica para
https://
y ftps://
.
Nota:
Para que SNI (Server Name Indication) esté disponible, entonces PHP se debe compilar
con OpenSSL 0.9.8j o superior. Se utiliza
OPENSSL_TLSEXT_SERVER_NAME
para determinar si SNI está
soportado.