簡體   English   中英

mosquitto openssl 錯誤:ssl3_get_record:版本號錯誤

[英]mosquitto openssl error: ssl3_get_record:wrong version number

當我在路由器上使用 mosquitto 與我的客戶端程序建立 TLS 連接時,它不起作用。

這是錯誤日志:

[21028.515924]~DLT~14068~INFO     ~FIFO /tmp/dlt cannot be opened. Retrying later...
1635324116: mosquitto version 1.6.9 starting
1635324116: Config loaded from /etc/mosquitto/mosquitto.conf.
1635324116: Opening ipv4 listen socket on port 8883.
1635324116: Opening ipv6 listen socket on port 8883.
1635324132: New connection from 192.168.8.1 on port 8883.
1635324132: OpenSSL Error[0]: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
1635324132: Socket error on client <unknown>, disconnecting.

這是我的 mosquitto.conf:

port 8883

cafile /mnt/d/Files/Desktop/Project/cert/ca/ca.crt

certfile /mnt/d/Files/Desktop/Project/cert/broker/broker.crt

keyfile /mnt/d/Files/Desktop/Project/cert/broker/broker.key

require_certificate true

tls_version tlsv1.2

這是我的客戶端 SSL 代碼:

ssl_opts.trustStore = "/mnt/d/Files/Desktop/Project/cert/ca/ca.crt";
ssl_opts.keyStore = "/mnt/d/Files/Desktop/Project/cert/client/client.crt";
ssl_opts.privateKey = "/mnt/d/Files/Desktop/Project/cert/client/client.key";
ssl_opts.enableServerCertAuth = 1;
ssl_opts.verify = 1;
ssl_opts.sslVersion = MQTT_SSL_VERSION_TLS_1_2;

這是我客戶的更具體的代碼: publisher.h publisher.c agent.c

文檔

一個可選的空終止字符串數組,指定客戶端將連接到的服務器。 每個字符串都采用 protocol://host:port 的形式。 協議必須是 tcp 或 ssl 對於主機,您可以指定 IP 地址或主機名。 例如,要使用默認 MQTT 端口連接到在本地計算機上運行的服務器,請指定 tcp://localhost:1883。 如果此列表為空(默認),則使用在 MQTTClient_create() 上指定的服務器 URI。

確保您的 URL 以ssl://開頭,而不僅僅是 IP 地址和端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM