我正在开发一个MQTT客户端,它将数据发布到MQTT Brokers中。我的应用程序现在能够发布纯文本数据,我需要使用TLS协议加密这些数据。这个选项由m2mqtt.dll提供,但我有几个问题。
问题1: 我应该生成什么类型的证书?
问题2: 如果我正在运行两个发布到两个不同代理的MQTT客户端(iot.eclipse.org和broker.hivemq.com),我应该为两个MQTT客户端生成两个不同的证书吗?
问题3: 我是否应该将相同的证书分配给将使用已发布数据的MQTT客户端发布者和MQTT客户端订阅者?
答案 0 :(得分:0)
如果要使用证书来标识客户端,则只需创建客户端证书。
您在问题中提到的2个公共经纪人不太可能接受任何客户证书进行身份验证(除了非常基本的概念证明之外,您不应该使用它们,因为它们完全向公众开放并且仅提供用于教育用途)。
如果您正在运行使用SSL / TLS配置的自己的代理,那么您将知道您需要向哪个CA签署您可能希望向客户发出的任何证书。