Ошибки рукопожатия с Ubuntu 14.0.4 OpenSSL 1.0.1f и TLSv1_2016 - PullRequest
0 голосов
/ 04 мая 2018

Пожалуйста, потерпите меня. Я не эксперт по шифрованию SSL. Я просто хочу подключиться к серверу, используя их API. Я не в состоянии. Когда я использую этот API, как указано в документации, возникает следующая ошибка:

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

Похоже, что этот API размещен где-то на сервере AWS, и специалист службы поддержки направил мне этот документ AWS с дополнительной информацией о том, что их сервер использует TLSv1_2016. Я не уверен, что это правильно, но это то, что мне сказали.

Эта версия TLS не поддерживается OpenSSL, который поставляется с Ubuntu 14.0.4 (openssl v1.0.1f). Версия 1.2 IS поддерживается. Я обновляю свою систему на регулярной основе, и не похоже, что существует какой-либо одобренный релиз Ubuntu, поддерживающий этот протокол. Мне посоветовали обновить, но не понятно к чему.

Это все греческое для меня. Может кто-нибудь сказать мне, какое обновление я мог бы сделать мою систему, чтобы решить эту проблему?

ОБНОВЛЕНИЕ Проблема сохраняется после установки Ubuntu-18.04, которая поставляется с openssl 1.1.0g.

1 Ответ

0 голосов
/ 10 мая 2018

Ответы в основном из комментариев.

Проблема, очевидно, в том, что серверу, как и многим серверам SSL / TLS сегодня, особенно тем, которые обрабатывают несколько доменов, таких как Cloudfront, требуется расширение SNI (индикация имени сервера) в SSL / TLS. Это было (и легко проверяется) с помощью openssl s_client, который (в отличие от большинства программ) имеет параметр, который определяет, следует ли отправлять SNI.

Ранее вы не говорили, что этот код Python. Это Python, который связывается с OpenSSL и вызывает его. (ОС не участвует в SSL / TLS, только в протоколах TCP / IP более низкого уровня.) Согласно http://docs.python -запросам. org / en / master / community / faq / (внизу)

Python3 и Python 2.7.9+ включают встроенную поддержку SNI в свои модули SSL. Информацию об использовании SNI с запросами на Python <2.7.9 смотрите в ответе на переполнение стека. </p>

ссылка на с использованием запросов с TLS не дает поддержки SNI , в которой есть несколько ответов, которые, как представляется, состоят главным образом в обновлении различных вещей (и я не могу проверить, даже если вы предоставили подробную информацию о ваш Python и запросы, которые вы не сделали).

...