我已经在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却创建了,并且我使用的是相同的证书,但是得到了。
我不是这方面的专家吗?谢谢
答案 0 :(得分:1)
证书未由受信任的CA正确签名
表示“服务器不知道证书文件的根CA。您需要将根CA信息发送到服务器”
从AWS制作证书文件时,可以获取证书文件和rootCA文件。
您是否使用rootCA文件通过SSL连接?
ex)ssl.connect(“ x.x.x.x”,cert =“ xx.cert”,rootCA =“ xx.cert”,..)
上面的代码只是伪代码。
答案 1 :(得分:1)
感谢淳, 是的,我解析了根CA并与证书链接在一起。
就我而言,似乎与记忆有关。这是一个很小的系统,内存为KBs。我只是增加了堆大小并开始工作。 如果没有足够的内存,我希望mbedtls给出特定的错误。 谢谢。