首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MQTT:SSL routines:SSL3_GET_RECORD:wrong版本号

MQTT:SSL routines:SSL3_GET_RECORD:wrong版本号
EN

Stack Overflow用户
提问于 2013-09-20 21:05:49
回答 1查看 9.1K关注 0票数 4

我正在尝试将SSL与MQTT一起使用,并得到以下错误,

代码语言:javascript
复制
1379677998: Client connection from 127.0.0.1 failed: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number.
1379678058: OpenSSL Error: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure
1379678058: Socket read error on client (null), disconnecting.

我的conf文件如下所示:

代码语言:javascript
复制
port 8883
cafile /home/administrator/Downloads/mosquitto-1.2.1_dilip/test/ssl/test-root-ca.crt (also tried all-ca.crt here)
certfile /home/administrator/Downloads/mosquitto-1.2.1_dilip/test/ssl/server.crt
keyfile /home/administrator/Downloads/mosquitto-1.2.1_dilip/test/ssl/server.key
tls_version tlsv1
require_certificate true (tried commenting this too)

然后我从test文件夹运行08-ssl-connect-cert-auth.test。下面包含的代码片段

代码语言:javascript
复制
    mosquitto_tls_opts_set(mosq, 1, "tlsv1", NULL);
    mosquitto_tls_set(mosq, "../ssl/test-root-ca.crt", "../ssl/certs", "../ssl/client.crt", "../ssl/client.key", NULL);
    mosquitto_connect_callback_set(mosq, on_connect);
    mosquitto_disconnect_callback_set(mosq, on_disconnect);

    rc = mosquitto_connect(mosq, "localhost", 8883, 60);

环境信息:

代码语言:javascript
复制
Python 2.7.3
OpenSSL 1.0.1 14 Mar 2012
Description:    Ubuntu 12.04.2 LTS
Release:    12.0
mosquitto-1.2.1/mosquitto-1.2

请让我知道这里会出什么问题?我还尝试使用gen.sh生成证书。

提前谢谢。

-Dilip

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-20 21:39:09

总而言之,您应该生成自己的证书,不要使用蚊子提供的证书进行测试,或者使用gen.sh脚本,而不修改它以获取您自己的详细信息。

要使用提供的证书,您应该在代理中使用all-ca.crt。它包含示例根CA和中间CA证书。客户端仅需要根CA进行验证。

您在代理配置中使用的是证书的完整路径,但在客户端中使用的是相对路径。你确定它们都是对的吗?

你有没有试过用make test原封不动地运行测试?例如,这将告诉您openssl安装是否有问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18917555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档