现在我正在努力改变 EMQtt 和 Erlang MQTT 代理,以便我可以使用预共享 key 而不是非对称方法执行 TLS 握手。
到目前为止,我几乎遍历了源代码中的每个文件,但找不到任何加密函数。所以这让我开始思考,它们可能在哪里进行?应用程序必须有一些控制权——在配置文件中,它让你指定 key 、证书和证书颁发机构证书——所以我假设应用程序确实处理握手是正确的吗?还是有一些内核接口(interface)?
如果有人能指出我正确的方向或让我知道我的理解有误,我将不胜感激!
最佳答案
我会猜测首先处理 TLS,然后将套接字连接传递给 MQTT 处理代码。
tserve 已经可以做到这一点,如果你不想编写自己的代码: https://github.com/trafero/tstack/blob/master/docs/tserve.md
否则,这可能是一个不错的起点: http://emqtt.io/docs/v2/design.html
关于ssl - TLS - 通常在哪里为 MQTT 代理执行 tls 握手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44851306/