From cd170345faf5d21fe2b4d9b39f538de4ae24e852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frank=20Audun=20Kvamtr=C3=B8?= Date: Thu, 30 Jan 2025 13:43:42 +0100 Subject: [PATCH] crypto: Add generation of MBEDTLS_HAVE_TIME and MBEDTLS_HAVE_TIME_DATE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -This creates prompt-less configurations to signal that Mbed TLS has time APIs. -Added for both legacy and PSA-oriented configurations Signed-off-by: Frank Audun Kvamtrø --- subsys/nrf_security/Kconfig.legacy | 10 ++++++++++ subsys/nrf_security/cmake/legacy_crypto_config.cmake | 2 ++ subsys/nrf_security/cmake/nrf_config.cmake | 2 ++ .../configs/legacy_crypto_config.h.template | 4 ++-- subsys/nrf_security/configs/nrf-config.h.template | 2 ++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/subsys/nrf_security/Kconfig.legacy b/subsys/nrf_security/Kconfig.legacy index fe746150f4a3..e4d6f1c1bb33 100644 --- a/subsys/nrf_security/Kconfig.legacy +++ b/subsys/nrf_security/Kconfig.legacy @@ -290,6 +290,16 @@ config MBEDTLS_MPI_MAX_SIZE default 384 if CC312_BACKEND range 256 2048 +config MBEDTLS_HAVE_TIME + bool + default y + depends on DATE_TIME + +config MBEDTLS_HAVE_TIME_DATE + bool + default y + depends on DATE_TIME + config MBEDTLS_LEGACY_CRYPTO_C_SILENCE_DEPRECATION bool help diff --git a/subsys/nrf_security/cmake/legacy_crypto_config.cmake b/subsys/nrf_security/cmake/legacy_crypto_config.cmake index 4b2d62cf0e24..6e1224b36fd1 100644 --- a/subsys/nrf_security/cmake/legacy_crypto_config.cmake +++ b/subsys/nrf_security/cmake/legacy_crypto_config.cmake @@ -26,6 +26,8 @@ kconfig_check_and_set_base(MBEDTLS_CIPHER_PADDING_PKCS7) kconfig_check_and_set_base(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS) kconfig_check_and_set_base(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN) kconfig_check_and_set_base(MBEDTLS_CIPHER_PADDING_ZEROS) +kconfig_check_and_set_base(MBEDTLS_HAVE_TIME) +kconfig_check_and_set_base(MBEDTLS_HAVE_TIME_DATE) kconfig_check_and_set_base(MBEDTLS_AES_FEWER_TABLES) kconfig_check_and_set_base(MBEDTLS_AES_ROM_TABLES) diff --git a/subsys/nrf_security/cmake/nrf_config.cmake b/subsys/nrf_security/cmake/nrf_config.cmake index b274f06b39e2..1aabd0c33d78 100644 --- a/subsys/nrf_security/cmake/nrf_config.cmake +++ b/subsys/nrf_security/cmake/nrf_config.cmake @@ -23,6 +23,8 @@ kconfig_check_and_set_base(MBEDTLS_NO_PLATFORM_ENTROPY) kconfig_check_and_set_base(MBEDTLS_MEMORY_BUFFER_ALLOC_C) kconfig_check_and_set_base(MBEDTLS_DEBUG_C) kconfig_check_and_set_base_to_one(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG) +kconfig_check_and_set_base(MBEDTLS_HAVE_TIME) +kconfig_check_and_set_base(MBEDTLS_HAVE_TIME_DATE) # Threading configurations for CryptoCell and locally built PSA core kconfig_check_and_set_base(MBEDTLS_THREADING_C) diff --git a/subsys/nrf_security/configs/legacy_crypto_config.h.template b/subsys/nrf_security/configs/legacy_crypto_config.h.template index d4c8823f6555..3bca45482aae 100644 --- a/subsys/nrf_security/configs/legacy_crypto_config.h.template +++ b/subsys/nrf_security/configs/legacy_crypto_config.h.template @@ -125,7 +125,7 @@ * * Comment if your system does not support time functions */ -//#define MBEDTLS_HAVE_TIME +#cmakedefine MBEDTLS_HAVE_TIME /** * \def MBEDTLS_HAVE_TIME_DATE @@ -146,7 +146,7 @@ * mbedtls_platform_gmtime_r() at compile-time by using the macro * MBEDTLS_PLATFORM_GMTIME_R_ALT. */ -//#define MBEDTLS_HAVE_TIME_DATE +#cmakedefine MBEDTLS_HAVE_TIME_DATE /** * \def MBEDTLS_PLATFORM_MEMORY diff --git a/subsys/nrf_security/configs/nrf-config.h.template b/subsys/nrf_security/configs/nrf-config.h.template index 7cb289114dab..b7f6c081dd7b 100644 --- a/subsys/nrf_security/configs/nrf-config.h.template +++ b/subsys/nrf_security/configs/nrf-config.h.template @@ -36,6 +36,8 @@ #cmakedefine MBEDTLS_MEMORY_BUFFER_ALLOC_C #cmakedefine MBEDTLS_DEBUG_C #cmakedefine MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG +#cmakedefine MBEDTLS_HAVE_TIME +#cmakedefine MBEDTLS_HAVE_TIME_DATE /* Platform configurations for _ALT defines */ #cmakedefine MBEDTLS_PLATFORM_EXIT_ALT