Getting started with STFCF ¶
APIs STFCF Description table ¶
This section provides an organized overview of the STFCF middleware APIs, presenting a comprehensive list of available interfaces along with concise descriptions to facilitate understanding and effective usage of the cryptographic services.
KWE ¶
MbedTLS_ALT ¶
The APIs provide a hardware implementation through ALT_HAL and a software implementation through ALT_STCRYPTOLIB. For more details, see the MbedTLS documentation, which describes the APIs in detail.
Configuration options & files ¶
STFCF offers several configuration paths, prioritized as follows:
Mbed TLS Alt by HAL: HAL implementation, silicon first
Mbed TLS Alt by STCryptoLib: STCryptoLib implementation for software optimization
Mbed TLS implementation directly: Mbed TLS implementation, the default case
PSA driver KWE: Key Wrap Engine based on CCB peripheral driver, as an option
Mbed TLS custom alternative: Custom case implementation
STM32 Flexible Crypto Framework includes a template ( mx_stfcf_config.h file) that lists all available options. Two levels of configuration are available:
Main configuration: Ready-to-use combinations, allowing selection of different engines per algorithm family
Advanced configuration: Manual mode, displaying all options for full control and customized setup
The main configuration file is
mbedtls_config.h
A default version of
mbedtls_config.h
is available in the
templates/
folder as a user-modifiable file.
This template is derived from the Mbed TLS community file, with hardware source entropy alternative enabled by default.
STFCF inclusion model ¶
However, the primary entry point for configuration is the
mx_stfcf_config.h
file, because it includes:
mx_mbedtls_config.h: to configure Mbed TLSmx_mbedtls_alt_config.h: to configure the alternative implementations (STCryptoLib and HAL) of Mbed TLSmx_kwe_config.h: to configure the KWE PSA driver called “Key Wrap Engine”
The build system includes the mx_kwe_config.h file only when you use the KWE implementation.
This file enables the configuration of this hardware based key wrapping engine.
All of these files are user modifiable standalone mode templates stored in the
./templates/
folder.