SigV4 v1.1.0
SigV4 Library for AWS Authentication
Overview

AWS SigV4 Library

The AWS SigV4 Library is a standalone library for generating signatures and authorization headers according to the specifications of the AWS Signature Version 4 signing process. This library aids applications in sending direct HTTP requests to AWS services requiring SigV4 authentication. The library is written in C and designed to be compliant with ISO C90 and MISRA C and has no dependencies on any additional libraries other than the standard C library.

Memory Requirements

Memory requirements of the SigV4 Library.

Code Size of AWS SigV4 library (example generated with GCC for ARM Cortex-M)
File
With -O1 Optimization
With -Os Optimization
sigv4.c
5.2K
4.4K
sigv4_quicksort.c
0.4K
0.3K
Total estimates
5.6K
4.7K

Design

SigV4 Library Design

Memory Usage

All functions in the SigV4 library operate only on the buffers provided and use only local variables on the stack.

Compliance & Coverage

The SIGV4 library is designed to be compliant with ISO C90 and MISRA C:2012. All functions are written to have low complexity scores. Unit tests and CBMC proofs are written to cover every path of execution and achieve 100% branch coverage.

The diagram below demonstrates the happy path an application can take to use the SigV4 library to interact with AWS Services that support SigV4 authentication via HTTP requests.

SigV4 Library Usage diagram