Python3 DTLS Server/Client

Python3 DTLS Server/Client

我计划在 python3 中实现一个“简单的”DTLS 工具,它能够启动(客户端)并接受与 PSK 的 DTLS(服务器)连接作为 PoC(稍后我计划将其扩展到基于证书的身份验证)。 我花了几天时间研究提供此功能的库,但我仍然不确定该使用什么。 (非常欢迎任何带有 documentation/examples 的 wrapper/library 建议)。

虽然使用 openssl 二进制文件创建 DTLS Clients/Servers 很简单(例如):

openssl s_server -dtls -accept 1337 -nocert -psk deadbeef -cipher PSK-AES128-CCM8

服务器(具有特定的密码套件)和

openssl s_client -dtls -connect 127.0.0.1:1337 -psk deadbeef -cipher PSK-AES128-CCM8

对于客户,我正在努力寻找 python 来做到这一点。 (pyopenssl 不提供 DTLS 支持)是否有使用广泛支持的 library/wrapper 实现的具体示例? (有一些 Coap/IoT 库专注于客户端 (aiocoap),但我认为有必要同时实现这两个方面)

我最终使用了 mbedTLS (former PolarSSL). They offer a quite extensive Python3 wrapper,它提供了几乎所有的 mbedTLS 功能。自述文件提供了一个非常有用的 DTLS 示例实现,使用 psk and/or 证书进行身份验证。