Opciones de contexto para SSL

Opciones de contexto para SSLListado de opciones de contexto para SSL

Descripción

Opciones de contexto para transportes ssl:// y tls://

Opciones

peer_namestring

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_peerboolean

Requerir verificación del certificado SSL utilizado.

Por defecto es true.

verify_peer_nameboolean

Requerir verificación de nombre del par.

Por defecto es true.

allow_self_signedboolean

Permite certificados auto-firmados. Requiere verify_peer.

Por defecto es false

cafilestring

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.

capathstring

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_certstring

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_pkstring

Ruta a fichero de clave privada local del sistema de ficheros en caso ficheros separados para el certificado (local_cert) y la clave privada.

passphrasestring

La frase de contraseña con la cual el archivo local_cert fue codificado.

CN_matchstring

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_depthinteger

Abortar si la cadena de certificados es demasiado profunda.

Por defecto es no verificarlo.

ciphersstring

Establece la lista de sistemas de cifrado disponibles. El formato de la cadena se describe en » ciphers(1).

Por defecto es DEFAULT.

capture_peer_certboolean

Si se establece en true, una opción de contexto peer_certificate será creada, conteniendo el certificado par.

capture_peer_cert_chainboolean

Si se establece en true, una opción de contexto peer_certificate_chain será creada, conteniendo la cadena del certificado.

SNI_enabledboolean

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_namestring

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_compressionboolean

Si está establecido, deshabilita la comprensión TLS. Esto puede ayudar a mitigar el vector de ataque CRIME.

peer_fingerprintstring | 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.

Historial de cambios

VersiónDescripción
5.6.0 Se añadieron peer_fingerprint and verify_peer_name. El valor predeterminado de verify_peer se cambió a true.
5.4.13 Se añadió disable_compression. Requiere OpenSSL >= 1.0.0.
5.3.2 Se añadió SNI_enabled y SNI_server_name.

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.

To Top