The STSELib middleware provides a complete set of high-level Application Programming Interface functions to the embedded system developer. This Middleware abstract the build and the sequencing of the commands required to ensure device , accessories and consumable brand protection using STMicroelectronics STSAFE-A secure element family.
This middleware allows a seamless integration of one or multiple STSAFE-A in various host MCU/MPU ecosystem.
The STSELib middleware is composed of three software modules as illustrated in the figure below. Each layer provides a different level of system abstraction to the embedded system developer.
- Application Programming Interface (API) layer This software layer is the entry point for the system application. It provides a set of high level functions allowing interaction with STMicroelectronics Secure Elements.
- Service layer Provides a set of product services that format all commands supported by the targeted secure element and reports response to higher layers API/Application . This layer can be used directly from Application (for advanced user).
- Core layer Contains generic definition for ST Secure Element and functions for communicating with target secure element.
From your project root:
git submodule add https://github.com/STMicroelectronics/STSELib.git lib/stselib
git submodule update --init --recursive
Note
Don’t forget to add lib/stselib to your CMakeLists.txt include paths.
Two headers files are mantatories, stse_conf.h
and stse_platform_generic.h
.
For platform-specific integrations and STSafe use-cases, you may implement additional headers. Detailed specifications are available in the HTML documentation included in the release ZIP. Reference implementation for most common STSE applicative use case can be found in section "Reference applicative examples" of this ReadMe file
Following applicative project can be used as reference for STSELib integration and usage.