【问题标题】:TLS Handshaking says Certificates created by AWS IoT Console are invalidTLS 握手表示 AWS IoT 控制台创建的证书无效
【发布时间】:2019-11-14 17:11:54
【问题描述】:

我在 AWS IoT 控制台创建了一个证书。当我在 Raspberry Pi 上运行 AWS 示例中的证书时,一切正常。我的证书嵌入到代码中用于测试目的,我使用 mbedtls_x509_crt_parse 函数来解析证书。

现在,我想在 MCU 上运行应用程序,但在握手期间出现 -2700 错误。 我正在使用嵌入到代码中的相同证书,但出现错误。

Raspberry Pi 和 MCU 项目之间的一切似乎都相同。只是MCU上没有时间定义(MBEDTLS_HAVE_TIME_DATE被注释掉)。

我正在使用 mbedTls 实现的 AWS IoT SDK 中的 mbedtls_wrapper.c 实现。当我尝试验证证书时,我收到“!受信任的 CA 未正确签署证书”警告。 问题是我没有创建证书,AWS 做了,而且我使用相同的证书但得到了这个。

我不是这方面的专家?谢谢

【问题讨论】:

    标签: amazon-web-services certificate ssl-certificate x509certificate2 handshake


    【解决方案1】:

    证书未由受信任的 CA 正确签名

    表示“服务器不知道您的证书文件的根 CA。您需要将根 CA 通知服务器”

    当您从 AWS 制作证书文件时,您可以获得您的证书文件和 rootCA 文件。

    您是否使用 rootCA 文件通过 SSL 进行连接?

    ex) ssl.connect("x.x.x.x", cert="xx.cert", rootCA = "xx.cert" , ..)

    以上代码只是伪代码。

    【讨论】:

      【解决方案2】:

      谢谢春, 是的,我解析了根 CA 并与我的证书链接。

      就我而言,这似乎与记忆有关。这是一个小系统,有 KB 的 RAM。我只是增加了堆大小并工作了。 如果没有足够的内存,我希望 mbedtls 给出一个特定的错误。 谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-11
        • 1970-01-01
        • 2019-02-28
        • 1970-01-01
        • 1970-01-01
        • 2019-09-10
        • 2018-12-19
        相关资源
        最近更新 更多