Eu não sei exatamente o que está acontecendo, mas notei que o curl não conseguia páginas seguras sem adicionar interruptores extras.
~# curl -v https://api.dreamhost.com
* About to connect() to api.dreamhost.com port 443 (#0)
* Trying 75.119.208.14...
* connected
* Connected to api.dreamhost.com (75.119.208.14) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
(hangs for a minute)
* Unknown SSL protocol error in connection to api.dreamhost.com:443
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to api.dreamhost.com:443
Agora, quando eu adiciono -1 (force tlsv1) ou -3 (force sslv3), o curl funciona perfeitamente. O problema é que outros programas parecem ter problemas semelhantes, como scripts python.
Quando eu tento o openssl ele trava como curl
openssl s_client -connect api.dreamhost.com:443
CONNECTED(00000003)
(HANGS)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 320 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
O mesmo acontece se eu usar -tls1_2, mas funciona se eu usar o switch -ssl3
Dados adicionais:
OpenSSL> version
OpenSSL 1.0.1e 11 Feb 2013
Alguém sabe como corrigir isso e fazer o curl ou o openssl funcionar com as configurações padrão? Eu tenho outra máquina com Debian lenny que pode executar ambos os comandos sem falhas, sem qualquer mudança.
Obrigado!
-Rodrigo