ESP32 SSL 证书最佳实践

问题描述 投票:0回答:1

我正在部署大量 ESP32 设备,这些设备将通过 HTTPS 与我们自己部署的服务器进行通信以获取数据和更新。它还将通过 mqtts 与我们的经纪人进行通信。

我想知道在 ESP32 中存储证书的最佳实践是什么,并且有几个问题。

  1. ESP32如何验证证书?我读到您可以在 ESP32 中使用根证书、中间证书或服务器证书,并且它可以工作。
  2. 由于服务器只能由设备访问,是否可以在服务器上拥有自签名证书以使证书永不过期?有哪些安全风险?
  3. 如果要从 CA 购买证书,为了获得证书的最长有效期,我会使用根 CA 证书,对吧?那么这是否会使证书到期不再由我控制?

请原谅我对信任链和证书的运作方式缺乏了解。任何帮助或指导将不胜感激。谢谢你。

ssl https ssl-certificate certificate esp32
1个回答
0
投票

说实话,对于初学者来说,最大的挑战是找到一篇描述 PKI 和 x509 的好文章,但又不能太浅薄(就像 google 结果的前 2 页那样)。也许这个是一个很好的起点。

  1. 假设您正在讨论验证服务器的身份,HTTPS 客户端可以选择在

    cert_pem
    中提供预期的服务器证书 - 这是您与自签名 PKI 一起使用的证书。 快速谷歌搜索表明这需要提供根或中间服务器证书,而不是叶证书。此外,还有一个额外的选项可以在
    common_name
    中验证服务器的通用名称,您可能会与“官方”PKI 一起使用。

    MQTT 客户端具有类似的验证方法,可与自签名 PKI 配合使用。

  2. 如果不涉及第三方客户端,拥有自签名的 PKI 是完全可以的。

    您的根证书的过期需要一些考虑。我将其设置为 50 年,这样我就不会获得无法及时更新过期证书的孤立设备(因为它们没有连接到互联网)并永远切断服务。您仍然需要预见根证书轮换,只需记住孤儿证书即可。

  3. 我没有经验,但一般来说,当您想让第三方验证您的服务时,需要购买证书。它们的有效期肯定相当短,存在创建孤儿设备的风险。

© www.soinside.com 2019 - 2024. All rights reserved.