我正在尝试使用 StackOverflow 答案中的步骤自动创建证书。
这些是我正在尝试的命令:
openssl genrsa -des3 -out ca.key 2048
openssl req -new -key ca.key -out ca-cert-request.csr -sha256
openssl x509 -req -in ca-cert-request.csr -signkey ca.key -out ca-root-cert.crt -days 365 -sha256
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server-cert-request.csr -sha256
openssl x509 -req -in server-cert-request.csr -CA ca-root-cert.crt -CAkey ca.key -CAcreateserial -out server.crt -days 360
在第 2 步中,我将 Common Name 留空。在第 5 步中,我尝试localhost
使用通用名称的实际主机名。
当我运行mosquitto_pub -h localhost -t mqttsTest42 -p 8883 -m testMessage --cafile "C:\Certificates\ca-root-cert.crt" --cert "C:\Certificates\server.crt" --key "C:\Certificates\server.key"
它输出这个:
Connection error: Connection Refused: not authorised.
Error: The connection was refused.
如果我手动运行 Mosquitto,它会给出:
C:\Program Files\mosquitto>mosquitto -c mosquitto.conf -v
1669685112: mosquitto version 2.0.14 starting
1669685112: Config loaded from mosquitto.conf.
1669685112: Opening ipv6 listen socket on port 8883.
1669685112: Opening ipv4 listen socket on port 8883.
1669685112: mosquitto version 2.0.14 running
1669685121: New connection from ::1:49375 on port 8883.
1669685121: Sending CONNACK to auto-7484C261-71E1-F653-3807-74471901380A (0, 5)
1669685121: Client auto-7484C261-71E1-F653-3807-74471901380A disconnected, not authorised.
我曾经与 Mosquitto 和另一位经纪人一起工作过。在我努力实现自动化的过程中,我改变了太多东西,现在甚至不能让上面最初的六个步骤为我工作了。
我目前使用的是 mosquitto 版本2.0.14
和 OpenSSL 版本3.0.7 1 Nov 2022 (Library: OpenSSL 3.0.7 1 Nov 2022)
。我已经尝试了另一个版本的 Mosquitto 和另一个版本的 OpenSSL。
我创建的批处理文件在这里。
我的 openssl.cnf 在这里。
我的 mosquitto.conf 包含这些行:
listener 8883
certfile C:\Certificates\server.crt
keyfile C:\Certificates\server.key
cafile C:\Certificates\ca-root-cert.crt
接下来我应该尝试什么?