Dudas con sockets y SSL/TLS

[email protected] (Micro Mega Dust)
Newsgroups php.general.es
Message-ID <[email protected]>
Hola lista,

Estoy escribiendo una librería que encapsula el uso de sockets y su capa 
criptográfica, y he visto que la función *stream_socket_enable_crypto* 
[1] admite una serie de métodos para la aplicación de dicha capa.
El problema es que no llego a estar seguro de qué propósito en concreto 
tiene uno de estos métodos: *SSLv23*, ni la poca información que he 
encontrado me parece del todo satisfactoria [2].

Mis preguntas:
1) Por lo que he podido deducir, SSLv23 es lo mismo que SSL3 capaz de 
degradarse a SSL2 si el host remoto no puede funcionar con SSL3. Es así?

2) Tengo pensado que mi librería ya sea capaz de intentar primero TLS 
luego SSL3 y por último SSL2. ¿Es por tanto innecesario permitir la 
opción SSLv23 junto a las otras tres anteriormente mencionadas? Sería 
redundante.

3) Es el transporte "ssl://" algo así como SSL1? O, como me imagino, se 
trata de SSLv23? De lo contrario, por qué no existe este transporte?


Pregunta adicional:
5) Considero que, en la practica, hay dos formas de crear una conexión 
segura. UNA) usando la función *stream_socket_client* [3] especificando 
uno de los transportes adecuados (ssl://, sslv2://, sslv3:// o tls://). 
DOS) Usando esta misma función con el transporte tcp://, y acto seguido 
usar la función *stream_socket_enable_crypto* para habilitar el cifrado 
sobre el socket ya abierto.
Es esta una afirmación correcta?


No tengo casi ni idea de como funciona este tema, por lo que cualquier 
matización, recomendación o información extra es bienvenida. Gracias.


[1] <http://php.net/manual/en/function.stream-socket-enable-crypto.php>
[2] <http://archives.postgresql.org/pgsql-general/2009-11/msg00365.php>
[3] <http://php.net/manual/en/function.stream-socket-client.php>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.