coreHTTP 双向身份验证演示 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

coreHTTP 双向身份验证演示

重要

该演示托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南

简介

coreMQTT(双向身份验证)演示项目展示了如何使用在客户端与服务器之间具有双向身份验证的 TLS 建立与 HTTP 服务器的连接。此演示使用基于 mbedTLS 的传输接口实现来建立经过服务器和客户端身份验证的 TLS 连接,并演示了 HTTP 中的请求响应工作流程。

注意

要设置和运行 FreeRTOS 演示,请按照开始使用 FreeRTOS中的步骤操作。

功能

此演示创建一个应用程序任务,其示例演示如何完成以下操作:

  • 连接到 Amazon IoT 终端上的 HTTP 服务器。

  • 发送 POST 请求。

  • 接收响应。

  • 断开与服务器的连接。

完成这些步骤后,演示将生成类似于以下屏幕截图的输出。

Amazon IoT 控制台将生成类似于以下屏幕截图的输出。

源代码组织

演示源文件名为 http_demo_mutual_auth.c,可在 freertos/demos/coreHTTP/ 目录中和 GitHub 网站上找到。

连接到 Amazon IoT HTTP 服务器

connectToServerWithBackoffRetries 函数会尝试与 Amazon IoT HTTP 服务器建立双向身份验证的 TLS 连接。如果连接失败,则会在超时后重试。超时值呈指数级增长,直到达到最大尝试次数或达到最大超时值。RetryUtils_BackoffAndSleep 函数提供指数级增长的超时值,并在达到最大尝试次数时返回 RetryUtilsRetriesExhausted。如果在配置的尝试次数后仍无法建立与代理的 TLS 连接,则 connectToServerWithBackoffRetries 函数将返回失败状态。

发送 HTTP 请求和接收响应

prvsendhttpRequest 函数演示了如何向 Amazon IoT HTTP 服务器发送 POST 请求。有关在 Amazon IoT 中向 REST API 发出请求的更多信息,请参阅设备通信协议 – HTTPS。响应是通过相同的 CoreHTTP API 调用 HTTPClient_Send 接收。