This software component is licensed by ST under Ultimate Liberty license SLA0044, the “License”;
You may not use this file except in compliance with the License.
You may obtain a copy of the License at: SLA0044
Key Management Services (KMS) provides cryptographic services through the standard PKCS#11 APIs (developed by OASIS) allowing to abstract the key value to the caller (using object ID and not directly the key value). KMS can be executed inside a protected/isolated environment in order to ensure that key value can’t be accessed by an unauthorized code running outside the protected/isolated environment.
The figure below shows the overall KMS architecture.
KMS manages 3 types of keys:
KMS supports this subset of PKCS#11 APIs:
For more details, refer to UM2262 : Getting started with X-CUBE-SBSFU expansion package, Chapter 4.
Configuration switch placement review
Warnings and spelling issues fixes
C_STM_ImportBlob update to specify blob download area
Allow multiple C_Initialize and C_Finalize imbricated calls
New features and improvements introduced in this release are :
Object search
ECC key pair generation
ECDH key derivation
Memory management improved (introduction of different allocators)
Lock keys and services vendor APIs
iKMS/niKMS folders replaces tKMS one
MPU isolation support in iKMS
kms_config.h redesign (better scalability and config build time check)
Bug fixes
Official delivery of Key Management Services for STM32 series, compliant with PKCS#11 APIs from OASIS.
None