ssl - TLS - 通常在哪里为 MQTT 代理执行 tls 握手?

标签 ssl erlang mqtt tls1.2

现在我正在努力改变 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/

相关文章:

.net - 使用不同的 X509 证书配置 WCF SOAP 请求/响应的加密和签名

erlang - 为什么 -compile(export_all) 是不好的做法?

mysql - Erlang emysql iPhone 表情符号编码问题

java - 初始化 ByteArrayOutputStream?

python - 如何在 Django 中使用 paho mqtt 客户端?

java - Python下断断续续的 "sslv3 alert handshake failure"

ssl - Apollo federation PUSH 命令跳过 SSLValidation

django - 在 Mac OSX 上启用 TLS 1.2

garbage-collection - Erlang原子如何被垃圾收集

java - 无法从 Vert.x MQTT 服务器接收消息