Trying to set up secure channel with odsp fails because it can't find the crypto device

Hi! I am trying to get OSDP communication up and running on my nrf9160dk board. I am trying to run this sample: https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/mgmt/osdp/peripheral_device i have gone into the odsp Kconfig file and commented out the crypto options from:

config OSDP_SC_ENABLED
	bool "OSDP Secure Channel"
	depends on CSPRING_ENABLED
	default y
	select CRYPTO
	#select CRYPTO_MBEDTLS_SHIM
	#select MBEDTLS
	#select MBEDTLS_CIPHER_AES_ENABLED
	#select MBEDTLS_CIPHER_CCM_ENABLED

like mentioned in  Configuration Conflicts with OSDP and NRF Security 

this is my prj.conf

# OSDP config
CONFIG_OSDP=y
CONFIG_OSDP_MODE_PD=y

# LED CONTROL
CONFIG_OSDP_PD_CAP_READER_LED_CONTROL_COMP_LEVEL=1
CONFIG_OSDP_PD_CAP_READER_LED_CONTROL_NUM_ITEMS=1


CONFIG_NRF_SECURITY=y
CONFIG_MBEDTLS_PSA_CRYPTO_C=y

CONFIG_MBEDTLS_ENABLE_HEAP=y
CONFIG_MBEDTLS_HEAP_SIZE=8192
CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y

CONFIG_PSA_WANT_ALG_CCM=y

CONFIG_ENTROPY_GENERATOR=y


CONFIG_OSDP_CRYPTO_DRV_NAME="CRYPTO_CC3XX"

CONFIG_MBEDTLS_USE_PSA_CRYPTO=y

# Enable OSDP Secure Channel feature
CONFIG_OSDP_SC_ENABLED=y
CONFIG_OSDP_PD_SCBK="NONE"

CONFIG_OSDP_PD_CAP_TIME_KEEPING_COMP_LEVEL=2 

I have the dev kit wired to my pc via a usb-uart converter but when i try to send the secure key i get: 

[00:00:14.277,435] <err> osdp: osdp_encrypt: Failed to get crypto dev binding!

from osdp_sc.c:

void osdp_encrypt(uint8_t *key, uint8_t *iv, uint8_t *data, int len)
{
	const struct device *dev;
	struct cipher_ctx ctx = {
		.keylen = 16,
		.key.bit_stream = key,
		.flags = CAP_NO_IV_PREFIX
	};
	struct cipher_pkt encrypt = {
		.in_buf = data,
		.in_len = len,
		.out_buf = data,
		.out_len = len
	};

	dev = device_get_binding(CONFIG_OSDP_CRYPTO_DRV_NAME);
	if (dev == NULL) {
		LOG_ERR("Failed to get crypto dev binding!");
		return;
	}

i am using ncs v2.3.0 but have updated the osdp headers and source code to the newest version included in Zephyr. I have included the project.

I have gone trough the zephyr.dts file but cant find any crypto driver bindings there. What should i set CONFIG_OSDP_CRYPTO_DRV_NAME to?

osdp_pd.zip

Related