coreHTTP 상호 인증 데모 - FreeRTOS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

coreHTTP 상호 인증 데모

중요

이 문서는 FreeRTOS 릴리스 202210.00에서 사용하기 위한 FreeRTOS 사용 설명서의 보관 버전입니다. 이 문서의 최신 버전은 FreeRTOS 사용 설명서를 참조하세요.

소개

coreHTTP(상호 인증) 데모 프로젝트에서는 클라이언트와 서버 간 상호 인증을 통한 TLS를 사용하여 HTTP 서버에 연결하는 방법을 보여줍니다. 이 데모에서는 mbedTLS 기반 전송 인터페이스 구현을 사용하여 서버 및 클라이언트 인증 TLS 연결을 설정하고 HTTP의 요청 응답 워크플로를 보여줍니다.

참고

FreeRTOS 데모를 설정하고 실행하려면 FreeRTOS 시작하기의 단계를 따릅니다.

기능

이 데모는 다음 작업을 완료하는 방법을 보여주는 예제가 포함된 단일 애플리케이션 태스크를 생성합니다.

  • AWS IoT 엔드포인트의 HTTP 서버에 연결합니다.

  • POST 요청 전송

  • 응답 수신

  • 서버 연결 해제

이러한 단계를 완료하면 데모에서 다음 스크린샷과 비슷한 출력이 생성됩니다.

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

AWS IoT 콘솔은 다음 스크린샷과 유사한 출력을 생성합니다.

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

소스 코드 구성

데모 소스 파일은 이름이 http_demo_mutual_auth.c이며 freertos/demos/coreHTTP/ 디렉터리 및 GitHub 웹 사이트에서 찾을 수 있습니다.

AWS IoT HTTP 서버에 연결

connectToServerWithBackoffRetries 함수는 AWS IoT HTTP 서버에 상호 인증된 TLS 연결을 시도합니다. 연결이 실패하면 제한 시간이 경과한 후 다시 시도합니다. 최대 시도 횟수에 도달하거나 최대 제한 시간 값에 도달할 때까지 제한 시간 값은 기하급수적으로 증가합니다. RetryUtils_BackoffAndSleep 함수는 기하급수적으로 증가하는 제한 시간 값을 제공하고 최대 시도 횟수에 도달하면 RetryUtilsRetriesExhausted를 반환합니다. connectToServerWithBackoffRetries 함수는 구성된 시도 횟수 이후에도 브로커에 대한 TLS 연결을 설정할 수 없는 경우 실패 상태를 반환합니다.

HTTP 요청 전송 및 응답 수신

prvSendHttpRequest 함수는 AWS IoT HTTP 서버에 POST 요청을 보내는 방법을 보여줍니다. 에서 REST API를 요청하는 방법에 대한 자세한 내용은 디바이스 통신 프로토콜 - HTTPS를 AWS IoT참조하세요. 응답은 동일한 coreHTTP API 직접 호출 HTTPClient_Send로 수신됩니다.