This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-CC3235SF:mqtt_client_over_tls_1_3示例连接失败(-3001)

Guru**** 2474710 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1454895/launchxl-cc3235sf-mqtt_client_over_tls_1_3-example-connect-fail--3001

器件型号:LAUNCHXL-CC3235SF

工具与软件:

你(们)好  

我们将使用最新的 SDK 并运行"mqtt_client_over_tls_1_3"示例、但该示例始终显示"[mqtt_if::error]连接失败:-3001"消息。

您对此错误代码有任何建议吗?

谢谢。

BR

Trevor

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Trevor

    来自 mbed TLS 的错误-0x2700 (MBEDTLS_ERR_X509_CERT_VERIFY_FAILED)表示证书存在问题。 从文件 x509.h:证书验证失败、例如 CRL、CA 或签名检查失败。

    您可以使用调试程序来确定证书验证失败的原因。 Mbed TLS 代码中没有太多可以放置宏 MBEDTLS_ERR_X509_CERT_VERIFY_FAILED 设置。

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan:  

    感谢您查找证书验证问题、我们检查了示例、它在 userFiles 文件夹中有许多证书文件、该代码还定义了证书文件名、我们的问题是:

    1. 在这个例子中,我们是否需要从 test.mosquitto.org 网站下载 mosquitto.org.der 并复制到 userFiles 文件夹中?

    2.我们是否需要删除  userFiles 文件夹中的其他证书文件/密钥(仅保留 mosquitto.org.der )?

    BR

    Trevor

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Trevor:

    我很抱歉,但我不能回答你的问题,因为我从来没有使用 mosquito 经纪人

    通常、对于任何 TLS 连接(这意味着 MQTT)、您需要上传 CA 文件(使用正确的链)、以便能够在客户端连接期间验证服务器。 如果服务器需要使用证书验证客户端、则客户端需要拥有私钥和证书。

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan:  

    我们并不熟悉物联网 MCU、因此我们遵循 simplelink Academy (Wi-Fi MQTT)来启用安全客户端。 它可以 通过8883端口连接到 mosquito 代理。 但对于 "mqtt_client_over_tls_1_3"示例 、该示例无法连接到 mosquitto 代理、您是否有运行该示例的指南、TI 是否仍支持该示例?

    谢谢。

    BR

    Trevor

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Trevor

    我不确定。 您需要等待 TI 回答。 但由于假日季、他们的回答时间可能会更长。

    但一般而言、TI 不对第三方系统的更改负责。

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!
    我还没有自己尝试过、但您需要将此证书编程到文件系统中。

    握手过程中出现故障、因此很可能无法使用根 CA 验证您从服务器获得的证书链。

      在 slnetifWIFI.c 中将 DEBUG_LEVEL 更改为3后、是否可以提供当前得到的日志?

    此致、

    Shlomi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     Shlomi、您好!  

    我们重新导入了"mqtt_client_over_tls_1_3"示例、我们似乎可以连接到代理、但我们发现了另一个问题。 在本例中、它使用" mosquitto.org.der"作为证书、但如果我们将其替换为" mosquitto.org.crt"、它将无法连接到代理。 (我们可以使用 "mqtt_client 示例中的 mosquitto.org.crt"连接到代理 )

    谢谢。

    BR

    Trevor

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    CRT 后缀为 PEM 格式。 不确定 mbedtls 预编译库是否使用 PEM 支持进行编译(MBEDTLS_PEM_PARSS_C)。 否则、DER 是默认值、并且是唯一支持的值、因此很可能这是导致错误的根本原因、我可以从 mbedtls_x509_crt_pars()中看到。

    此致、

    Shlomi