Skip to content

Commit 9b43df5

Browse files
committed
boot: zephyr: Add ECDSA support using mbedTLS
1 parent d14ba22 commit 9b43df5

File tree

2 files changed

+30
-12
lines changed

2 files changed

+30
-12
lines changed

boot/zephyr/CMakeLists.txt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -300,21 +300,25 @@ elseif(CONFIG_BOOT_SIGNATURE_TYPE_ED25519 OR CONFIG_BOOT_ENCRYPT_X25519)
300300
endif()
301301

302302
if(NOT CONFIG_BOOT_ED25519_PSA AND NOT CONFIG_BOOT_ECDSA_PSA)
303-
if(CONFIG_BOOT_ENCRYPT_EC256 OR CONFIG_BOOT_ENCRYPT_X25519)
304-
zephyr_library_sources(
305-
${TINYCRYPT_DIR}/source/aes_encrypt.c
306-
${TINYCRYPT_DIR}/source/aes_decrypt.c
307-
${TINYCRYPT_DIR}/source/ctr_mode.c
308-
${TINYCRYPT_DIR}/source/hmac.c
309-
${TINYCRYPT_DIR}/source/ecc_dh.c
310-
)
303+
if(CONFIG_BOOT_USE_TINYCRYPT)
304+
if(CONFIG_BOOT_ENCRYPT_EC256 OR CONFIG_BOOT_ENCRYPT_X25519)
305+
zephyr_library_sources(
306+
${TINYCRYPT_DIR}/source/aes_encrypt.c
307+
${TINYCRYPT_DIR}/source/aes_decrypt.c
308+
${TINYCRYPT_DIR}/source/ctr_mode.c
309+
${TINYCRYPT_DIR}/source/hmac.c
310+
${TINYCRYPT_DIR}/source/ecc_dh.c
311+
)
312+
endif()
311313
endif()
312314
endif()
313315

314-
if(CONFIG_BOOT_ENCRYPT_EC256 AND NOT CONFIG_BOOT_ECDSA_PSA)
315-
zephyr_library_sources(
316-
${TINYCRYPT_DIR}/source/ecc_dh.c
317-
)
316+
if(CONFIG_BOOT_USE_TINYCRYPT)
317+
if(CONFIG_BOOT_ENCRYPT_EC256 AND NOT CONFIG_BOOT_ECDSA_PSA)
318+
zephyr_library_sources(
319+
${TINYCRYPT_DIR}/source/ecc_dh.c
320+
)
321+
endif()
318322
endif()
319323

320324
if(CONFIG_MCUBOOT_SERIAL)

boot/zephyr/Kconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,20 @@ config BOOT_ECDSA_TINYCRYPT
283283
bool "Use tinycrypt"
284284
select BOOT_USE_TINYCRYPT
285285

286+
config BOOT_ECDSA_MBEDTLS
287+
bool "Use mbedTLS"
288+
select BOOT_USE_MBEDTLS
289+
select MBEDTLS
290+
select MBEDTLS_ECP_C if MBEDTLS_BUILTIN
291+
select MBEDTLS_ECDSA_C if MBEDTLS_BUILTIN
292+
select MBEDTLS_ECP_DP_SECP256R1_ENABLED if MBEDTLS_BUILTIN
293+
select MBEDTLS_ASN1_PARSE_C if MBEDTLS_BUILTIN
294+
select MBEDTLS_ECP_NIST_OPTIM if MBEDTLS_BUILTIN
295+
select MBEDTLS_SHA256 if MBEDTLS_BUILTIN
296+
select MBEDTLS_MD if MBEDTLS_BUILTIN
297+
select MBEDTLS_ECDH_C if MBEDTLS_BUILTIN && BOOT_ENCRYPT_IMAGE
298+
select BOOT_AES_MBEDTLS_DEPENDENCIES if MBEDTLS_BUILTIN && BOOT_ENCRYPT_IMAGE
299+
286300
config BOOT_ECDSA_CC310
287301
bool "Use CC310"
288302
depends on HAS_HW_NRF_CC310

0 commit comments

Comments
 (0)