nrf_cc3xx_platform_init() API crashes on call in different OS

Agenda:
Use crypto features like AES-CBC, AES-CCM, RSA, ECC, etc. in secure environment (i.e. trustzone with SPM). Also, to use HUK, KMU for secure key generation and storage.

Working Environment:
When used nrf-connect-sdk v1.9.1 with below configurations, able to perform all the required operations.
CONFIG_NRF_SECURITY=y
CONFIG_MBEDTLS_PSA_CRYPTO_C=y
CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y
CONFIG_PSA_WANT_ALG_RSA_OAEP=y
CONFIG_IS_SPM=y

Problem Environment: Want to port all working code above to a different OS.
To achieve this ported nrfx drivers as suggested in documentation in this link https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfx/index.html.
(Present in nrf-connect-sdkv1.9.1\modules\hal\nordic\nrfx)
Also, Integrated libraries:
1. nrf_cc312_platform 
2. nrf_cc312_mbedcrypto
3. mbedtls v3.1.0

ISSUE: Now, when nrf_cc3xx_platform_init() API is called from a secure function, it crashes.
As per my understanding, definition of nrf_cc3xx_platform_init() should be present in nrf_cc312_platform library and nrf_cc3xx_platform_init() function will make related driver calls to rng driver which is present in nrfx drivers already added.

Question:
Is there anything missing in this flow, that is why crash is seen? 
Is this understanding correct, that the three integrated libraries will make driver calls internally which are present in nrfx drivers? Or something more has to be integrated?
Would someone please help sharing some details or pointers?

Parents Reply
  • Hi,

    Thanks for the reply.
    Yes, have followed this sample. 

    There are no crash logs or BT seen.

    As described we are integrating nrf_cc3xx_platform library to a different OS, would like to confirm if we need to port anything other than the library itself and nrfx drivers mentioned above.

    Does the nrf_cc3xx_platform_init() call initializes rng driver or it has to be done separately?

Children
Related