MicroPython:Библиотеки/ussl

Материал из Онлайн справочника
Версия от 19:52, 2 сентября 2020; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Модуль ussl – модуль для работы с SSL/TLS[1]

В этом модуле реализована часть функционала соответствующего модуля CPython. Более подробно читайте в документации к CPython о модуле ssl.

В этом модуле реализован доступ к протоколу TLS (от англ. «transport level security», т.е. «защита транспортного уровня»), предшественником которого является протокол SSL (от англ. «secure sockets layer», т.е. «слой защищенных сокетов»), и средствам для одноранговой аутентификации для сетевых сокетов (и с клиентской, и с серверной стороны).

Функции

  • ussl.wrap_socket(sock, server_side=False, keyfile=None, certfile=None, cert_reqs=CERT_NONE, ca_certs=None) – берет потоковый объект sock (обычно экземпляр usocket.socket типа SOCK_STREAM) и возвращает экземпляр ssl.SSLSocket, обертывающий объект sock SSL-контекстом. У возвращенного объекта будут привычные для потокового объекта методы вроде read(), write() и т.д. В MicroPython у возвращенного объекта не будет сокетного интерфейса и методов вроде recv(), send() и т.д. В частности, серверный SSL-сокет необходимо создавать из обычного сокета, возвращаемого методом accept() на серверном сокете без SSL, у которого включен режим прослушивания.

Некоторые или даже все именованные аргументы выше на некоторых MicroPython-портах не поддерживаются. Внимание: Некоторые реализации модуля ussl НЕ ПРОВЕРЯЮТ серверные сертификаты, из-за чего установленное SSL-соединение может быть уязвимо к атаке посредника.

Исключения

  • ssl.SSLError – этого исключения НЕ СУЩЕСТВУЕТ. Вместо него используется базовый класс OSError.

Константы

  • ussl.CERT_NONE, ussl.CERT_OPTIONAL и ussl.CERT_REQUIRED – поддерживаемые значения для аргумента cert_regs.

<syntaxhighlight lang="python" enclose="div">

См.также

Внешние ссылки