Сообщения об ошибках с веб-сервера Mon goose с mbedtls TLS - PullRequest
0 голосов
/ 06 января 2020

Я создаю HTTP (S) сервер на Intel SGX, используя mbedtls в качестве моей библиотеки TLS.

Я могу обслуживать контент, как и ожидалось, используя HTTP, но при переходе на TLS / SSL с использованием mbedtls я возникают некоторые более сложные проблемы, и сообщения об ошибках трудно понять.

Конкретно, когда я захожу на свой сайт с помощью префикса «https: //», я могу сказать, что mongoose / mbedtls выходит и читает сертификат. pem и key.pem, а затем делает вызов recv на «/». Во время этого вызова recv выдает следующую ошибку:

mg_ssl_if_mbed_err 0x7f9e8c023060 mbedTLS error: -0x7780

Из mbedtls sr c Я могу прочитать это немного не очень полезное объяснение:

#define MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE -0x7780 /**< A fatal alert message was received from our peer. */

Моя отправная точка - это simplest_web_server_ssl.

Вопросы: Как включить ведение журнала отладки mg и mbedtls? Как мне интерпретировать эти ошибки (или даже; какие могут быть причины этой ошибки)?

Искренне благодарен за любые подсказки!

1 Ответ

1 голос
/ 06 января 2020

См. https://github.com/cesanta/mongoose/blob/6.16/mongoose.c#L5161 и https://github.com/cesanta/mongoose/blob/6.16/mongoose.c#L5075

Таким образом, вы можете увеличить уровень журнала отладки, вызвав cs_log_set_level(LL_VERBOSE_DEBUG)

Ошибка, которую вы вероятно, это связано с тем, что ваш клиент не принимает неверный сертификат.

Попытка получить доступ к вашему серверу с помощью опции curl -k https://IPADDR

-k отключает проверку сертификата. Если эта команда curl работает, просто исправьте ваш сертификат - ваш код C работает нормально.

...