Я пытаюсь использовать OpenSSL для подключения к серверу SSL.
Когда я бегу:
openssl s_client -connect myhost.com:443
Следующие конфигурации клиента SSL работают просто отлично:
- 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
)
Выход из любого успешного соединения выглядит так:
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)
Однако, когда я использую клиент с моей Ubuntu 12.04 (w / OpenSSL 1.0.1 14 Mar 2012
), я получаю ошибку:
CONNECTED(00000003)
...:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
Как я могу приступить к решению этого?
Все советы очень ценятся!
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
. Хотелось бы я понять, что все это значит! :)Ответы:
Похоже, это известная проблема с Ubuntu 1.0.1 OpenSSL: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371
Это не похоже на исправление доступно. Если возможно, вы можете понизить до 1.0.0.
Пытаться
openssl s_client -tls1 -connect myhost.com:443
источник
Эта ошибка может быть вызвана более старой версией openssl, когда он не может повторно согласовать шифр (я сгенерировал самоподписанный сертификат, используя эллиптические кривые).
В частности, я получаю ту же ошибку на MacOS с openssl по умолчанию - 0.9.8zh
После установки brew версии OpenSSL 1.0.2f ошибка исчезла:
источник
Если вы столкнулись с этой проблемой на сервере HTTPS Java, работающем на OpenJDK, попробуйте отредактировать
/etc/java-7-openjdk/security/java.security
и закомментировать строкукак обнаружил Christoph W .
источник