ESP32 HTTPS服务器的SSL证书

4
我有一个关于不安全SSL证书的问题。我的项目由两个部分组成:
  1. ESP32 IoT设备带有HTTPS服务器
  2. VUE2 + Vuetify PWA Web应用程序部署到Firebase托管。
假设一位客户购买了我的IoT设备,并将其连接到电源上。设备将在AP模式下启动,创建WiFi AP网络。客户登录到Web应用程序并想要添加他的新设备。因此,为此,iot设备需要客户的wifi凭据。Web应用程序向客户请求他的SSID和密码,当客户单击“配置设备”时,Web应用程序会向esp32服务器发送https POST请求,而这就是问题所在...
由于在esp32服务器中使用的SSL证书未经验证,因此Web应用程序无法进行POST请求...
如何为许多IoT设备获取有效的服务器SSL证书?我不知道如何处理这种情况...
感谢大家!!
1个回答

7
可以为设备获取有效的SSL证书,但我不建议这样做。 如果你想这么做,下面是具体步骤:
  1. 确保设备处于AP模式时,在完全相同的IP地址下始终可用。 例如,确保ESP32正在侦听192.168.1.1

  2. 注册类似example.com的域名。 在DNS服务器上添加一个iot.example.com的A记录,并将其值设置为192.168.1.1

  3. 从任何受信任的机构获取iot.example.com的有效SSL证书。 将该证书和相关密钥放在您的设备上。

现在,当用户连接到您的软件AP时,他们可以浏览https://iot.example.com并查看有效证书。
然而,我真的不建议这样做。您将面临三个主要问题:
  1. SSL证书的密钥将在设备的闪存上。如果有人提取它,他们可以冒充 iot.example.com。您可以通过使用闪存加密来减轻此问题,但这仍然不是很好。

  2. SSL证书的最大有效期约为两年。因此,您的供应流程将在几年后中断。

  3. 如果颁发您证书的CA听到私钥正在流传并可能被攻击,他们可能会吊销您的证书。

相反,您应该使用WPA2和密码来保护软AP,以便向用户提供连接。这将确保连接加密,并且您可以通过HTTP而不是HTTPS提供供应表单。
一个更好的方法是使用ESP-IDF统一配置API,而不是自己尝试实现。它会处理实现细节,并支持Wi-Fi和蓝牙传输。无论你决定做什么,我强烈建议阅读ESP-IDF统一配置文档Wi-Fi配置文档,因为它们将给你一个关于底层发生了什么以及安全实现所需的所有内容的概念。特别是,你将看到Wi-Fi配置库确实像我上面建议的那样使用静态WPA2密码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接