Инициирование рукопожатия TLS с использованием ESP8266 с Arduino IDE

Я пытаюсь инициировать рукопожатие TLS, используя ESP8266 через TCP, но сервер, которому я отправляю пакет, продолжает возвращать ошибку декодирования TLS (код 50).

Сам пакет составляется и отправляется следующим образом:

const uint8_t packet[] = "\x16\x03\x03\x00\x2f\x01\x00\x00\x2b\x03\x03\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c\x00\x00\x02\x00\xa0\x01\x00\x00";
client.write(packet, sizeof(packet))

Я слышал, что эта ошибка может быть результатом ошибки в пакете, например, неправильной длины, но я думаю, что она составлена ​​правильно. (для справки я использовал страницу Википедии и несколько реальных пакетов TLS). Я также натолкнулся на эту тему, в которой упоминается явный и неявный TLS/SSL, но я не совсем уверен, относится ли это к моей проблеме.

Что я делаю неправильно? Я подумываю попробовать DTLS, если это невозможно.

1 ответ

TLS/SSL на esp не очень прост, если не сказать больше. Реализация отсутствует. Пожалуйста, посмотрите эту ветку. НТН

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