Skip to content

Commit 29e6bcb

Browse files
committed
zephyr: Add CONFIG_BOOT_BYPASS_KEY_MATCH
Add Zephyr support for MCUBOOT_BYPASS_KEY_MATCH Signed-off-by: Dominik Ermel <[email protected]>
1 parent 1908d00 commit 29e6bcb

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

boot/zephyr/Kconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,20 @@ endif
325325

326326
endchoice
327327

328+
config BOOT_BYPASS_KEY_MATCH
329+
bool "Do not match TLV key hash against built in key"
330+
depends on !BOOT_SIGNATURE_TYPE_NONE
331+
help
332+
MCUboot reads, from TLV, hash of key thath should be used to verify
333+
signature and tries to match it against list of keys, to select the
334+
key from known keys. This pointless when there is only single key
335+
compiled in, as the key can be used whether it is the right one
336+
or not, the signature verification process will verify the key.
337+
Enabling this option turns off key matching, slightly reducing
338+
MCUboot code and boot time.
339+
340+
341+
328342
config BOOT_SIGNATURE_KEY_FILE
329343
string "PEM key file"
330344
default "root-ec-p256.pem" if BOOT_SIGNATURE_TYPE_ECDSA_P256

boot/zephyr/include/mcuboot_config/mcuboot_config.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,15 @@
153153
#define MCUBOOT_ENCRYPT_X25519
154154
#endif
155155

156+
/* Turn off check of public key hash against compiled in key
157+
* before attempting signature verification. When there is only
158+
* one key, matching is pointless, the signature may just be
159+
* verified with the only key that there is.
160+
*/
161+
#ifdef CONFIG_BOOT_BYPASS_KEY_MATCH
162+
#define MCUBOOT_BYPASS_KEY_MATCH
163+
#endif
164+
156165
#ifdef CONFIG_BOOT_DECOMPRESSION
157166
#define MCUBOOT_DECOMPRESS_IMAGES
158167
#endif

0 commit comments

Comments
 (0)