Demo sull'autenticazione reciproca CoreHTTP - FreeRTOS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Demo sull'autenticazione reciproca CoreHTTP

Importante

Questa è una versione archiviata della FreeRTOS User Guide da utilizzare con la versione FreeRTOS 202210.00. Per l'ultima versione di questo documento, consulta la FreerTOS User Guide.

Introduzione

Il progetto dimostrativo CoreHTTP (Mutual Authentication) mostra come stabilire una connessione a un server HTTP utilizzando TLS con autenticazione reciproca tra il client e il server. Questa demo utilizza un'implementazione dell'interfaccia di trasporto basata su MBEDTLS per stabilire una connessione TLS autenticata da server e client e dimostra un flusso di lavoro di risposta alle richieste in HTTP.

Nota

Per configurare ed eseguire le demo di FreerTOS, segui i passaggi indicati. Guida introduttiva a FreerTOS

Funzionalità

Questa demo crea una singola attività applicativa con esempi che mostrano come completare quanto segue:

  • Connect al server HTTP sull' AWS IoT endpoint.

  • Invia una richiesta POST.

  • Ricevi la risposta.

  • Disconnettiti dal server.

Dopo aver completato questi passaggi, la demo genera un output simile alla schermata seguente.

Console output showing SDK initialization, network setup, and successful demo completion.

La AWS IoT console genera un output simile alla schermata seguente.

AWS IoT console interface showing a publish message field and output display area.

Organizzazione del codice sorgente

Il file sorgente della demo è denominato http_demo_mutual_auth.c e può essere trovato nella freertos/demos/coreHTTP/ directory e sul GitHubsito Web.

Connessione al server AWS IoT HTTP

La connectToServerWithBackoffRetriesfunzione tenta di stabilire una connessione TLS con autenticazione reciproca al server HTTP. AWS IoT Se la connessione fallisce, riprova dopo un timeout. Il valore di timeout aumenta esponenzialmente fino a raggiungere il numero massimo di tentativi o il valore di timeout massimo. La RetryUtils_BackoffAndSleep funzione fornisce valori di timeout che aumentano esponenzialmente e restituisce RetryUtilsRetriesExhausted quando è stato raggiunto il numero massimo di tentativi. La connectToServerWithBackoffRetries funzione restituisce uno stato di errore se la connessione TLS al broker non può essere stabilita dopo il numero di tentativi configurato.

Invio di una richiesta HTTP e ricezione della risposta

La funzione prvSendHttpRequest dimostra come inviare una richiesta POST al server AWS IoT HTTP. Per ulteriori informazioni su come effettuare una richiesta all'API REST in AWS IoT, vedete Device communication protocol - HTTPS. La risposta viene ricevuta con la stessa chiamata all'API CoreHTTP,HTTPClient_Send.