Skip to content

Latest commit

 

History

History
133 lines (106 loc) · 13.6 KB

PortingGuide.md

File metadata and controls

133 lines (106 loc) · 13.6 KB

mbedTLS porting guide for OPTIGA™ Trust M

This document guides to port the mbedTLS software crypto library functions to use OPTIGA™ Trust M hardware secure element based cryptographic functionalities.

Table of contents

About this document

The aim of this document is to describe the porting details of OPTIGA™ Trust M into mbedTLS software crypto library on any hardware platform (e.g. microcontroller,single board computer etc...) and porting of platform abstraction layer.
mbedTLS is a crypto library to perform TLS Handshke (secure channel establishment). This library uses an interface, which allows to substitute some of it's functionality by third-party crypto implemementations.For example mbedTLS used in FreeRTOS, where OPTIGA™ Trust M can be used to substitute the standard software crypto implemementation functions of ECDSA, ECDH and RSA.

OPTIGA™ Trust M integration to mbedTLS

The functions that are needed to be integrated into mbedTLS are defined below.

Platform Abstraction Layer

Platform abstraction layer for platform low level drivers like I2C, Timer, GPIO, socket and other platform dependencies. Modify the files based on the target platform. Generic steps are described here.

Initialization API's

These are the API's which initializes the OPTIGA™ Trust M chip. Define these API's in the file “optiga_trust.c” and update corresponding header file. Copy these files under folder utilities


For more information refer to the example_optiga_util_read_data.c and example_optiga_util_write_data.c

Cryptographic API's