protoszx 0 29 января Опубликовано 29 января · Жалоба Здравствуйте! Имеются два варианта SIM800C с финальными прошивками, поддерживающие TLS1.2 1418B10SIM800C24_TLS12 и, соответственно, 1418B02SIM800C32_BT_TLS12 Необходимо реализовать поддержку HTTP/HTTPS запросов с помощью SIM800C. С HTTP запросами проблем нет - всё функционирует, как и должно. А вот с HTTPS - проблемы. Некоторые сервера в режиме игнорирования сертификата (AT+SSLOPT=0,1) позволяют обмениваться по HTTPS. Но далеко не все (На серверах, которые не пускают, есть поддержка версий TLS1.2 и даже предыдущих) А, самое главное, никак не получается установить корневой сертификат. Ни в каком варианте (.der, .crt, .p7b)... Т.е., файл закачать без проблем. Установить корневой сертификат - формально, тоже ОК (Например, AT+SSLSETROOT="C:\User\cert.crt",1467) Но эффекта нет, от слова совсем. Проблему "можно решить" за счет сторонних библиотек, например, в среде Arduino IDE. И тогда связь устанавливается, сертификаты работают... Но этот вариант не годится, так как конечное устройство должно взаимодействовать с SIM800 только через AT команды. Т.е., обеспечить SSL средствами самой SIM800C, как это указано в её документации SIM800 Series_SSL_Application Note_V1.05.pdf Есть, хоть кто-нибудь, кто смог успешно установить корневой сертификат на SIM800C и работать с ним по HTTPS? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 9 марта Опубликовано 9 марта · Жалоба On 1/29/2024 at 6:29 PM, protoszx said: Проблему "можно решить" за счет сторонних библиотек, например, в среде Arduino IDE. И тогда связь устанавливается, сертификаты работают... А посмотреть что делают сторонние библиотеки не судьба? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 10 марта Опубликовано 10 марта · Жалоба Можно лог файл увидеть как вы устанавливаете сертификат ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
protoszx 0 20 марта Опубликовано 20 марта · Жалоба В 09.03.2024 в 20:02, turnon сказал: А посмотреть что делают сторонние библиотеки не судьба? Сторонние библиотеки работают не через AT команды, именно поэтому "можно решить" взяты в кавычки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
protoszx 0 20 марта Опубликовано 20 марта (изменено) · Жалоба В 10.03.2024 в 08:47, CADiLO сказал: Можно лог файл увидеть как вы устанавливаете сертификат ? Последовательность команд и ответы от SIM800, в части установки корневого сертификата, полностью совпадают с теми, что указаны в документации к SIM800: SIM800 Series_SSL_Application Note_V1.05 и SIM800 Series_MQTT_Application Note_V1.03 Т.е., загрузка и утсановка файла сертификата проходит "успешно". Всё хорошо вплоть до команды "AT+HTTPACTION=1" (или "AT+HTTPACTION=0" для GET) И если выбран вариант HTTPS с корневым сертификатом, то ошибка, скорее всего 606 Если HTTP или HTTPS без сертифката, то "условно" нормально. "Условно" потому, что, на самом деле, у SIM800 есть определённые проблемы с поддержкой протоколов TLS. А именно - в лучшем случае, с последними прошивками, SIM800C может поддержать максимум TLS 1.2 и то в прыжке (не со всеми серверами на TLS 1.2 мне удалось связаться через AT- команды SIM800). Но, на самом деле, сейчас это уже "минимальный" рекомендуемый уровень безопасности для HTTPS. Уже во всю используется TLS 1.3, который точно не поддерживается (и уже не будет поддерживаться) на SIM800. Поэтому, для SSL-обмена надо или переходить на другое железо, или использовать сторонний софт, а не голые AT- команды. Потому, что никто не будет снижать безопасность сервера ради возможности подключения к нему железа по устаревшим протоколам. Со сторонним софтом есть свои нюансы. Например, неприятным моментом явлеется выполнение команд в блокирующем режиме. Но, по краней мере, с использованием такого софта снимаются все проблемы с использования SIM800. Вообще не имеет значения SIM800C, SIM800L... И какая версия прошивки... В среде Arduino для ESP32, на мой взгляд, оптимальной является связка ESP_SSLClient + TinyGSM. Ну и очень выручает, что в ESP32 физически есть два ядра. Хотелось бы найти подобное для STM32, причем, желательно, не HAL... Ну и RTOS, само собой, должен помочь обойти блокирующие команды для систем, где недопустимо "задумываться" на десятки секунд. Может кто-то уже портировал эти библиотеки под STM32 или знает аналогичные? Изменено 20 марта пользователем protoszx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 21 марта Опубликовано 21 марта · Жалоба 14 часов назад, protoszx сказал: Поэтому, для SSL-обмена надо или переходить на другое железо, или использовать сторонний софт, а не голые AT- команды. Это не так. Никто не мешает вам реализовать любой необходимый TLS-протокол в своей прошивке. Реализовать поверх существующего транспорта TCP-сокета (через AT-команды или любой другой канал). Не ожидая нового железа или чьих-то библиотек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться