Ошибка Python ssl SSLV3_ALERT_HANDSHAKE_FAILURE на aws.amazon.comPython

Программы на Python
Ответить
Anonymous
 Ошибка Python ssl SSLV3_ALERT_HANDSHAKE_FAILURE на aws.amazon.com

Сообщение Anonymous »

Я пытаюсь создать безопасное соединение с aws.amazon.com и получаю ошибку SSLV3_ALERT_HANDSHAKE_FAILURE. Для меня это не имеет смысла, поскольку на стороне сервера AWS, похоже, все в порядке. Тот же код прекрасно работает при подключении к другим сайтам.
Как это часто бывает, сама ошибка не содержит никаких подробностей об основной причине проблемы.
Вот код, который я использую, чтобы воспроизвести это:

Код: Выделить всё

import socket, ssl, sys

address = (
sys.argv[1],
int(sys.argv[2]) if len(sys.argv) > 2 else 443
)

print("Python %s" % sys.version)
print("OpenSSL %s" % ssl.OPENSSL_VERSION)
print("Address %s:%d" % address)
print("-" * 80)

test_socket = socket.socket()
test_socket.connect(address)

test_ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
test_ssl_context.check_hostname = False
test_ssl_context.load_default_certs()

wrapped_test_socket = test_ssl_context.wrap_socket(test_socket)

print("No exceptions!")
Этот код отлично работает при подключении к example.com:

Код: Выделить всё

Anonymous@machine:~ $ python test_ssl.py example.com
Python 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0]
OpenSSL OpenSSL 3.0.15 3 Sep 2024
Address example.com:443
--------------------------------------------------------------------------------
No exceptions!
Я тестировал это с разными версиями Python и операционной системы, с последней версией OpenSSL (3.0.15), и постоянно получаю сообщение SSLV3_ALERT_HANDSHAKE_FAILURE для aws.amazon.com:< /p>

Код: Выделить всё

C:\dev\mSSL>python test_ssl.py aws.amazon.com
Python 3.13.0 (tags/v3.13.0:60403a5, Oct  7 2024, 09:38:07) [MSC v.1941 64 bit (AMD64)]
OpenSSL OpenSSL 3.0.15 3 Sep 2024
Address aws.amazon.com:443
--------------------------------------------------------------------------------
Traceback (most recent call last):
File "C:\dev\mSSL\test_ssl.py", line 17, in 
wrapped_test_socket = test_ssl_context.wrap_socket(test_socket)
File "ssl.py", line 455, in wrap_socket
File "ssl.py", line 1076, in _create
File "ssl.py", line 1372, in do_handshake
ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1020)

Код: Выделить всё

Anonymous@machine:~ $ python test_ssl.py aws.amazon.com
Python 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0]
OpenSSL OpenSSL 3.0.15 3 Sep 2024
Address aws.amazon.com:443
--------------------------------------------------------------------------------
Traceback (most recent call last):
File "/home/Anonymous/test_ssl.py", line 17, in 
wrapped_test_socket = test_ssl_context.wrap_socket(test_socket)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 517, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1108, in _create
self.do_handshake()
File "/usr/lib/python3.11/ssl.py", line 1379, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:992)
Кто-нибудь знает, что вызывает эту проблему и как ее избежать?

Подробнее здесь: https://stackoverflow.com/questions/792 ... amazon-com
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»