Demonstração de autenticação mútua da coreHTTP
Importante
Essa demonstração está hospedada no repositório Amazon-FreeRTOS, que está preterido. Recomendamos começar aqui ao criar um novo projeto. Se você já tem um projeto FreeRTOS existente baseado no repositório Amazon-FreeRTOS que está preterido, consulte o Guia de migração do repositório Github do Amazon 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:
-
Conectar ao servidor HTTP no endpoint de AWS IoT.
-
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.
O console de AWS IoT gera uma saída semelhante à da captura de tela a seguir.
Organização de código-fonte
O arquivo de demonstração do código-fonte é chamado http_demo_mutual_auth.c e pode ser encontrado no diretório e no site do GitHubfreertos/demos/coreHTTP/
Conexão ao servidor HTTP da AWS IoT
A função connectToServerWithBackoffRetriesRetryUtils_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 PrvSendHttpRequestHTTPClient_Send.