【问题标题】:2 way Secured Mosquitto MQTT error2 方式 Secured Mosquitto MQTT 错误
【发布时间】:2018-07-02 02:36:51
【问题描述】:

我是 MQTT 的新手。我用 ssl 创建了一个 mosquitto 代理并成功连接。我创建证书的命令为:

openssl req -new -x509 -days durations -keyout mqtt_ca.key -out mqtt_ca.crt
openssl genrsa -des3 -out mqtt_server.key size_bits
openssl req -out mqtt_server.csr -key mqtt_server.key -new
openssl x509 -req -in mqtt_server.csr -CA mqtt_ca.crt -CAkey mqtt_ca.key -CAcreateserial -out mqtt_server.crt -days durations*

在 mosquitto.conf 中:

port 8883
cafile your_path/mqtt_ca.crt
certfile your_path/mqtt_server.crt
keyfile your_path/mqtt_server.key
require_certificate false
tls_version tlsv1.1

但这只是一种方式连接。我想设置 `require_certificate true 但我不知道如何创建客户端证书和修改 mosquitto.conf。请告诉我如何做到这一点。非常感谢!

【问题讨论】:

    标签: mqtt mosquitto broker


    【解决方案1】:

    创建证书颁发机构过于详细,无法在此处介绍,但网上有很多示例,例如有很多关于如何在线创建自己的证书颁发机构 (CA) 的示例,例如

    https://jamielinux.com/docs/openssl-certificate-authority/

    对于代理证书,CN 应该与运行代理的机器的主机名匹配。

    对于客户端证书,CN 可以是任何你想要的。

    mosquitto.conf 文件的唯一更改是确保cafile 入口指向您在设置CA 说明开始时生成的CA 证书。

    如果您想强制执行require_certificate true,那么您可能还应该查看use_identity_as_username true,以便在匹配 ACL 时使用客户端证书中的 CN 作为用户名

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多