【发布时间】:2017-11-13 16:44:46
【问题描述】:
我正在尝试运行 azure iothub sdk c sample of the mqtt protocol。 我已经编译了 hte 项目,但是当我运行该程序时,它返回了一些关于 SSL 例程的错误
这是完整的错误:
error:1416F086: SSL routines:tls_process_server_certificate:certificate verify failed
Info: Closing tlsio from a state other than TLSIO_STATE_EXT_OPEN or TLSIO_STATE_EXT_ERROR
我只收到此错误重复五次,每接受一条准备传输到 IoTHub 的消息。
我读到我需要对示例目录中的 openssl 证书设置信任,但我还没有弄清楚如何执行此任务或如何避免此问题。
有人遇到过这个问题吗?
【问题讨论】:
-
您在哪个平台上运行示例?您使用的是哪个 sdk 版本?我已经在 windows 平台上使用 IoT Hub SDK for C 版本 1.1.27 测试了示例,它可以正常工作。
-
我已经为运行 linux 2.6.36 的 ARM 设备编译了 SDK,我遇到了这个问题,在 x86-64 上编译和运行不会给我任何错误。我想我在编译过程中犯了一些错误。 SDK版本是2017-11-03发布的最后一个版本
-
请检查您的linux操作系统是否安装了openssl。
-
我已经为 ARM 架构编译了 openssl 及其依赖项,然后我将它们复制到设备上并引用它们更新 LD_LIBRARY_PATH 与 libssl 和依赖项的位置。我在想我创建的 makefile 中有一个错误,但没有错误,因为 x86 的编译成功
-
请参考此链接:lists.debian.org/debian-kernel/2010/12/msg00219.html。我认为你应该检查你的 linux2.6.36 上的 openssl 工作。
标签: c azure azure-iot-sdk