Есть ли возможность автоматического обновления сертификата выдаваемого Let’s Encrypt средствами ESP32 (не перешивая каждые три месяца устройство ).
Чтобы ESP32 сама обновляла сертификат с нужного мне сайта?
Кто-то реализовал это?
Если да, поделитесь.
У вас есп в качестве «сервера» (веб-хостинга) выступает?
в качестве клиента, шифрует трафик открытым сертификатом сервера, вот его и надо как-то обновлять на ESP, автоматически
Не надо зашивать сертификать в коде, нужо сохранять его в файловой системе модуля в виде файла. Тогда и заменить его можно будет без перепрошивки, просто заменив файл
вопрос как его получить средствами ESP32, пока с этим проблема, использование это уже будет проблема номер два )))
А как вы его сейчас получаете? Или вам нужно, чтобы esp сама за вас все делала?
ДА!, я понимаю, что это угроза безопасности при подмене сервера, но остановился на том, что справлюсь с этим
тупой вопрос и обсуждают его дилетанты. Вполне в духе времени.
Ест такая хня - PKI, в ней есть такое понятие цепочка доверия сертификатов. НЕ переключайтесь, лекция по асимметричной криптографии почти закончена. Короче, в коиентское устройство прошивается не ключ сертификата сервера, а ключ сертфиката того. кто серверу вашему этот сертификат выдал. Соответственно, менять его не придется.
еще раз: НЕ НАДО ЕГО МЕНЯТЬ ИЛИ ПЕРЕПРОШИВАТЬ. Единственное что надо сделать - в один файл .cer скопировать все сертификаты из цепочки доверия, не только корневой, но и промежуточные. и уже этот файл с несколькими сертификатами вшивать в есп в качестве корневого.
PS об этом в твоей ссылке вполне понятным англ языком написано.
я не волшебник я только учусь, ссылку откуда почерпнута информация привёл, как слить все сертификаты в один ума не приложу, подскажете?
Это видел, так он тоже не одолел:
ESP32 HTTPS Requests with Certificate Bundle
Instead of just using one certificate, you can use a certificate bundle: a collection of trusted certificates that you can load into your board. Then, you don’t have to worry about getting the certificate for a specific server.
The WiFiClient library provides some information about how to use a certificate bundle on the following link:
https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFiClientSecure/README.md#using-a-bundle-of-root-certificate-authority-certificates
I followed all the instructions provided, and got the following issue:
[ 1799][E][ssl_client.cpp:37] _handle_error(): [start_ssl_client():276]: (-12288) X509 - A fatal error occurred, eg the chain is too long or the vrfy callback failed
If anyone knows how to fix this issue, please share in the comments below.
сохраняешь сертфикат сервера твоего на диск в винде с расширением cer. или конвертишь в этот формат, сам ищи в гугле как. открываешь двойным щелчком, переходишь на вкладку “пусть сертификации”, видишь там лрево доверия. самый верхний в цепочке - корневой, самый нижний - конечный сервер. на вкладке “Состав” есть кнопка №"Копировать в файл" - сохраняешь с тем же расширением cer каждый кроме самого нижнего,конечного сервера. Далее открываешь блокнотом и копируешь все содержимое всех сохраненных в один файл, с новой строки каждую порцию текста. получившийся файл с расширенеим cer - это твоя цепочка доверия, сможешь работать с любым сертификатом, выданным любым серваком из этого списка. его и импортируй в есп. вроде все.
ок переведу если тебе трудно самому:
Вместо использования одного сертификата вы можете использовать пакет сертификатов: набор доверенных сертификатов, которые вы можете загрузить в свою доску. Тогда вам не придется беспокоиться о получении сертификата для конкретного сервера.
Да, спасибо, просто у него не получилось почему-то:
`If anyone knows how to fix this issue, please share in the comments below.`
да он дебил просто. не будь таким же.
я же только учусь, вопрос еще один, как скоро цепочка сертификатов протухнет?
просмотри каждый из полученной цепочки, двойным щелчком по нему, на первой же вкладке есть срок окончания. самый ближайший срок при настуленин сделает цепочку невалидной. обновить можно по воздуху, записав прямо во флеш есп32, за пару недель до протухания. Тут дело в том что надо тыщу мелочей предусмотреть когда пишешь под что-то реально нужное, ты бы не лез в это дело, друг.
спасибо, за терпение!
Посмотрел, протухнет через 1.5 года, для общего развития познавательно, но вопрос, как средствами ESP32 получить сертификат сервера остался. Это единственное решение выходит
на сайте летсенкрипт есть ссылка на гитхаб, на гитхабе есть тулза которая запрашивает сертификат через REST запросы к серверу центра сертфиикации. у тулзы есть исходники, в них есть все запросы и обработка ответов. изучи, портируй на cpp. вгони в прошивку - будет у тебя свой клиент letsencrypt.
тут пишут. что это не нужно так как корневой сертификат уже в списке доверенных ESP, надо всё таки придумать как обновить сертификат сервера в ESP32, надеюсь это будет проще
Нда, похоже, я зря время на тебя потратил.
спасибо за уделённое время, но изначально вопрос был такой: