Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/07/2008, 08:13
Avatar de MexicanDeveloper
MexicanDeveloper
 
Fecha de Ingreso: junio-2006
Mensajes: 17
Antigüedad: 18 años, 7 meses
Puntos: 0
Exclamación PHP5 sockets SSL

Gracias por abrir esta llamada de auxilio

Necesito llevar a cabo una conexión segura, vía SSL a un servidor. Ya lo logré vía consola:
Código:
[root@hostname]# openssl s_client -connect di.rec.cion.ip:puerto -cert cert.pem -key privkey.pem
CONNECTED(00000003)
Pero vía código no lo he logrado y todos los códigos de ejemplo los encuentro para PHP4 (fsokopen) en lugar de PHP5 (stream_socket_client)

Éste es el código que utilizo:
Código PHP:
    // ....
    // $cert es un archivo de texto con la llave, el certificado y la CA concatenados
    
$context stream_context_create();
    
$result stream_context_set_option($context'ssl''local_cert',$cert);
    if(
$passPhrase$result stream_context_set_option($context,'ssl','passphrase',$passPhrase);
    
$result stream_context_set_option($context'ssl','verify_peer',false);
    
$result stream_context_set_option($context'ssl','verify_host',false);
    
$result stream_context_set_option($context'ssl','allow_self_signed',true);

    
$where 'ssl://'.$host.':'.$port;
    
$fp = @stream_socket_client($where$errno$errstr$timeout,STREAM_CLIENT_CONNECT$context);
    
// ... 
Si uso como protocolo "tcp" si obtengo respuesta, pero no es la que esperaba (ni debería ser ese protocolo), pero si uso como protocolo ssl (el que debería ser) me regresa error en la conexión.

A decir verdad soy nuevo en transportes seguros.... ¿Alguien puede orientarme un poco si voy bien?