MicroPython:Библиотеки/ussl: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div"> =...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Модуль ussl – модуль для работы с SSL/TLS<ref>[http://docs.micropython.org/en/latest/library/ussl.html docs.micropython.org - ussl – SSL/TLS module]</ref>= | |||
В этом модуле реализована часть функционала соответствующего модуля CPython. Более подробно читайте в документации к CPython о модуле [https://docs.python.org/3.5/library/ssl.html#module-ssl 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-сокет необходимо создавать из обычного сокета, возвращаемого методом [http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept accept()] на серверном сокете без SSL, у которого включен режим прослушивания. | |||
Некоторые или даже все именованные аргументы выше на некоторых MicroPython-портах не поддерживаются. | |||
Внимание: Некоторые реализации модуля ussl НЕ ПРОВЕРЯЮТ серверные сертификаты, из-за чего установленное SSL-соединение может быть уязвимо к атаке посредника. | |||
== Исключения == | |||
* ssl.SSLError – этого исключения НЕ СУЩЕСТВУЕТ. Вместо него используется базовый класс OSError. | |||
== Константы == | |||
* ussl.CERT_NONE, ussl.CERT_OPTIONAL и ussl.CERT_REQUIRED – поддерживаемые значения для аргумента cert_regs. | |||
<syntaxhighlight lang="python" enclose="div"> | <syntaxhighlight lang="python" enclose="div"> |
Текущая версия от 19:52, 2 сентября 2020
Модуль 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">