Le varianti di questo errore sono state pubblicate in tutto il sito ma nessuna delle soluzioni sembra funzionare per me.Ruby: SSL_connect SYSCALL restituito = 5 errno = 0 stato = stato sconosciuto (OpenSSL :: SSL :: SSLError)
Sono in esecuzione ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
e OpenSSL 1.0.1k 8 Jan 2015
.
eseguendo il seguente:
require 'net/http'
require 'openssl'
url = 'https://ntpnow.com/'
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.ssl_version = :TLSv1
http.get(uri.path)
Discariche questa traccia:
/usr/local/lib/ruby/2.2.0/net/http.rb:923:in `connect': SSL_connect SYSCALL returned=5 errno=0 state=unknown state (OpenSSL::SSL::SSLError)
from /usr/local/lib/ruby/2.2.0/net/http.rb:923:in `block in connect'
from /usr/local/lib/ruby/2.2.0/timeout.rb:74:in `timeout'
from /usr/local/lib/ruby/2.2.0/net/http.rb:923:in `connect'
from /usr/local/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
from /usr/local/lib/ruby/2.2.0/net/http.rb:852:in `start'
from /usr/local/lib/ruby/2.2.0/net/http.rb:1375:in `request'
from /usr/local/lib/ruby/2.2.0/net/http.rb:1133:in `get'
from bin/ntpnow_test.rb:9:in `<main>'
Navigazione al sito da un browser mostra il certificato sembra andare bene. Anche Curl non produce errori.
Inoltre, quando provo con Ruby 1.9.3 sembra funzionare. Tuttavia, non sono propenso a eseguire il downgrade delle versioni di Ruby se riesco a trovare una soluzione.
Potete dirmi, per favore, che cosa esattamente ha causato questo problema?
UPDATE:
risposta e la spiegazione di sotto di Steffen è corretto. Per riferimento futuro, ecco come diagnosticare questo problema.
- Determinare innanzitutto quali crittografie il server supporta. Esegui il comando
nmap --script ssl-enum-ciphers ntpnow.com
. Trova la sezione che elenca le cifre supportate. - Determinare la chiave di crittografia da passare come parte di
http.ciphers
. Eseguiopenssl ciphers
. Questo sputerà un elenco di cifrature delimitato da:
. Trova quello che corrisponde al risultato del passaggio 1.
Eccellente! Questo ha funzionato. L'unica differenza è che ho dovuto usare DES-CBC3-SHA come codice. Grazie mille! – prajo
@prajo: ho cambiato la risposta per usare il codice corretto. –