@chrome123

Как настроить WSS в Python?

Вем привет.

Для создания WebSokcet сервера я использовал . такую библиотеку

Недавно встал вопрос о том что бы зашифровать соединение с вебсокетом

на сайте библиотеки в разделе WSS написано.

Протокол WSS является для WS тем же, чем HTTPS является для HTTP: соединение шифруется с помощью Transport Layer Security (TLS), который часто называют Secure Sockets Layer (SSL). WSS требует TLS-сертификатов, таких как HTTPS.

Вот как адаптировать пример сервера для обеспечения безопасных соединений. См. В документации на модуль SSL для настройки контекстного надежно.

То есть фактически я могу использовать те-же сертификаты что и для шифрования HTTP соединения.

Регистратор доменных имен представил мне такие ключи

certificate_ca.crt Корневой сертификат
certificate.csr CSR-запрос
certificate.crt Сертификат

Не могу понять как именно их подключить

ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
ssl_context.load_cert_chain("/chain.crt")

start_server = websockets.serve(counter, "localhost", 6666, ssl=ssl_context)


ssl_context.load_cert_chain("chain.crt")
    ssl.SSLError: [SSL] PEM lib (_ssl.c:4012)
  • Вопрос задан
  • 984 просмотра
Решения вопроса 1
@chrome123 Автор вопроса
Разобрался pem можно создать из сертификата и секретного ключа. Все работает шикарно.

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@cython
В документации есть пример, в котором используется сертификат в формате pem. Также попробуйте использовать os.path или pathlib для указания пути до сертификата.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы