Не удалось проверить сертификат цепочки серверов на клиенте Azure iot-sdk-c, работающем в стеке потоков Threadx

Я пытаюсь запустить свой IoT-клиент на клиенте Threadx-Os, у которого нет таких вещей, как хранилище файловой системы / сертификатов, как в Linux. Когда я смотрю в Wireshark, клиент закрывает соединение с Fatal,Bad сертификат ошибки. Я перепробовал все возможные варианты, которые предлагаются на разных форумах, чтобы решить эту проблему. Которые не решили мою проблему. Решение, которое я попробовал, упомянуто ниже.

С помощью API ниже добавлен только вышеупомянутый корневой сертификат Балтимора, доступный в cert.c.

IoTHubDeviceClient_LL_SetOption(device_ll_handle, OPTION_TRUSTED_CERT, certificates);

Это не работает для меня, потому что у нас нет доверенного магазина, как 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

Мне нужны ответы на два важных вопроса.

1) Нужно ли мне добавлять всю строку сертификата в cert.c (или) только первым корнем Балтимора в качестве корневого CA для моего клиента.

2) Без доверенного хранилища, как клиент может сказать лазурному облаку, что у меня есть доверенный корень.

0 ответов

Другие вопросы по тегам