From e49947f1771d58a9e94de5436f03145f7ba673d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Duda?= Date: Wed, 7 May 2025 00:19:43 +0200 Subject: [PATCH] [crypto] PSA API: remove otPlatCryptoInit API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit removes otPlatCryptoInit API and moves responsibility of initializing the Crypto subsystem to the platform. Signed-off-by: Ɓukasz Duda --- examples/platforms/simulation/system.c | 9 ++++++++- .../platforms/simulation/virtual_time/platform-sim.c | 8 +++++++- include/openthread/platform/crypto.h | 5 ----- src/core/crypto/crypto_platform_mbedtls.cpp | 5 ----- src/core/crypto/crypto_platform_psa.cpp | 2 -- src/core/thread/key_manager.cpp | 2 -- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/examples/platforms/simulation/system.c b/examples/platforms/simulation/system.c index f4c2cebce..140a17a8e 100644 --- a/examples/platforms/simulation/system.c +++ b/examples/platforms/simulation/system.c @@ -55,6 +55,10 @@ #include #include +#if (OPENTHREAD_CONFIG_CRYPTO_LIB == OPENTHREAD_CONFIG_CRYPTO_LIB_PSA) +#include +#endif + #include "simul_utils.h" uint32_t gNodeId = 1; @@ -201,10 +205,13 @@ void otSysInit(int aArgCount, char *aArgVector[]) signal(SIGTERM, &handleSignal); signal(SIGHUP, &handleSignal); -#if OPENTHREAD_PSA_CRYPTO_NATIVE_ITS_FILE && (OPENTHREAD_CONFIG_CRYPTO_LIB == OPENTHREAD_CONFIG_CRYPTO_LIB_PSA) +#if (OPENTHREAD_CONFIG_CRYPTO_LIB == OPENTHREAD_CONFIG_CRYPTO_LIB_PSA) + psa_crypto_init(); +#if OPENTHREAD_PSA_CRYPTO_NATIVE_ITS_FILE snprintf(sNativeItsFileNamePrefix, sizeof(sNativeItsFileNamePrefix), "%s/%s_%d_", OPENTHREAD_CONFIG_POSIX_SETTINGS_PATH, getenv("PORT_OFFSET") ? getenv("PORT_OFFSET") : "0", gNodeId); gItsFileNamePrefix = sNativeItsFileNamePrefix; +#endif #endif platformLoggingInit(basename(aArgVector[0])); diff --git a/examples/platforms/simulation/virtual_time/platform-sim.c b/examples/platforms/simulation/virtual_time/platform-sim.c index 7c2dfd04c..8d5e954c3 100644 --- a/examples/platforms/simulation/virtual_time/platform-sim.c +++ b/examples/platforms/simulation/virtual_time/platform-sim.c @@ -51,6 +51,9 @@ #include #include "../simul_utils.h" +#if (OPENTHREAD_CONFIG_CRYPTO_LIB == OPENTHREAD_CONFIG_CRYPTO_LIB_PSA) +#include +#endif #include "lib/platform/exit_code.h" #include "utils/uart.h" @@ -278,10 +281,13 @@ void otSysInit(int argc, char *argv[]) DieNow(OT_EXIT_FAILURE); } -#if OPENTHREAD_PSA_CRYPTO_NATIVE_ITS_FILE && (OPENTHREAD_CONFIG_CRYPTO_LIB == OPENTHREAD_CONFIG_CRYPTO_LIB_PSA) +#if (OPENTHREAD_CONFIG_CRYPTO_LIB == OPENTHREAD_CONFIG_CRYPTO_LIB_PSA) + psa_crypto_init(); +#if OPENTHREAD_PSA_CRYPTO_NATIVE_ITS_FILE snprintf(sNativeItsFileNamePrefix, sizeof(sNativeItsFileNamePrefix), "%s/%s_%d_", OPENTHREAD_CONFIG_POSIX_SETTINGS_PATH, getenv("PORT_OFFSET") ? getenv("PORT_OFFSET") : "0", gNodeId); gItsFileNamePrefix = sNativeItsFileNamePrefix; +#endif #endif socket_init(); diff --git a/include/openthread/platform/crypto.h b/include/openthread/platform/crypto.h index fa3c4e7ba..6ee439979 100644 --- a/include/openthread/platform/crypto.h +++ b/include/openthread/platform/crypto.h @@ -215,11 +215,6 @@ typedef struct otPlatCryptoEcdsaSignature otPlatCryptoEcdsaSignature; */ #define OT_CRYPTO_PBDKF2_MAX_SALT_SIZE 30 -/** - * Initialize the Crypto module. - */ -void otPlatCryptoInit(void); - /** * Import a key into PSA ITS. * diff --git a/src/core/crypto/crypto_platform_mbedtls.cpp b/src/core/crypto/crypto_platform_mbedtls.cpp index 3ebfd5691..a72c04988 100644 --- a/src/core/crypto/crypto_platform_mbedtls.cpp +++ b/src/core/crypto/crypto_platform_mbedtls.cpp @@ -78,11 +78,6 @@ static constexpr uint16_t kEntropyMinThreshold = 16; #endif #endif -OT_TOOL_WEAK void otPlatCryptoInit(void) -{ - // Intentionally empty. -} - // AES Implementation OT_TOOL_WEAK otError otPlatCryptoAesInit(otCryptoContext *aContext) { diff --git a/src/core/crypto/crypto_platform_psa.cpp b/src/core/crypto/crypto_platform_psa.cpp index 9d617ea04..ce79ca0ab 100644 --- a/src/core/crypto/crypto_platform_psa.cpp +++ b/src/core/crypto/crypto_platform_psa.cpp @@ -200,8 +200,6 @@ exit: return error; } -OT_TOOL_WEAK void otPlatCryptoInit(void) { psa_crypto_init(); } - OT_TOOL_WEAK otError otPlatCryptoImportKey(otCryptoKeyRef *aKeyRef, otCryptoKeyType aKeyType, otCryptoKeyAlgorithm aKeyAlgorithm, diff --git a/src/core/thread/key_manager.cpp b/src/core/thread/key_manager.cpp index 4a5cb74ac..f709b29a7 100644 --- a/src/core/thread/key_manager.cpp +++ b/src/core/thread/key_manager.cpp @@ -176,8 +176,6 @@ KeyManager::KeyManager(Instance &aInstance) , mKekFrameCounter(0) , mIsPskcSet(false) { - otPlatCryptoInit(); - #if OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE { NetworkKey networkKey;