我尝试遵循mosquitto所示的指南,但是一旦启动灭蚊器

mosquitto -c mosquitto.conf


定义端口,ca.crt,server.crt,server.key的位置

然后我使用相同的CA文件执行类似的步骤,以对客户端密钥和证书进行签名。

然后启动客户

mosquitto_pub -p [port] -h localhost --cafile [ca.crt filepath] -t "hello" -m "hello world"


当我这样做而没有密钥和证书时,我得到

Error: Success


但是当我使用密钥和证书时

mosquitto_pub -p [port] -h localhost --cafile [ca.crt filepath] --cert [client.crt path] --key [client1.key path] t "hello" -m "hello world"


我懂了

Error:Success


在服务器端,我看到以下错误

... routines:SSL3_READ_BYTES: sslv3 alert certificate unknown
... routines:SSL3_READ_BYTES: ssl handshake failure

最佳答案

我运行openssl命令来验证CA批准了这两个生成的证书,并且确实如此。

事实证明,在输入证书的详细信息时,我误认为了通用名称部分的目的。将其设置为服务器的IP地址后,一切正常

关于ssl - Mosquitto TLS/SSL SSL3_READ_BYTES:ssl握手失败,错误:成功和sslv3警报,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40333478/

10-10 15:03