如何在 Mosquitto 上提供基于 SSL/TLS 的通信?
How to provide SSL/TLS based communication on Mosquitto?
我正在开发一个使用 Mqtt 协议与节点通信的应用程序。我在 Windows 上使用 Mosquitto 作为经纪人。我想使用 Mosquitto 的 SSL/TLS 功能来提供安全的身份验证和消息传递机制。我创建相关证书并在 mosquitto.conf 文件上进行配置。但是,当我尝试从命令提示符加载 mosquitto.conf 并重新启动 mosquitto 服务时,该服务无法启动并报错。我会解释我做了什么;
1) 我使用 OpenSSL 创建了证书。我遵循了“https://eclipse.org/mosquitto/man/mosquitto-tls-7.php”的说明。
首先,我创建了 ca.crt(根 CA 证书);
相关证书信息如上所示。我还输入 "trialca" 作为 ca.crt 的 PEM 密码。然后,我创建了 server.key(我使用 "trialsrv" 作为密码)、server.csr 和 server.crt;
;
2) 我在 mosquitto.conf;
上做了一些配置
cafile /demo/ca.crt
certfile /demo/server.crt
keyfile /server.key
require_certificate true
use_identity_as_username true
注意:我在端口 1883 上使用默认侦听器。
3) 我在 PC 上的 Mosquitto 服务器 运行 上从命令提示符加载 mosquitto.conf。
c:\Program Files (x86)\mosquitto> mosquitto -c mosquitto.conf
然后,我从 Windows 的服务中重新启动了 Mosquitto 服务。但是,它无法启动并报错。
有没有我做错了什么?我需要你的建议来解决这个问题。
如果您已经从命令行启动了一个 mosquitto 实例,那么将其作为服务启动将不起作用,因为第一个已经 运行 相同的配置。
我今天下午遇到了同样的问题。我通过删除服务器密钥中的密码来解决它。命令行 exe 不需要密码,服务启动时没有出现该错误。
生成证书后,运行 这个。 (先将 server.key 重命名为 server.key.org)
openssl rsa -in server.key.org -out server.key
我正在开发一个使用 Mqtt 协议与节点通信的应用程序。我在 Windows 上使用 Mosquitto 作为经纪人。我想使用 Mosquitto 的 SSL/TLS 功能来提供安全的身份验证和消息传递机制。我创建相关证书并在 mosquitto.conf 文件上进行配置。但是,当我尝试从命令提示符加载 mosquitto.conf 并重新启动 mosquitto 服务时,该服务无法启动并报错。我会解释我做了什么;
1) 我使用 OpenSSL 创建了证书。我遵循了“https://eclipse.org/mosquitto/man/mosquitto-tls-7.php”的说明。
首先,我创建了 ca.crt(根 CA 证书);
相关证书信息如上所示。我还输入 "trialca" 作为 ca.crt 的 PEM 密码。然后,我创建了 server.key(我使用 "trialsrv" 作为密码)、server.csr 和 server.crt;
2) 我在 mosquitto.conf;
上做了一些配置cafile /demo/ca.crt
certfile /demo/server.crt
keyfile /server.key
require_certificate true
use_identity_as_username true
注意:我在端口 1883 上使用默认侦听器。
3) 我在 PC 上的 Mosquitto 服务器 运行 上从命令提示符加载 mosquitto.conf。
c:\Program Files (x86)\mosquitto> mosquitto -c mosquitto.conf
然后,我从 Windows 的服务中重新启动了 Mosquitto 服务。但是,它无法启动并报错。
有没有我做错了什么?我需要你的建议来解决这个问题。
如果您已经从命令行启动了一个 mosquitto 实例,那么将其作为服务启动将不起作用,因为第一个已经 运行 相同的配置。
我今天下午遇到了同样的问题。我通过删除服务器密钥中的密码来解决它。命令行 exe 不需要密码,服务启动时没有出现该错误。
生成证书后,运行 这个。 (先将 server.key 重命名为 server.key.org)
openssl rsa -in server.key.org -out server.key