Próbuję użyć OpenSSL do połączenia z serwerem SSL.
Kiedy biegnę:
openssl s_client -connect myhost.com:443
Następujące konfiguracje klienta SSL działają dobrze:
- Windows (
OpenSSL 0.9.83e 23 Feb 2007
) - Linux (
OpenSSL 0.9.8o 01 Jun 2010
) - Linux (
OpenSSL 1.0.0-fips 29 Mar 2010
)
Dane wyjściowe z każdego udanego połączenia wyglądają następująco:
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DES-CBC3-SHA
Session-ID: (hidden)
Session-ID-ctx:
Master-Key: (hidden)
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1337266099
Timeout : 300 (sec)
Verify return code: 0 (ok)
Jednak gdy używam klienta z moim Ubuntu 12.04 (w / OpenSSL 1.0.1 14 Mar 2012
) , pojawia się błąd:
CONNECTED(00000003)
...:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
Jak mogę rozwiązać ten problem?
Wszystkie wskazówki są mile widziane!
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
. Chciałbym zrozumieć, co to wszystko znaczy! :)Odpowiedzi:
Wygląda na to, że jest to znany problem z OpenSSL 1.0.1 Ubuntu: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371
Nie wygląda na to, że poprawka jest dostępna. Jeśli to możliwe, możesz obniżyć do wersji 1.0.0.
Próbować
openssl s_client -tls1 -connect myhost.com:443
źródło
Ten błąd może być spowodowany starszą wersją openssl, gdy nie można ponownie wynegocjować szyfru (wygenerowałem samopodpisany certyfikat za pomocą krzywych eliptycznych).
W szczególności otrzymywałem ten sam błąd w systemie MacOS z domyślnym openssl - 0,9,8 Hz
Po zainstalowaniu wersji parzenia OpenSSL 1.0.2f błąd zniknął:
źródło
Jeśli wystąpi ten problem z serwerem Java HTTPS uruchomionym na OpenJDK, spróbuj edytować
/etc/java-7-openjdk/security/java.security
i komentować linięjak odkrył Christoph W .
źródło