A incompatibilidade com a qual você se deparou é esta:
A versão do OpenSSL no RHEL5 (e seus derivados) não anuncia o suporte para o TLS. Só faz SSLv3 e SSLv2.
A versão do OpenSSL no RHEL6 (e suas derivadas) suporta o TLS até o TLSv1.2. Também faz SSLv3, mas quer negociar o TLS.
Eles devem ainda ser capazes de negociar uma sessão, já que há uma (pequena) lista de cifras comuns para ambos, mas dependendo do que você selecionou para configurações de cifra no servidor ( por exemplo, para atenuar o BEAST, eliminar cifras de baixa segurança, etc.) pode não haver nenhuma cifra comum que o cliente e o servidor possam usar para se comunicar.
Os conjuntos de criptografia para o servidor seriam definidos em <Connector ciphers=
no seu Tomcat server.xml
ou no SSLCipherSuite
do Apache se você o estivesse por trás do Apache. O cliente usaria o que foi configurado para usar ou DEFAULT
caso contrário.
A resolução é verificar os conjuntos de criptografia no servidor, por exemplo, com openssl ciphers -v STRING
, em que STRING é o que você configurou no servidor, repetindo o mesmo no cliente e, em seguida, ajustando um ou ambos até que um conjunto de criptografia esteja disponível e ambos negociarão.