Configuration Conflicts with OSDP and NRF Security

Issue:

We are attempting to implement NRF and OSDP into a Zephyr project. In order for NRF to be, properly, included this requires a configuration statement in the prj.conf for nrf security (CONFIG_NRF_SECURITY). And in order to leverage the OSDP library it requires that we include the necessary dependencies for the configuration symbol MBEDTLS_CIPHER_CCM_ENABLED. However, it explicitly says in the documentation that CONFIG_NRF_SECURITY must be disabled for the OSDP symbol.

Context & Progress:

After removing CONFIG_NRF_SECURITY The errors related to OSDP go away, but I then get errors related to NRF such as undefined references. So effectively it seems that I can choose to have NRF or OSDP not both at this point.

Development Setup

  • MacOS
  • Zephyr RTOS
  • VS Code w/ nRF Connect Extension
  • nrf52840


Error Messages:

OSDP Related Errors:

warning: MBEDTLS_CIPHER_CCM_ENABLED (defined at modules/mbedtls/Kconfig.tls-generic:282, modules/mbedtls/Kconfig.tls-generic:282) has direct dependencies ((MBEDTLS_CIPHER_AES_ENABLED || MBEDTLS_CIPHER_CAMELLIA_ENABLED) && !(NRF_SECURITY || NORDIC_SECURITY_BACKEND) && MBEDTLS_BUILTIN && MBEDTLS_CFG_FILE = "config-tls-generic.h" && MBEDTLS) || ((MBEDTLS_CIPHER_AES_ENABLED || MBEDTLS_CIPHER_CAMELLIA_ENABLED) && !(NRF_SECURITY || NORDIC_SECURITY_BACKEND) && MBEDTLS_BUILTIN && MBEDTLS_CFG_FILE = "config-tls-generic.h" && MBEDTLS && 0) with value n, but is currently being y-selected by the following symbols:
- OSDP_SC_ENABLED (defined at subsys/mgmt/osdp/Kconfig:71), with value y, direct dependencies CSPRING_ENABLED && OSDP (value: y), and select condition CSPRING_ENABLED && OSDP (value: y)

NRF/PSA Related Errors:

I Included this for context the hope is that I will be able to use NRF_Security because that component is already implemented in our products.

Question:
Is there a way to leverage both libraries or edit the OSDP configuration so MBEDTLS_CIPHER_CCM_ENABLED is not required?

Related