首页 文章

在mosquitto 1.2.1 / 1.2.2中,CA证书的SSL证书失败

提问于
浏览
2

尝试从mosquitto 1.1.3升级到1.2.1 / 1.2.1 . 我在尝试订阅活动时遇到此错误 .

mosquitto_sub -h 192.168.255.2 -p 8883 -v -t“test”--cafile /etc/certs/rootCA/ca.root.crt -d OpenSSL错误:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

相同的CA证书与1.1.3版本一起正常工作 .

openssl版本有什么问题吗?我有1.0.0版本 .

1 回答

  • 1

    问题是证书中的 commonName 与您要连接的主机名(在本例中为IP地址)不匹配 . 1.1.3没有验证这一点,因此容易受到假冒服务器的攻击 .

    您应该修复 commonName 以匹配您正在使用的主机名,或者更好地使用 subjectAltName 证书扩展来提供您的主机名/ IP地址 . subjectAltName 允许您在证书中指定任意数量的主机名和IP地址 . Mqttitude有一个如何生成证书的示例:https://github.com/binarybucks/mqttitude/blob/master/tools/TLS/generate-CA.sh

    我认为使用IP地址作为commonName是不受欢迎的 .

    作为最后一个选项,您还可以使用mosquitto_pub / sub的 --insecure 选项,或者如果使用网桥则设置 tls_insecure . 正如这些选项所暗示的那样,这样做会降低系统的安全性 .

相关问题