使用SSL / TLS协议来保护与m2mqtt的通信

时间:2017-10-26 16:25:10

标签: c# ssl mqtt

我正在开发一个MQTT客户端,它将数据发布到MQTT Brokers中。我的应用程序现在能够发布纯文本数据,我需要使用TLS协议加密这些数据。这个选项由m2mqtt.dll提供,但我有几个问题。

问题1: 我应该生成什么类型​​的证书?

问题2: 如果我正在运行两个发布到两个不同代理的MQTT客户端(iot.eclipse.org和broker.hivemq.com),我应该为两个MQTT客户端生成两个不同的证书吗?

问题3: 我是否应该将相同的证书分配给将使用已发布数据的MQTT客户端发布者和MQTT客户端订阅者?

1 个答案:

答案 0 :(得分:0)

如果要使用证书来标识客户端,则只需创建客户端证书。

您在问题中提到的2个公共经纪人不太可能接受任何客户证书进行身份验证(除了非常基本的概念证明之外,您不应该使用它们,因为它们完全向公众开放并且仅提供用于教育用途)。

如果您正在运行使用SSL / TLS配置的自己的代理,那么您将知道您需要向哪个CA签署您可能希望向客户发出的任何证书。

  1. 标准x509证书
  2. 查看有关问题及上述说明的评论
  3. 这完全取决于您要归档的内容,如果您关心能够告诉您的客户(可能是出于ACL目的),那么您将需要不同的证书。如果您只关心客户来自已知来源,那么您可以重复使用证书。