La siguiente es una lista de los varios transportes de socket estilo
URL que PHP tiene integrados para su uso con funciones de sockets
basados en secuencias, tales como fsockopen(), y
stream_socket_client(). Estos transportes
no se aplican a la Extensión de Sockets.
PHP 3, PHP 4, PHP 5. ssl:// y
tls:// a partir de PHP 4.3.0,
sslv2:// y sslv3:// a partir
de PHP 5.0.2
Nota:
Si no se especifica un transporte, se
asumirá tcp://
127.0.0.1
fe80::1
www.example.com
tcp://127.0.0.1
tcp://fe80::1
tcp://www.example.com
udp://www.example.com
ssl://www.example.com
sslv2://www.example.com
sslv3://www.example.com
tls://www.example.com
Los sockets del Dominio de Internet esperan un número de
puerto junto con una dirección de destino. En el caso de
fsockopen(), éste es especificado en un
segundo parámetro y por lo tanto no tiene impacto sobre el
formato de la URL de transporte. Sin embargo, en el caso de
stream_socket_client() y funciones relacionadas,
asà como ocurre con URLs tradicionales, el número de
puerto se especifica como un sufijo del URL de transporte
delimitado con el signo dos puntos.
tcp://127.0.0.1:80
tcp://[fe80::1]:80
tcp://www.example.com:80
Direcciones IPv6 numéricas con números de
puerto:
En el segundo ejemplo anterior, mientras que los ejemplos IPv4 y
con nombre de dominio fueron modificados solo ligeramente con la
adición de sus dos puntos y número de puerto, la
dirección IPv6 es rodeada por corchetes cuadrados:
[fe80::1]. Esto es para poder distinguir entre
los dos puntos usados en una dirección IPv6 y aquellos
usados para delimitar el número de puerto.
Los transportes ssl:// y
tls:// (disponibles únicamente cuando se
compila el soporte para openssl con PHP) son extensiones del
transporte tcp:// el cual incluye
encripción SSL. A partir de PHP 4.3.0 el soporte OpenSSL
debe ser compilado estáticamente con PHP, a partir de PHP
5.0.0 puede ser compilado como módulo o
estáticamente.
ssl:// intentará negociar una
conexión SSL V2 o SSL V3 dependiendo de las capacidades y
preferencias del host remoto. sslv2:// y
sslv3:// seleccionarán el protocolo SSL
V2 o SSL V3 explÃcitamente.
Tabla O-1.
Opciones de contexto para los transportes
ssl:// y tls:// (a partir
de PHP 4.3.2)
| Nombre | Uso | Predeterminado |
|---|
| verify_peer |
TRUE o FALSE.
Requerir verificación del certificado SSL usado.
| FALSE |
| allow_self_signed |
TRUE o FALSE.
Permitir certificados firmados por uno mismo.
| FALSE |
| cafile |
Ubicación del archivo de Autoridad de Certificado en un
sistema de archivos local, el cual debe ser usado con la
opción de contexto verify_peer para
verificar la identidad del conector remoto.
| |
| capath |
Si no se especifica cafile o el certificado
no se encuentra allÃ, el directorio apuntado
por capath es usado para buscar un
certificado apropiado. capath debe ser un
directorio de certificados correctamente habilitado mediante
resumen criptográfico.
| |
| local_cert |
Ruta al archivo de certificado local en el sistema de
archivos. Debe ser un archivo codificado mediante PEM, el cual
contenga su certificado y llave privada. Opcionalmente, puede
contener la cadena de expendedores del certificado.
| |
| passphrase |
La contraseña con la que el
archivo local_cert fue codificado.
| |
| CN_match |
El nombre común (Common Name) que estamos
esperando. PHP realizará comparaciones limitadas de
comodines. Si el nombre común no produce coincidencias,
el intento de conexión fallará.
| |
Nota:
Debido a que ssl:// es el transporte base para
las envolturas https:// y ftps://, cualquier
opción de contexto que se aplique
a ssl:// también se aplica a
https:// y ftps://.