Como faço para atualizar o Ubuntu 14.0.4 para usar uma versão do openssl que não usa sslv3?

0

Estou tentando conectar-me a um site de API a partir de um sistema Ubuntu 14.0.4, usando uma API baseada em python. Essa API faz uma conexão https com o servidor da API (usando apenas o padrão python requests chamadas, com parâmetros que levam a uma invocação do método da API sendo chamado. O código python da API não se importa com TLS, SSH etc. depende do que é disponibilizado pelo sistema operacional.

Quando me conecto, seguindo a documentação da API, recebo um erro dizendo

[Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure.  

Evidentemente, o openssl está tentando usar o sslv3, que NÃO é suportado pelo servidor que estou tentando explicar.

Em algum lugar, vi o seguinte como uma sugestão de diagnóstico:

$ openssl s_client  -connect  bryce.cp.bsd.net:443 -tls1

Isso produz a mesma falha de handshake, mas com uma mensagem adicional de que

Secure Renegotiation IS NOT supported 

, que ilustra a natureza do problema. O primeiro método que tenta obter uma falha de handshake, não são feitas tentativas subsequentes.

Eu acho que preciso de uma versão mais nova do OpenSSL ou de alguma forma de configurar o existente que é o OpenSSL v1.0.1f, que é muito antigo.

Parece que o Ubuntu não fornece atualizações para este pacote no 14.0.4. Então eu teria que construir e instalar isso sozinho.

Estou procurando conselhos sobre a melhor maneira de fazer isso.

ATUALIZAÇÃO: Eu vejo que é bastante fácil executar o arquivo make que vem com o openssl. E vejo que ele instala o openssl em diretórios diferentes do pacote oficial. Então, simplesmente instalá-lo não vai mexer com o que eu tenho. Mas como eu digo ao Ubuntu para usar essa nova versão, ao invés da que ela vem com?

    
por Steve Cohen 04.05.2018 / 20:23

0 respostas