【问题标题】:Using SSL/TLS prtocols to secure communication with m2mqtt使用 SSL/TLS 协议保护与 m2mqtt 的通信
【发布时间】:2017-10-26 16:25:09
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您不需要创建任何证书来连接到这 2 个代理,您只需要访问合适的 CA 证书链来验证这些代理已经拥有的证书。
  • 如何访问这些代理的合适的 CA 证书链?
  • 两个代理都使用由公共证​​书颁发机构签名的证书,他们的证书应该包含在几乎所有可用的操作系统中。

标签: c# ssl mqtt


【解决方案1】:

如果您想使用证书来识别客户端,您只需要创建客户端证书。

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

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

  1. 标准 x509 证书
  2. 请参阅有关问题的 cmets 和上述注释
  3. 这完全取决于您尝试归档的内容,如果您关心能够区分您的客户(可能出于 ACL 目的),那么您将需要不同的证书。如果您只关心客户端是否来自已知来源,那么您可以重复使用证书。

【讨论】:

    猜你喜欢
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多