SSL-сертификат для сервера esp32 https - PullRequest
0 голосов
/ 20 января 2020

У меня проблема с небезопасными сертификатами SSL. Мой проект состоит из двух частей:

  1. IOT-устройство ESP32 с сервером https
  2. Веб-приложение VUE2 + Vuetify PWA, развернутое на хостинге Firebase.

Представьте себе что один клиент купил мое устройство iot и подключил его к источнику питания. Устройство загрузится в режиме AP, создав точку доступа WiFi net. Клиент входит в веб-приложение и хочет добавить свое новое устройство. Итак, для этого iot-устройству нужны учетные данные клиентов Wi-Fi. Веб-приложение запрашивает у клиента его ssid и пароль, а когда клиент нажимает «Настроить устройство», веб-приложение отправляет запрос POST https на сервер esp32, и вот проблема ... Поскольку сертификат SSL используется в Сервер esp32 не проверен полномочным органом, веб-приложение не может выполнить запрос POST ...

Как я могу получить действительный SSL-сертификат сервера для многих устройств iot? Я не знаю, как справиться с этой ситуацией ...

Спасибо всем !!

1 Ответ

0 голосов
/ 29 января 2020

Возможно получить действительный сертификат SSL для устройства, но я бы не рекомендовал его. Вот как вы можете это сделать, если хотите:

  1. Убедитесь, что, когда ваше устройство находится в режиме AP, оно всегда доступно с точно таким же IP-адресом. Например, убедитесь, что ESP32 прослушивает на 192.168.1.1.

  2. Зарегистрируйте домен как example.com. Добавьте запись A на свой DNS-сервер для iot.example.com со значением 192.168.1.1.

  3. Получите действительный сертификат SSL для iot.example.com из любого доверенного органа. Поместите этот сертификат и связанный ключ на ваше устройство.

Теперь, когда ваш пользователь подключается к вашей программной точке доступа, он может перейти к https://iot.example.com и увидеть действительный сертификат.


Однако, Я бы действительно рекомендовал не делать этого . Вам придется столкнуться с двумя основными проблемами:

  1. Ключ для вашего SSL-сертификата будет на вашем устройстве sh. Если кто-то извлекает его, он может маскироваться под iot.example.com. Вы можете уменьшить это, используя шифрование fla sh, но оно все еще невелико.

  2. Максимальный срок действия сертификата SSL составляет около двух лет. Таким образом, ваш поток подготовки через пару лет прервется.

Вместо этого то, что вы должны сделать - это защищенная программная точка доступа с WPA2 и пароль, который вы можете дать пользователям. Это гарантирует, что соединение зашифровано, и вы можете обслуживать свою форму предоставления по HTTP вместо HTTPS.

Еще лучше, чем пытаться реализовать это самостоятельно, - использовать ESP-IDF унифицированный API обеспечения . Он заботится о деталях реализации и поддерживает Wi-Fi и Bluetooth в качестве транспорта.

Независимо от того, что вы решите сделать, я настоятельно рекомендую прочитать документацию ESP-IDF по унифицированному выделению ресурсов и документация по обеспечению Wi-Fi , поскольку они дадут вам представление о том, что происходит под капотом и что требуется для безопасной реализации. В частности, вы увидите, что библиотека обеспечения Wi-Fi на самом деле использует пароль * stati c WPA2, как я предложил выше.

...