Я пытаюсь перенести azure-iot-sdk-c на плату stm32f767zi и добился небольшого успеха.Однако теперь, когда программа пытается установить рукопожатие SSL с сервером, mbedtls не может проверить сертификат, который я предоставил для сертификата сервера.Строка журнала:
x509_verify_cert () вернула -9984 (-0x2700)
, что означает ошибку MBEDTLS_ERR_X509_CERT_VERIFY_FAILED
Я пробовал по-другомупредоставление разных сертификатов (Baltimore CyberTrust Root, Microsoft IT TLS CA 1, с использованием сертификата, который отправляется для проверки), но все они терпят неудачу с одной и той же ошибкой.
Я сузил ошибку до mbedtls_rsa_rsassa_pkcs1_v15_verify () из библиотеки mbedtls, которая завершается с ошибкой:
MBEDTLS_ERR_RSA_INVALID_PADDING
* 1016LwIP и mbedtls работают правильно, мне остается верить, что сертификат, который я предоставляю, или одна из моих конфигураций неверны, но я не знаю достаточно о mbedtls / ssl, чтобы понять, какую конфигурацию / сертификат я должен использовать.
В целом мой вопрос будет, является ли сертификат, который я использовал для попытки подключения (Baltimore CyberTrust Root), правильным сертификатом для использования, и есть ли какие-либо очевидные настройки в mbedtls, которые я не устанавливал?