如何使用我的Arduino自动获取某个网站的SHA-1指纹



我正在寻找一种方法,用我的Arduino自动获取某个网站的SHA-1指纹。

我使用的是esp-8266 Arduino。我有一个程序,每隔几秒钟从我的Arduino对某个网站进行一次API调用。因为这个网站使用HTTPS,所以我使用WiFiClientSecureBearSSL.h库。

为了使用这个库,你必须提供指纹SHA-1,问题是我需要每次网站更改指纹时在我的代码中手动更改指纹。

有什么方法可以自动获取指纹吗?

感谢

我也有类似的问题。我不想每次SSL证书更改时都通过OTA更新我的ESP。

但你并不孤单,很多用户都想要一个解决方案。看见https://esp32.com/viewtopic.php?t=8744

有些时候,你可以直接在网页上找到证书或指纹,比如https://letsencrypt.org/certificates/有时,您必须编写一个脚本来检索证书或指纹。

正如论坛中所写的,我的解决方案不好(出于安全原因(,但有效:
1。当证书失败时,使用http设置备用Web服务器
2。调用对此服务器的请求以请求新证书/指纹
3。在ESP 中保存新指纹

我制作了一个简单的页面,通过PHP从其他Web服务器检索SSL:https://projects.petrucci.ch/esp32/?page=ssl.php&url=https%3A%2F%2Fwww.stackoverflow.com

还有一个PHP代码,所以如果你有一个使用PHP的服务器,你可以在你的网页上实现它。只需使用此:openssl_x509_fingerprint($cert);

希望有一天能找到更好的解决方案(或者ESP将来会像所有浏览器一样自动获取指纹(。