【问题标题】:azure iothub sdk mqtt sample - error tls certificateazure iothub sdk mqtt 示例 - 错误 tls 证书
【发布时间】: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


【解决方案1】:

This document 详细描述了如何准备您的开发环境以及如何在 Linux、Windows 或其他平台上运行示例。请参考重建代码部分,然后运行测试。

【讨论】:

  • 我已经关注了该文档,尝试直接连接到 iothub 我发现证书有问题。 Openssl 客户端返回给我一个 错误 20:无法获取本地颁发者证书,与我尝试连接的主机无关(google、amazon、ecc...)
  • 请使用cmd检查openssl:openssl s_client -connect .azure-devices.net:8883.
  • 我之前评论中的输出正是命令行中的输出,尽管我已经复制了整个 /etc/,但设备似乎无法找到完整的证书链ssl/certs 从我的开发环境到设备,相同的命令将在该机器上成功
  • 关于错误请看这里(stackoverflow.com/questions/12790572/…)。希望能帮到你。
【解决方案2】:

尝试使用 TrustedCerts 选项。使用此选项,您可以将用于验证服务器证书的证书传递给 SDK。这通常在您没有根证书 Baltimore Cyber​​Trust 或您的设备没有受信任的根证书存储的概念时使用。您可以在

中找到使用此选项的示例

<repositoryRoot>\iothub_client\samples\iothub_client_sample_amqp_shared\iothub_client_sample_amqp_shared.c

https://github.com/Azure/azure-iot-sdk-c/blob/44827986929af7f4fbb41806b880a6da4e13d3e8/iothub_client/samples/iothub_client_sample_amqp_shared/iothub_client_sample_amqp_shared.c#L261

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多