QtCOAP 在 Mac OS-X 上缺少 DTLS 支持



我想玩一下QtCOAP插件。不幸的是,我的OS-X Catalina上缺少DTLS支持。我得到的只是这个错误:

qt.coap.connection: DTLS is disabled, falling back to QtCoap::NoSecurity mode.

我已经使用在线安装程序完全安装了Qt 5.14.1(带有源代码(,然后使用预构建的qmake自己编译了COAP插件。

QtCoap代码中的DTLS特定部分被包装在#if QT_CONFIG(dtls)(qcoapqudpconnection_p.h(块中。这似乎被评估为错误。

如何启用 DTLS 支持?

从快速浏览源代码来看,DTLS 目前似乎只能使用 OpenSSL 使用。默认情况下,Qt是使用macOS上的SecureTranport框架构建的,该框架是该操作系统的官方加密库。

您可以重新构建 qtbase 模块以改用 OpenSSL,但请确保安装最新版本的 1.1 系列。

您可以使用macports或brew来获取OpenSSL。

最新更新