TLS arriccia il POST con conseguente errore SSLv3


0

Sto cercando di fare una richiesta POST via curl su un server che supporta solo TLS 1.2, TLS 1.1 e TLS 1.0. Tuttavia, anche quando provo a specificare la necessità di TLS anziché SSL v. 3 predefinito (aggiungendo --- tlsv1) ottengo la seguente risposta:

curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Questa è la versione di arricciatura che sto usando:

curl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5

Non ci sono problemi con il firewall con la risoluzione dell'URL.

Come posso rendere il POST di successo?

Aggiornamento: ho provato anche a fare la richiesta con Python per cercare di capire qual è il problema. L'URL è interno, quindi non posso condividerlo, ma l'aiuto sarebbe apprezzato su quale potrebbe essere il problema di configurazione. Ecco l'errore Python:

urllib2.URLError: <urlopen error (1, 'error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure')>


Qual è l'URL del server al quale si sta tentando di connettersi? Se non lo fornisci, non possiamo aiutarti a risolverlo. Probabilmente dovremo chiudere la domanda come "impossibile duplicare".
jww

Risposte:


2

Come posso rendere il POST di successo?

Difficile dire quale sia il problema senza conoscere l'URL esatto. Ma data la versione di curl che stai usando potrebbe essere che il server richiede Server Name Indication (SNI) che non è supportato dalla vecchia versione di arricciatura che stai utilizzando.


Ottengo lo stesso errore quando faccio la richiesta con Python. vale a dire urllib2.URLError: & lt; urlopen error (1, 'error: 14077410: routine SSL: SSL23_GET_SERVER_HELLO: errore di handshake di avviso sslv3') & gt;
Jake

@JakeWasdin: I cambiamenti sono alti che il tuo pitone è anche troppo vecchio. SNI è supportato solo da Python 2.7.9.
Steffen Ullrich

0

L'errore "stretta di mano" indica che il client e il server non sono in grado di concordare su come impostare il canale sicuro richiesto per HTTPS. La versione di OpenSSL che stai utilizzando è molto vecchia e comprende solo SSL fino a sslv3, che il server richiede come minimo. Da qui l'errore "sslv3": sta informando che ha provato a parlare di SSL v3 (che è inferiore a TLS v1) e non è riuscito a ottenere una risposta significativa.

Sei sfortunato senza un aggiornamento a una versione più recente di OpenSSL, e anche in questo caso la versione arricciata potrebbe anche essere urtata per gestire anche la versione TLS più recente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.