Base 64 encoding in mbedtls

Hi, 

I am currently held back by a configuration issue. I need to encrypt data using a received public key and send it via ble. As the PSA Crypto API does not yet support 2048 bit RSA keys, I used the mbedtls API directly. I previously had these configurations:

# Enable nordic security and PSA APIs
CONFIG_NRF_SECURITY=y
CONFIG_PSA_WANT_ALG_RSA_OAEP=y

CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y

# Mbedtls configuration

CONFIG_MBEDTLS_PSA_CRYPTO_C=y
CONFIG_MBEDTLS_ENABLE_HEAP=y
CONFIG_MBEDTLS_HEAP_SIZE=16384

However, I want to encode the encrypted data in base64 format before sending it, and when trying to use the mbedtls_base64_encode function, an error occurs as it's apprently valid only when MBEDTLS_BASE64_C is defined. I therefore changed my project configurations to:

# Mbedtls configuration
CONFIG_MBEDTLS_ENABLE_HEAP=y
CONFIG_MBEDTLS_HEAP_SIZE=16384
CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_BUILTIN=y
CONFIG_BASE64=y
CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y
CONFIG_MBEDTLS_CFG_FILE="config-tls-generic.h"
However now any include to mbedtls headers is not recognized (example: mbedtls/pk.h: No such file or directory).

Development setup:

- nRF Connect SDK version: 2.1.0

- OS: Windows 10

- Hardware: nRF52840 DK (PCA10056) Rev. 1.0.0

Is there a configuration that I forgot to set up?

Thanks a lot in advance !

Parents Reply Children
No Data
Related