Instalei o nodejs (lastest v.7.x.x) no meu pacote binário do formulário do CentOS 6.8. Eu estou tentando se conectar a um site que usa o antigo protocolo de criptografia TSLv1. No handshake com esse domínio (eu uso o módulo https) o NodeJS falha com a seguinte mensagem de erro:
Error: write EPROTO 140078368692000:error:14077438:SSL
routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal
error:../deps/openssl/openssl/ssl/s23_clnt.c:769:
at exports._errnoException (util.js:1033:11)
at WriteWrap.afterWrite [as oncomplete] (net.js:816:14)
E quando eu adiciono a opção secureProtocol (defini-la como TLSv1_method), recebo:
write EPROTO 140528424298272:error:14094438:SSL
routines:ssl3_read_bytes:tlsv1 alert internal
error:../deps/openssl/openssl/ssl/s3_pkt.c:1493:SSL alert number 80
140528424298272:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl
handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:659:
A versão do OpenSSL (como se fosse importante com o pacote binário) na minha máquina atualmente tem versão:
OpenSSL 1.0.1e-fips 11 Feb 2013
Até onde eu sei, o NodeJS usa seu próprio pacote binário, então a atualização não ajudaria (e eu gostaria de evitar isso, se possível).
Eu já verifiquei o changelog para o OpenSSL e parece não haver nenhum problema que afete a compilação específica do OpenSSL (problema de handshake da Imeen).