NOTE: The project and documentation presented on this page is a work in progress so provided as a separate zip file download. It will be released in the main FreeRTOS download following full review and completion of this documentation.

IoT HTTPS Client Library

 

HTTPS Client Introduction

The IoT HTTPS Client (Hypertext Transfer Protocol) library provides a lightweight HTTP client request and response messaging protocol that runs on top of TCP/IP and is often used in web application use cases.  The IoT HTTPS Client library implements a subset of the HTTP/1.1 protocol standard and uses the IoT Task Pool library for threading.

An HTTP connection to a server can be established in a non-secure (HTTP) and secure manner (HTTPS). Especially in IoT use cases, TLS (Transport Layer Security) is used to provide a secure communication protocol between a client and server.  In TLS, the client and server establish a secure connection through a handshake protocol to prevent eavesdropping from any malicious parties. When the library is called “HTTPS” instead of “HTTP”, it indicates that HTTP over TLS is enabled by default.

The FreeRTOS IoT libraries can be used individually or collectively to create locally connected or internet connected MCU applications.  Each library can be freely used and is distributed under the MIT open source license

The pages below establish a progression to creating a secure connection.  

  1. HTTPS Client Introduction (this page)
  2. HTTPS Client Terminology
  3. Basic HTTP Client Demo (without TLS and in plaintext)
  4. TLS/Security Introduction
  5. TLS Terminology
  6. HTTPS Client Demo (with basic TLS – only Server Authentication)
  7. X.509 Introduction (Client Authentication) – coming in a future release!
  8. HTTPS Client Demo (with TLS – Mutual Authentication) – coming in a future release!