我尝试遵循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/