• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь HTTPS connection problem

belyaewas

New member
Здравствуйте! Требуется помощь в решении проблемы соединения с сервером по https.
Не происходит соединения с конкретным сервером. С серверами google.ru, github.com, vk.com, yandex.ru и т.д. соединение успешное.

Использовал код с примера с библиотеки (GitHub - esp8266/Arduino: ESP8266 core for Arduino) . Ниже приведен debug:

Starting connection to server...
please start sntp first !
State: sending Client Hello (1)
State: receiving Server Hello (2)
State: receiving Certificate (11)
Error: Invalid X509 ASN.1 file (X509 not ok)
Error: bad certificate
Alert: bad certificate
Alert: close notify
NO_CONNECTED

Disconnecting from server...
 

pvvx

Активный участник сообщества
Написали же сами: Error: bad certificate.
Поставьте правильный сертификат. Старые, 128-ми битные больше не принимаются на большинстве HTTPS. Смена по всей сети, 128-бит ныне не считается надежным и сопровождается красной полосой и предупреждением в броузерах.
Необходимо заменить SSL сертификаты с алгоритмом хеширования SHA1 на SHA2 до 1 января 2016 года! / VPS от Infobox / Сообщество InfoboxCloud
 

belyaewas

New member
Написали же сами: Error: bad certificate.
Поставьте правильный сертификат. Старые, 128-ми битные больше не принимаются на большинстве HTTPS. Смена по всей сети, 128-бит ныне не считается надежным и сопровождается красной полосой и предупреждением в броузерах.
Необходимо заменить SSL сертификаты с алгоритмом хеширования SHA1 на SHA2 до 1 января 2016 года! / VPS от Infobox / Сообщество InfoboxCloud
То есть сменить сертификат сервера? или метки? а если метки не подскажете как это сделать?
 

pvvx

Активный участник сообщества
То есть сменить сертификат сервера? или метки? а если метки не подскажете как это сделать?
Из решений видел, что к ESP8266 прикручивают отдельную микросхему, т.к. он не поддерживает SHA2 и новые сертификаты...
 

belyaewas

New member
Из решений видел, что к ESP8266 прикручивают отдельную микросхему, т.к. он не поддерживает SHA2 и новые сертификаты...
Стоп, но серверы типо гугла, яндекса же я конекчусь, они же не могли остаться на устаревших сертификатах
 

pvvx

Активный участник сообщества
Стоп, но серверы типо гугла, яндекса же я конекчусь, они же не могли остаться на устаревших сертификатах
Они частично поддерживают устаревшие сертификаты. Каждый день по разному, завтра уже могут отключить. Со старым типом вы получаете не полный доступ, а ограниченную версию страницы, аналогичную HTTP без "S".
Да и стоит ли заморачиваться, если все новые модули (RTL00, ESP-32S, ...), с такой-же ценой, как ESP8266 поддерживают TLS/SSL от MBED и имеют аппаратный комплекс для шифрации/дешифрации? На это у них уходит около 64 кило RAM (к примеру для google - у него длина текущего необходимого буфера на SSL_MAX_CONTENT_LEN от 10240, что для TLS/SSL от MBED надо умножить примерно на 4..6 и получите необходимый минимум для буферов в 'Heap', без учета буферов самого соединения). Предел у SSL_MAX_CONTENT_LEN = 16384. Если поставить максимум сразу - не требуется предварительного вписывания каких-то сертификатов или их хешей - т.е. доступны все HTTPS. Менять SSL_MAX_CONTENT_LEN стоит, если требуется ограничение использования RAM. Для git, к примеру хватает и до 7000, что отожрет не более 40 кило. На RTL8711AM - вообще это бир-бар, с его 2.5 Мегабайта RAM.
Исправить ситуацию выпадения из IoT ESP8266 можно только припаяв к нему внешнюю микруху шифрации/дешифрации, что где-то на сайте уже описано и сделали... Ну или не пользоваться общественными HTTPS, а лепить обращение только к своим ресурсам в глобальном инет по своим протоколам.
Пример HTTPS клиента для rtlDuino RtlDuino/WiFiSSLClient.ino at master · pvvx/RtlDuino · GitHub c регулировкой SSL_MAX_CONTENT_LEN.
 
Последнее редактирование:
Сверху Снизу