如何在MQTT中使用SSL?

时间:2017-08-24 07:28:09

标签: ssl mqtt

我想在MQTT中实现单向SSL。根据我的研究,在途中SSL,客户端有一个存储的默认证书。它将使用此初始存储的证书,并将其与代理端的证书进行比较。如果证书有效,则他们建立了安全连接。但是,我们的嵌入式软件工程师说客户端不需要证书,它只需要从代理端获得证书然后它将用于安全连接。总结一下,我理解的是客户端有一个存储的证书,它会将它与经纪人的证书进行比较。工程师说客户端没有存储的证书,它只会从经纪人那里得到一个。

他已经通过使用任何最初存储的证书连接到我们的经纪人来测试它,它确实有效。现在我不明白SSL的实际工作方式。

1 个答案:

答案 0 :(得分:3)

使用MQTT的SSL与任何其他协议一样工作。

有2 *个主要模式

  1. 仅限服务器(代理)身份验证。在这种情况下,客户端连接到服务器(代理),代理将其证书发送给客户端。客户端检查证书是由客户信任的人发布(签名)的,这证明服务器(代理)是它声称的并且可以信任的人。然后,客户端和服务器(代理)进行密钥协商,以便建立加密隧道。检查服务器证书是否由可信方发出的行为是检查它是否由已知的CA(证书颁发机构)证书签名,这意味着客户端需要保留可信证书列表。

  2. 客户端和服务器(代理)的相互身份验证。这几乎和以前一样,除了客户端还将它自己的唯一证书发送到服务器(代理),还检查它是否由已知CA发出并且CN字段用作用户客户的身份。

  3. *还有预共享密钥模式,根本不使用证书。