我正在尝试在Threadx-Os Client上运行我的IoT客户端,该客户端没有文件系统/证书受信任的存储方式,例如linux。当我查看Wireshark时,客户端关闭连接时出现致命,错误的证书错误。我尝试了在不同论坛中建议的所有可能选项来解决此问题。哪些还没有解决我的问题。我尝试过的解决方案在下面提到。
通过使用以下API仅添加cert.c中可用的巴尔的摩以上根证书。
IoTHubDeviceClient_LL_SetOption(device_ll_handle,OPTION_TRUSTED_CERT, 证书);
it's not working for me because we don't have trusted store like linux.
ifdef SET_TRUSTED_CERT_IN_SAMPLES
// Setting the Trusted Certificate. This is only necessary on system with without // built in certificate stores. IoTHubDeviceClient_LL_SetOption(device_ll_handle, OPTION_TRUSTED_CERT, certificates);
endif // SET_TRUSTED_CERT_IN_SAMPLES
I need answers for two important questions.
1)我是否需要将整个证书字符串添加到cert.c中(或仅将第一个巴尔的摩根作为CA根)添加到cert.c中。
2)如果没有受信任的存储,客户端如何告诉azure-cloud我拥有受信任的根。
任何帮助将不胜感激。