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 @@ -161,6 +161,13 @@ function(zephyr_mcuboot_tasks)
161
161
set (imgtool_args --sha 512 ${imgtool_args} )
162
162
endif ()
163
163
164
+ if (NOT "${keyfile_enc} " STREQUAL "" )
165
+ if (CONFIG_MCUBOOT_ENCRYPTION_ALG_AES_256 )
166
+ # Note: this overrides the default behavior of using AES-128
167
+ set (imgtool_args ${imgtool_args} --encrypt-keylen 256 )
168
+ endif ()
169
+ endif ()
170
+
164
171
# Extensionless prefix of any output file.
165
172
set (output ${ZEPHYR_BINARY_DIR} /${KERNEL_NAME} )
166
173
Original file line number Diff line number Diff line change @@ -89,6 +89,22 @@ config MCUBOOT_ENCRYPTION_KEY_FILE
89
89
90
90
If left empty, you must encrypt the Zephyr binaries manually.
91
91
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
+
92
108
config MCUBOOT_IMGTOOL_SIGN_VERSION
93
109
string "Version to pass to imgtool when signing"
94
110
default "$(APP_VERSION_TWEAK_STRING)" if "$(VERSION_MAJOR)" != ""
Original file line number Diff line number Diff line change @@ -84,3 +84,12 @@ foreach(loopkeytype ${keytypes})
84
84
set_config_bool (${ZCMAKE_APPLICATION} ${loopkeytype} n )
85
85
endif ()
86
86
endforeach ()
87
+
88
+ if (SB_CONFIG_BOOT_ENCRYPTION )
89
+ set_config_string (${ZCMAKE_APPLICATION} CONFIG_BOOT_ENCRYPTION_KEY_FILE "${SB_CONFIG_BOOT_ENCRYPTION_KEY_FILE} " )
90
+ if (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_128 )
91
+ set_config_bool (${ZCMAKE_APPLICATION} CONFIG_BOOT_ENCRYPT_ALG_AES_128 y )
92
+ elseif (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_256 )
93
+ set_config_bool (${ZCMAKE_APPLICATION} CONFIG_BOOT_ENCRYPT_ALG_AES_256 y )
94
+ endif ()
95
+ endif ()
Original file line number Diff line number Diff line change @@ -56,4 +56,12 @@ if(SB_CONFIG_BOOTLOADER_MCUBOOT)
56
56
set_config_bool (${ZCMAKE_APPLICATION} CONFIG_RETENTION_BOOT_MODE y )
57
57
endif ()
58
58
endif ()
59
+
60
+ if (SB_CONFIG_BOOT_ENCRYPTION )
61
+ if (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_128 )
62
+ set_config_bool (${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_ENCRYPTION_ALG_AES_128 y )
63
+ elseif (SB_CONFIG_BOOT_ENCRYPTION_ALG_AES_256 )
64
+ set_config_bool (${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_ENCRYPTION_ALG_AES_256 y )
65
+ endif ()
66
+ endif ()
59
67
endif ()
Original file line number Diff line number Diff line change @@ -15,8 +15,4 @@ if(SB_CONFIG_BOOTLOADER_MCUBOOT)
15
15
sysbuild_add_dependencies (FLASH ${DEFAULT_IMAGE} ${image} )
16
16
17
17
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 ()
22
18
endif ()
Original file line number Diff line number Diff line change @@ -219,4 +219,20 @@ config BOOT_ENCRYPTION_KEY_FILE
219
219
help
220
220
Absolute path to encryption key file to use with MCUBoot.
221
221
222
+ if BOOT_ENCRYPTION
223
+
224
+ choice BOOT_ENCRYPTION_ALG
225
+ prompt "Algorithm used for image encryption"
226
+ default BOOT_ENCRYPTION_ALG_AES_128
227
+
228
+ config BOOT_ENCRYPTION_ALG_AES_128
229
+ bool "Use AES-128 for image encryption"
230
+
231
+ config BOOT_ENCRYPTION_ALG_AES_256
232
+ bool "Use AES-256 for image encryption"
233
+
234
+ endchoice # BOOT_ENCRYPTION_ALG
235
+
236
+ endif # BOOT_ENCRYPTION
237
+
222
238
endif
You can’t perform that action at this time.
0 commit comments