Образец Azure Iothub SDK MQTT - ошибка сертификата TLS
Я пытаюсь запустить Azure iothub SDK C образец протокола MQTT. Я скомпилировал проект hte, но когда я запускаю программу, она возвращает ошибку об SSL-подпрограммах
Это полная ошибка:
error:1416F086: SSL routines:tls_process_server_certificate:certificate verify failed
Info: Closing tlsio from a state other than TLSIO_STATE_EXT_OPEN or TLSIO_STATE_EXT_ERROR
Я получил только эту ошибку, повторенную пять раз, по одному на каждое принятое сообщение, готовое для передачи на IoTHub.
Я читал, что мне нужно установить доверие к сертификатам openssl в каталоге примеров, но я не понял, как выполнить эту задачу или как избежать этой проблемы.
Есть кто-то, кто уже сталкивался с этой проблемой?
2 ответа
В этом документе подробно описывается, как подготовить среду разработки, а также как запустить примеры на Linux, Windows или других платформах. Пожалуйста, обратитесь к разделу, чтобы перестроить ваш код, а затем запустить для тестирования.
Попробуйте использовать опцию TrustedCerts. С помощью этой опции вы можете передать в SDK сертификат, который используется для проверки сертификата сервера. Обычно это используется, когда либо у вас нет корневого сертификата, Baltimore CyberTrust, либо на вашем устройстве отсутствует концепция доверенного корневого хранилища сертификатов. Вы можете найти пример использования этой опции в
<repositoryRoot>\iothub_client\samples\iothub_client_sample_amqp_shared\iothub_client_sample_amqp_shared.c