You are trying to perform RSA encryption using CC312 on the nRF5340, but the function:
status = psa_asymmetric_encrypt(pub_key_handle, PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256), plainData, plainDataLength, NULL, // Set label to NULL 0, // Set label length to 0 encDataOut, *encDataLen, &outputLength);
returns -147
(PSA_ERROR_NOT_SUPPORTED) when CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y and CONFIG_PSA_CRYPTO_DRIVER_OBERON=n.
However, when CONFIG_PSA_CRYPTO_DRIVER_OBERON=y and CONFIG_PSA_CRYPTO_DRIVER_CC3XX=n, the function works correctly.
board.conf
# # Copyright (c) 2024 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # # Using Oberon software crypto CONFIG_PSA_CRYPTO_DRIVER_OBERON=y CONFIG_PSA_CRYPTO_DRIVER_CC3XX=n # Mbedtls configuration CONFIG_MBEDTLS_ENABLE_HEAP=y CONFIG_MBEDTLS_HEAP_SIZE=20480
prj.conf
# # Copyright (c) 2024 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # CONFIG_MAIN_STACK_SIZE=20480 CONFIG_HEAP_MEM_POOL_SIZE=20480 # 로깅 Config 시작 CONFIG_LOG=y CONFIG_USE_SEGGER_RTT=y CONFIG_LOG_BACKEND_RTT=y CONFIG_LOG_BACKEND_UART=n CONFIG_LOG_BUFFER_SIZE=2048 CONFIG_LOG_PRINTK=n CONFIG_LOG_MODE_DEFERRED=y CONFIG_LOG_PROCESS_THREAD=y # 로깅 Config 종료 # Config Clock Control 시작 CONFIG_SOC_ENABLE_LFXO=n CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y # Config Clock Control 종료 # Enable nordic security backend and PSA APIs CONFIG_NRF_SECURITY=y CONFIG_MBEDTLS_PSA_CRYPTO_C=y CONFIG_PSA_WANT_GENERATE_RANDOM=y # CONFIG_PSA_USE_CC3XX_KEY_MANAGEMENT_DRIVER=y CONFIG_PSA_WANT_ALG_RSA_PKCS1V15_SIGN=y CONFIG_PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT=y CONFIG_PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT=y CONFIG_PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE=y CONFIG_PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE=y CONFIG_PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY=y # CONFIG_PSA_USE_CC3XX_ASYMMETRIC_ENCRYPTION_DRIVER=y CONFIG_PSA_WANT_ALG_RSA_OAEP=y # CONFIG_PSA_USE_CC3XX_HASH_DRIVER=y CONFIG_PSA_WANT_ALG_SHA_256=y # This samples source code explicitly uses an RSA key size of 4096 # CONFIG_PSA_WANT_RSA_KEY_SIZE_4096=n CONFIG_PSA_WANT_RSA_KEY_SIZE_2048=y