This repository contains one of Application Notes for OPTIGA™ Trust X security chip.
- You can find step-by-step get started guide on the Wiki page of the project
- You can find more information about the security chip in the core repository
- You can find other Application Notes in the respective repository
mbed TLS (previously PolarSSL) is a wide-known implementation of the TLS and SSL protocols and the respective cryptographic algorithms. It is dual-licensed with the Apache License version 2.0 (with GPLv2 also available).
In this guide you may find the following steps:
- How to build (via refernces) the software and flash the development board
- How to start a sample OpenSSL DTLS 1.2 server
- How to run an example TLS 1.2 client with ESP32
This example uses mbedTLS from the ESP-IDF framework as a library handling the TLS 1.2 session and X.509 certificates.
It shows how to offload ECDHE and ECDSA operations from the standard mbedTLS impelemntations to the OPTIGA™ Trust X via a configuration.
The configuration options used in this example are a standard way how mbedTLS offers developers to use alternative function implementations.
For mor information, please refer to Wiki page.
In this example we use the following components:
- This example makes use of ESP32 DevKitC, but in general this example can be adapted to any ESP32 based system
- Espressif IoT Development Framework Version 3.1
- OPTIGA™ Trust X Application Notes Framework
- Infineon OPTIGA™ Trust X Shield2Go
- Raspberry Pi (preffered), or any other Linux machine which has WiFi capability
Even though this particular example demonstrated a TLS connection using WiFi-chip ESP32, the way how mbedTLS is used here is generic for all mbedTLS capable systems. In this example we use macroses like MBEDTLS_ECDH_COMPUTE_SHARED_ALT
provided by mbedTLS to enable alternative function implementaions. For more details please refer to the respective Wiki section
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE file for details