File tree Expand file tree Collapse file tree 6 files changed +56
-4
lines changed
Expand file tree Collapse file tree 6 files changed +56
-4
lines changed Original file line number Diff line number Diff line change @@ -159,6 +159,13 @@ function(zephyr_mcuboot_tasks)
159159 set (imgtool_args --sha 512 ${imgtool_args} )
160160 endif ()
161161
162+ if (NOT "${keyfile_enc} " STREQUAL "" )
163+ if (CONFIG_MCUBOOT_ENCRYPTION_ALG_AES_256)
164+ # Note: this overrides the default behavior of using AES-128
165+ set (imgtool_args ${imgtool_args} --encrypt-keylen 256)
166+ endif ()
167+ endif ()
168+
162169 # Extensionless prefix of any output file.
163170 set (output ${ZEPHYR_BINARY_DIR} /${KERNEL_NAME} )
164171
Original file line number Diff line number Diff line change @@ -89,6 +89,22 @@ config MCUBOOT_ENCRYPTION_KEY_FILE
8989
9090 If left empty, you must encrypt the Zephyr binaries manually.
9191
92+ if MCUBOOT_ENCRYPTION_KEY_FILE != ""
93+
94+ choice MCUBOOT_ENCRYPTION_ALG
95+ prompt "Algorithm used for image encryption"
96+ default MCUBOOT_ENCRYPTION_ALG_AES_128
97+
98+ config MCUBOOT_ENCRYPTION_ALG_AES_128
99+ bool "Use AES-128 for image encryption"
100+
101+ config MCUBOOT_ENCRYPTION_ALG_AES_256
102+ bool "Use AES-256 for image encryption"
103+
104+ endchoice # MCUBOOT_ENCRYPTION_ALG
105+
106+ endif # MCUBOOT_ENCRYPTION_KEY_FILE != ""
107+
92108config MCUBOOT_IMGTOOL_SIGN_VERSION
93109 string "Version to pass to imgtool when signing"
94110 default "$(APP_VERSION_TWEAK_STRING)" if "$(VERSION_MAJOR)" != ""
Original file line number Diff line number Diff line change @@ -78,3 +78,12 @@ foreach(loopkeytype ${keytypes})
7878 set_config_bool(${ZCMAKE_APPLICATION} ${loopkeytype} n)
7979 endif ()
8080endforeach ()
81+
82+ if (SB_CONFIG_BOOT_ENCRYPTION)
83+ set_config_string(${ZCMAKE_APPLICATION} CONFIG_BOOT_ENCRYPTION_KEY_FILE "${SB_CONFIG_BOOT_ENCRYPTION_KEY_FILE} " )
84+ if (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_128)
85+ set_config_bool(${ZCMAKE_APPLICATION} CONFIG_BOOT_ENCRYPT_ALG_AES_128 y)
86+ elseif (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_256)
87+ set_config_bool(${ZCMAKE_APPLICATION} CONFIG_BOOT_ENCRYPT_ALG_AES_256 y)
88+ endif ()
89+ endif ()
Original file line number Diff line number Diff line change @@ -51,4 +51,12 @@ if(SB_CONFIG_BOOTLOADER_MCUBOOT)
5151 set_config_bool(${ZCMAKE_APPLICATION} CONFIG_RETENTION_BOOT_MODE y)
5252 endif ()
5353 endif ()
54+
55+ if (SB_CONFIG_BOOT_ENCRYPTION)
56+ if (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_128)
57+ set_config_bool(${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_ENCRYPTION_ALG_AES_128 y)
58+ elseif (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_256)
59+ set_config_bool(${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_ENCRYPTION_ALG_AES_256 y)
60+ endif ()
61+ endif ()
5462endif ()
Original file line number Diff line number Diff line change @@ -15,8 +15,4 @@ if(SB_CONFIG_BOOTLOADER_MCUBOOT)
1515 sysbuild_add_dependencies(FLASH ${DEFAULT_IMAGE} ${image} )
1616
1717 set_config_string(${image} CONFIG_BOOT_SIGNATURE_KEY_FILE "${SB_CONFIG_BOOT_SIGNATURE_KEY_FILE} " )
18- set_config_bool(${image} CONFIG_BOOT_ENCRYPT_IMAGE "${SB_CONFIG_BOOT_ENCRYPTION} " )
19- if (SB_CONFIG_BOOT_ENCRYPTION)
20- set_config_string(${image} CONFIG_BOOT_ENCRYPTION_KEY_FILE "${SB_CONFIG_BOOT_ENCRYPTION_KEY_FILE} " )
21- endif ()
2218endif ()
Original file line number Diff line number Diff line change @@ -204,4 +204,20 @@ config BOOT_ENCRYPTION_KEY_FILE
204204 help
205205 Absolute path to encryption key file to use with MCUBoot.
206206
207+ if BOOT_ENCRYPTION
208+
209+ choice BOOT_ENCRYPTION_ALG
210+ prompt "Algorithm used for image encryption"
211+ default BOOT_ENCRYPTION_ALG_AES_128
212+
213+ config BOOT_ENCRYPTION_ALG_AES_128
214+ bool "Use AES-128 for image encryption"
215+
216+ config BOOT_ENCRYPTION_ALG_AES_256
217+ bool "Use AES-256 for image encryption"
218+
219+ endchoice # BOOT_ENCRYPTION_ALG
220+
221+ endif # BOOT_ENCRYPTION
222+
207223endif
You can’t perform that action at this time.
0 commit comments