【问题标题】:session resumption using session ids in mqtt使用 mqtt 中的会话 ID 恢复会话
【发布时间】:2019-02-16 16:07:54
【问题描述】:

我已经使用 C 编写了 paho-client 程序(1-publisher,1-subscriber)。并且我能够使用 TLSv2 通过 mosquitto 代理传输数据。现在我想使用会话 ID 启用会话恢复。

在我的 mosquitto 代理配置文件和我的客户端 C 程序中要进行哪些更改...

Openssl 说服务器需要生成会话 id,在这种情况下意味着 mosquitto。但是,mosquitto.conf 没有设置缓存(存储会话 ID)的选项。我已经通过 Wireshark 跟踪数据包,数据包被加密,但每次发送新的会话票。我只想通过使用会话恢复来优化握手(最好使用会话 ID 或会话票证)。

【问题讨论】:

    标签: session openssl mqtt mosquitto paho


    【解决方案1】:

    早在 2017 年 8 月 here 的 mosquitto 开发邮件列表中就已经讨论过这个问题。

    言下之意就是broker端没有配置,mosquitto会缓存session ids 300秒。

    至于客户端,似乎没有内置支持,您需要查看使用SSL_set_session() 将保存会话应用到套接字并使用SSL_CTX_sess_set_new_cb() 保存会话以供重用。

    【讨论】:

    • 我已经浏览了开发邮件列表,它没有多大用处。它处理会话票证,没有提供有关会话 ID 的信息。对于客户端,我使用了 SSL_set_session() 并引用了此链接nachtimwald.com/2014/10/06/client-side-session-cache-in-openssl,它使用套接字恢复会话。由于 MQTT(mosquitto) 不处理套接字,我无法将链接中存在的信息应用到我的 paho-client 程序中..
    • 最好的跟进地点是邮件列表
    • eclipse.org/forums/index.php/t/1094988 .这样做回来,1831 位观众没有回复!
    • 发到开发邮件列表而不是论坛,更有可能得到回复。而且那篇文章都在一条线上,所以我怀疑它是否真的被阅读了很多次
    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 2020-05-21
    • 1970-01-01
    • 2023-04-02
    • 2014-06-27
    • 2010-12-09
    • 2017-09-08
    • 1970-01-01
    相关资源
    最近更新 更多