首页 > 解决方案 > Python3 DTLS 服务器/客户端

问题描述

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

虽然使用 openssl 二进制文件创建 DTLS 客户端/服务器很简单(例如):

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 支持)是否有使用广泛支持的库/包装器的实现的具体示例?(有一些 Coap/IoT 库专注于客户端(aiocoap),但在我看来,有必要同时实现双方)

标签: python-3.xdtls

解决方案


我最终使用了mbedTLS(以前的 PolarSSL)。他们提供了一个相当广泛的Python3 包装器,提供了几乎所有的 mbedTLS 功能。自述文件提供了一个非常有用的 DTLS 示例实现,其特点是使用 psk 和/或证书进行身份验证。


推荐阅读