2 路安全 Mosquitto MQTT 错误

问题描述 投票:0回答:2

我是 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
2个回答
0
投票

创建证书颁发机构太详细了,这里无法详细介绍,但是网上有很多示例,例如有很多关于如何在线创建自己的证书颁发机构(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 作为用户名


0
投票

对于任何偶然发现这个问题的人,这个问题的答案在这里详细列出: http://www.steves-internet-guide.com/creating-and-using-client-certificates-with-mqtt-and-mosquitto/

© www.soinside.com 2019 - 2024. All rights reserved.