48 lines
1.6 KiB
C
48 lines
1.6 KiB
C
/*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Copyright (c) 2023 Arm Limited
|
|
*/
|
|
|
|
#ifndef MCUBOOT_MBEDTLS_CONFIG_ADD_PSA_CRYPTO_H
|
|
#define MCUBOOT_MBEDTLS_CONFIG_ADD_PSA_CRYPTO_H
|
|
|
|
#include "mbedtls/build_info.h"
|
|
|
|
/* Enable PSA Crypto Core without support for the permanent storage
|
|
* Don't define MBEDTLS_PSA_CRYPTO_STORAGE_C to make sure that support
|
|
* for permanent keys is not enabled, as it is not usually required during boot
|
|
*/
|
|
#define MBEDTLS_PSA_CRYPTO_C
|
|
#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
|
|
|
|
#if defined(MCUBOOT_ENCRYPT_RSA) || defined(MCUBOOT_SIGN_RSA)
|
|
#define MBEDTLS_PK_C
|
|
#define MBEDTLS_CTR_DRBG_C
|
|
#define MBEDTLS_CIPHER_C
|
|
#define MBEDTLS_ENTROPY_C
|
|
#define MBEDTLS_PK_PARSE_C
|
|
#define MBEDTLS_PK_WRITE_C
|
|
#endif /* MCUBOOT_ENCRYPT_RSA || MCUBOOT_SIGN_RSA */
|
|
|
|
#if defined(MCUBOOT_ENCRYPT_EC256) || defined(MCUBOOT_ENCRYPT_X25519)
|
|
#define MBEDTLS_PLATFORM_FREE_MACRO free
|
|
#define MBEDTLS_PLATFORM_CALLOC_MACRO calloc
|
|
#endif /* MCUBOOT_ENCRYPT_EC256 || MCUBOOT_ENCRYPT_X25519 */
|
|
|
|
#if !defined(MCUBOOT_ENCRYPT_X25519)
|
|
#define MBEDTLS_PSA_BUILTIN_CIPHER 1
|
|
#endif /* MCUBOOT_ENCRYPT_X25519 */
|
|
|
|
#if defined(MCUBOOT_ENCRYPT_KW)
|
|
#define MBEDTLS_PSA_CRYPTO_CONFIG
|
|
#define MBEDTLS_POLY1305_C
|
|
#endif /* MCUBOOT_ENCRYPT_KW */
|
|
|
|
#if MBEDTLS_VERSION_NUMBER == 0x03000000
|
|
/* This PSA define is available only with more recent versions of 3.x */
|
|
#define PSA_KEY_ID_NULL ((psa_key_id_t)0) // not overly happy with this being here
|
|
#endif /* MBEDTLS_VERSION_NUMBER == 0x03000000 */
|
|
|
|
#endif /* MCUBOOT_MBEDTLS_CONFIG_ADD_PSA_CRYPTO_H */
|