Low Level MicroEJ Security API implementation for MbedTLS.
This component implements the LLSEC
Low Level API for MicroEJ platforms connected to a Board Support Package based on MbedTLS.
Add the following line to your module.ivy
file:
<dependency org="com.microej.clibrary.llimpl" name="security-mbedtls" rev="..."/>
N/A
Here is a non exhaustive list of tested environments:
- Hardware
- Espressif ESP-WROVER-KIT V4.1
- Compilers / Integrated Development Environments:
- Espressif IoT Development Framework (
esp-idf
) v3.3.4 and v4.3.2 (using GNU GCC toolchain) - IAR Embedded Workbench 9.30.1
- Espressif IoT Development Framework (
- MbedTLS versions:
- MbedTLS v2.16.5, v2.16.11, v2.28.0, v2.28.1 and v3.2.1
This Abstraction Layer implementation is MISRA-compliant (MISRA C:2012) with some noted exception. It has been verified with Cppcheck v2.10. Here is the list of deviations from MISRA standard:
Deviation | Category | Justification |
---|---|---|
Rule 2.3 | Advisory | A type can be defined at API level and not used by the application |
Rule 2.4 | Advisory | A tag can be defined at API level and not used by the application |
Rule 2.5 | Advisory | A macro can be defined at API level and not used by the application |
Rule 8.4 | Required | The Cppcheck analysis is made only on this LL code |
Rule 11.3 | Required | Cast for matching MbedTLS function signature |
Rule 11.4 | Advisory | Abstract data type for SNI usage |
Rule 11.5 | Advisory | Abstract data type for SNI usage |
Rule 19.2 | Advisory | Using union is useful for C library design |
Rule 21.3 | Required | Usage forced by MbedTLS library (mbedtls_calloc / mbedtls_free) |
- MicroEJ Architecture
7.x
or higher. - MbedTLS
v2.16.5
or higher. - Foundation library Security
v1.5.0
N/A
None.
Copyright 2021-2024 MicroEJ Corp. All rights reserved. Use of this source code is governed by a BSD-style license that can be found with this software.