繁体   English   中英

用于使用 PFX 证书的 Mosquitto 服务器配置

[英]Mosquitto server conf for using PFX certificate

我已经能够获得与 mosquitto 的 TLS 连接,并使用 CA.crt、server.crt、server.key 以及 client.crt 和 client.key。 我能够使用 MQTTfx 和命令行来订阅和发布没有问题。 以下是我为任何需要它的人提供的完整设置,我正在寻找使用 pfx 证书的帮助。

我被要求弄清楚如何使用 PFX 客户端证书(包含 client.crt 和 client.key)以及 ca.crt 来订阅和发布到代理,我不认为这是 MQTTfx 1.7 或 CMD 示例中的选项 I可以在网上找到。 想知道任何人都有过使用 PFX 的经验,可以通过经纪人设置和子示例启发我。

经纪人设置:

listener 8883
log_type error
log_type notice
log_type information
log_type debug
require_certificate true
use_identity_as_username true
cafile C:\Program Files\mosquitto\cert\ca.crt
keyfile C:\Program Files\mosquitto\cert\server.key
certfile C:\Program Files\mosquitto\cert\server.crt

订阅命令行

mosquitto_sub -h 192.167.41.17 -t home/garden/fountain --cafile "C:\ca.crt" --cert "C:\client.crt" --key "c:\client.key" -d -p 8883

此项目中使用的证书是自签名的:创建 CA:

openssl genrsa -des3 -out ca.key 2048

openssl req -new -x509 -days 1826 -key ca.key -out ca.crt

创建服务器:

openssl genrsa -out server.key 2048

openssl req -new -out server.csr -key server.key

openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 360

创建客户端:

openssl genrsa -out client.key 2048

openssl req -new -out client.csr -key client.key

openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 360

要创建 pfx:

openssl pkcs12 -export -out certbag.pfx -inkey client.key -in client.crt -in

MQTTfx 设置

mosquitto_pubmosquitto_sub将只接受所有证书/密钥的 PEM 编码文件。 这些工具无法直接使用 PKCS12(.p12 或 .pfx)证书存储/捆绑包。

如果版本 v1.7(如果是 v5.0,则为最新版本)也不支持传递 PKCS12 捆绑包,那么没有什么神奇的方法可以做到,您唯一的选择是使用 openssl 将其分解为各个部分(证书、密钥和 ca 证书)以 PEM 格式编码并传递这些文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM