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)
159
159
set (imgtool_args --sha 512 ${imgtool_args} )
160
160
endif ()
161
161
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
+
162
169
# Extensionless prefix of any output file.
163
170
set (output ${ZEPHYR_BINARY_DIR} /${KERNEL_NAME} )
164
171
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 @@ -78,3 +78,12 @@ foreach(loopkeytype ${keytypes})
78
78
set_config_bool (${ZCMAKE_APPLICATION} ${loopkeytype} n )
79
79
endif ()
80
80
endforeach ()
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)
51
51
set_config_bool (${ZCMAKE_APPLICATION} CONFIG_RETENTION_BOOT_MODE y )
52
52
endif ()
53
53
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 ()
54
62
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 @@ -204,4 +204,20 @@ config BOOT_ENCRYPTION_KEY_FILE
204
204
help
205
205
Absolute path to encryption key file to use with MCUBoot.
206
206
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
+
207
223
endif
You can’t perform that action at this time.
0 commit comments