2

mosquitto 1.1.3 から 1.2.1/1.2.1 にアップグレードしようとしているとき。イベントをサブスクライブしようとすると、このエラーが発生します。

mosquitto_sub -h 192.168.255.2 -p 8883 -v -t "テスト" --cafile /etc/certs/rootCA/ca.root.crt –d

OpenSSL エラー: エラー: 14090086: SSL ルーチン: SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました

同じ CA 証明書が 1.1.3 バージョンで正常に機能しています。

openssl のバージョンに問題はありますか? 私はバージョン1.0.0を持っています。

4

1 に答える 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

commonName として IP アドレスを使用することは嫌われていると思います。

最後のオプションとして、--insecuremosquitto_pub/sub のオプションを使用tls_insecureするか、ブリッジを使用している場合は設定することもできます。これらのオプションが示唆するように、これを行うとシステムのセキュリティが低下します。

于 2013-11-05T11:37:38.983 に答える