Demonstração de autenticação mútua da coreHTTP - FreeRTOS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Demonstração de autenticação mútua da coreHTTP

Importante

Esta é uma versão arquivada do Guia do usuário do FreeRTOS para usar com a versão 202210.00 do FreeRTOS. Para obter a versão mais recente deste documento, consulte o Guia do usuário do FreeRTOS.

Introdução

O projeto de demonstração da coreHTTP (autenticação mútua) mostra como estabelecer uma conexão com um servidor HTTP usando TLS com autenticação mútua entre o cliente e o servidor. Esta demonstração usa uma implementação de interface de transporte baseada em mbedTLS para estabelecer uma conexão TLS autenticada pelo servidor e pelo cliente e demonstra um fluxo de trabalho de resposta à solicitação em HTTP.

nota

Para configurar e executar as demonstrações do FreeRTOS, siga as etapas em Conceitos básicos do FreeRTOS.

Funcionalidade

Essa demonstração cria uma tarefa de aplicação única com exemplos que mostram como concluir o seguinte:

  • Conecte-se ao servidor HTTP no AWS IoT endpoint.

  • Enviar uma solicitação POST.

  • Receber a resposta.

  • Desconectar do servidor.

Depois de concluir essas etapas, a demonstração gera uma saída semelhante à da captura de tela a seguir.

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

O AWS IoT console gera uma saída semelhante à captura de tela a seguir.

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

Organização de código-fonte

O arquivo fonte de demonstração tem um nome http_demo_mutual_auth.c e pode ser encontrado no freertos/demos/coreHTTP/ diretório e no GitHubsite.

Conectando-se ao servidor AWS IoT HTTP

A connectToServerWithBackoffRetriesfunção tenta fazer uma conexão TLS autenticada mutuamente com o AWS IoT servidor HTTP. Se a conexão falhar, ela tentará novamente após um tempo limite. O valor do tempo limite aumenta exponencialmente até que o número máximo de tentativas ou o valor do tempo limite seja atingido. A função RetryUtils_BackoffAndSleep fornece valores de tempo limite aumentando exponencialmente e retorna RetryUtilsRetriesExhausted quando o número máximo de tentativas foi atingido. A função connectToServerWithBackoffRetries retorna um status de falha se a conexão TLS com o operador não puder ser estabelecida após o número configurado de tentativas.

Envio de uma solicitação HTTP e recebimento da resposta

A função prvSendHttpRequest demonstra como enviar uma solicitação POST para o servidor AWS IoT HTTP. Para obter mais informações sobre como fazer uma solicitação para a API REST em AWS IoT, consulte Protocolos de comunicação do dispositivo - HTTPS. A resposta é recebida com a mesma chamada de API da coreHTTP, HTTPClient_Send.