Modulo ESP : Eseguire chiamata HTTPS. Update CA-ROOT

Salve a tutti.
La mia prima richiesta siate magnanimi se dico cavolate!

Ho un approfondimento da chiedervi.
Ambito:
-nodemcu (oppure arduino uno/nano + modulo ESP ho fatto una prova non cambia nulla)
-bmp 280
Funzionalità:
Legge valori e li mostra su un display
Status:
Progetto funzionante!

Next step : Invia dati lettura al tuo sito web per una visualizzazione on line.

Problema: sito web HTTPS

Soluzione: la libreria esp8266

Ho fatto una prova ed usando un esempio ho scritto


#ifndef STASSID
#define STASSID "MIOSSID"
#define STAPSK  "*************"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

const char* host = "miositoweb";
const int httpsPort = 443;

// Root CA del sito web
const char trustRoot[] PROGMEM = R"EOF(
-----BEGIN CERTIFICATE-----
MIIFBTCCBKugAwIBAgIQAWjVdfHOhyitlajxHvFZizAKBggqhkjOPQQDAjBnMQsw
etc etc

ovviamente ho seguito l'esempio è quindi

WiFiClientSecure client;
...
client.setTrustAnchors(&cert);
....
String url = "/path della mia rest api";
 client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "User-Agent: BuildFailureDetectorESP8266\r\n" +
               "Connection: close\r\n\r\n");
etc etc leggo risposta bla bla

Funziona!
ok bene!
"e che vuoi quindi se ti funziona?"

Vorrei questo: il sito web è "certificato" con let's encrypt a settembre la CA si rinnova!
e comunque non dura più di un anno!

Il sistema come un qualsiasi browser non smette di funzionare ma solleverebbe la famosa eccezione di certificato scaduto che i browser mostrano in maniera drammatica.
Arduino penso vada semplicemente in errore.Quindi a Settembre dovrei prendere il sensore (o tutti i sensori) e fare un bel aggiornamento di certificato!

Ho letto che posso forzare il sistema a dirgli "fregatene , accetta comunque il certificato" ma da buon informatico un certificato scaduto è comunque una falla da ripianare.

Chiedo:
sapendo l'url/api della ca-root di lets encrypt o analoga CA (oppure avendo già scaricato il certificato)
è possibile aggiornare automaticamente la CA scaduta?

Siccome non credo di avere solo io questo problema e avendo paura di reinventare l'acqua calda: non è che ci sono librerie già predisposte?

In internet ho visto esempi che usano MKR e le librerie del Nina e non forniscono certificato. Mi pare strano probabilmente ne hanno uno a bordo dentro la libreria .
E comunque io l'MKR non lo uso.E comunque prima o poi scadrà anche quel certificato.

Chi ha risolto e come questa problematica?

Grazie a chi mi leggerà e eventualmente risponderà!

La questione non è di facile risoluzione; quello che puoi fare è caricare il certificato dal filesystem dell'ESP invece di compilarlo.

In passato ho speso un po' di tempo anche io nel tentativo di fare il download del certificato direttamente dall'ESP, ma senza riuscirci.
Visto che hai già il webserver, potresti aggiungere un handler per l'upload del file e sovrascrivere il certificato quando scade usando il browser (e quindi senza ricompilare tutto).

Ti ringrazio.
Beh si è una ipotesi.
Devo capire come questo sistema gestisce i file .
A partire da caricare un file system che di base non c'è nulla!

Prova a guardare QUI ... :roll_eyes:

Orientati subito su LittleFS e lascia stare SPIFFS che è deprecato e non verrà più supportato.

Guglielmo

Mi correggo, tu hai un client quindi il webserver dovresti aggiungerlo.

Una seconda opzione è usare l'OTA per l'aggiornamento del firmware.
C'è una libreria inclusa che consente di farlo da un indirizzo http remoto.

Potresti riservare un folder del tuo webserver e quando necessario ci carichi il firmware aggiornato. Lato esp fai una verifica e quando c'è una nuova versione caricata procedi all'update.