@@ -75,6 +75,60 @@ config BOOT_AES_MBEDTLS_DEPENDENCIES
75
75
76
76
endif
77
77
78
+ if BOOT_USE_PSA_CRYPTO
79
+
80
+ config BOOT_PSA_IMG_HASH_ALG_SHA256_DEPENDENCIES
81
+ bool
82
+ default y if BOOT_IMG_HASH_ALG_SHA256
83
+ select PSA_WANT_ALG_SHA_256
84
+ help
85
+ Dependencies for hashing with SHA256
86
+
87
+ config BOOT_ED25519_PSA_DEPENDENCIES
88
+ bool
89
+ select PSA_WANT_ALG_SHA_256
90
+ select PSA_WANT_ALG_SHA_512
91
+ select PSA_WANT_ALG_PURE_EDDSA
92
+ # Seems that upstream mbedTLS does not have TE
93
+ #select PSA_WANT_ECC_TWISTED_EDWARDS_255
94
+ select PSA_WANT_ECC_MONTGOMERY_255
95
+ select PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT
96
+ help
97
+ Dependencies for ed25519 signature
98
+
99
+ if BOOT_ENCRYPT_IMAGE
100
+
101
+ config BOOT_X25519_PSA_DEPENDENCIES
102
+ bool
103
+ select PSA_WANT_ALG_ECDH
104
+ select PSA_WANT_ALG_HMAC
105
+ select PSA_WANT_ALG_HKDF
106
+ select PSA_WANT_ALG_CTR
107
+ select PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT
108
+ select PSA_WANT_KEY_TYPE_DERIVE
109
+ select PSA_WANT_KEY_TYPE_AES
110
+ select PSA_WANT_ECC_MONTGOMERY_255
111
+ help
112
+ Dependencies for x25519 shared-random key encryption and AES
113
+ encryption. The PSA_WANT_ALG_CTR and PSA_WANT_KEY_TYPE_AES
114
+ enable Counter based block cipher and AES key, and algorithm support,
115
+ to use with it; the others are used for shared key decryption
116
+ and derivation.
117
+
118
+ endif # BOOT_ENCRYPT_IMAGE
119
+
120
+ if MBEDTLS_ENABLE_HEAP
121
+
122
+ config MBEDTLS_HEAP_SIZE
123
+ default 2048 if BOOT_USE_PSA_CRYPTO
124
+ help
125
+ The PSA internals need to be able to allocate memory for operation
126
+ and it uses mbedTLS heap for that.
127
+
128
+ endif # MBEDTLS_ENABLE_HEAP
129
+
130
+ endif # BOOT_USE_PSA_CRYPTO
131
+
78
132
menu "MCUBoot settings"
79
133
80
134
config SINGLE_APPLICATION_SLOT
@@ -156,6 +210,7 @@ config BOOT_SIGNATURE_TYPE_PURE_ALLOW
156
210
157
211
choice BOOT_SIGNATURE_TYPE
158
212
prompt "Signature type"
213
+ default BOOT_SIGNATURE_TYPE_ED25519 if SOC_NRF54L15_CPUAPP
159
214
default BOOT_SIGNATURE_TYPE_RSA
160
215
161
216
config BOOT_SIGNATURE_TYPE_NONE
@@ -231,17 +286,30 @@ config BOOT_SIGNATURE_TYPE_PURE
231
286
choice BOOT_ED25519_IMPLEMENTATION
232
287
prompt "Ecdsa implementation"
233
288
default BOOT_ED25519_TINYCRYPT
289
+
234
290
config BOOT_ED25519_TINYCRYPT
235
291
bool "Use tinycrypt"
236
292
select BOOT_USE_TINYCRYPT
237
293
select BOOT_IMG_HASH_ALG_SHA512_ALLOW
294
+
238
295
config BOOT_ED25519_MBEDTLS
239
296
bool "Use mbedTLS"
240
297
select BOOT_USE_MBEDTLS
241
298
select MBEDTLS
242
299
select MBEDTLS_ASN1_PARSE_C if MBEDTLS_BUILTIN
243
300
select BOOT_AES_MBEDTLS_DEPENDENCIES if MBEDTLS_BUILTIN && BOOT_ENCRYPT_IMAGE
244
301
302
+ config BOOT_ED25519_PSA
303
+ bool "Use PSA crypto"
304
+ select MBEDTLS
305
+ select BOOT_USE_PSA_CRYPTO
306
+ select MBEDTLS_PSA_CRYPTO_C
307
+ select MBEDTLS_ASN1_PARSE_C if MBEDTLS_BUILTIN
308
+ select PSA_CRYPTO_CLIENT
309
+ select PSA_CRYPTO_C
310
+ select BOOT_ED25519_PSA_DEPENDENCIES
311
+ select BOOT_X25519_PSA_DEPENDENCIES if BOOT_ENCRYPT_IMAGE
312
+
245
313
endchoice
246
314
endif
247
315
@@ -289,7 +357,7 @@ config MCUBOOT_CLEANUP_RAM
289
357
if MBEDTLS
290
358
291
359
config MBEDTLS_CFG_FILE
292
- default "config-tls-generic.h" if MBEDTLS_BUILTIN
360
+ default "config-tls-generic.h" if MBEDTLS_BUILTIN || BOOT_USE_PSA_CRYPTO
293
361
default "mcuboot-mbedtls-cfg.h" if BOOT_USE_MBEDTLS
294
362
295
363
endif
0 commit comments