diff options
author | Philippe Reynes <philippe.reynes@softathome.com> | 2020-09-17 15:01:46 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-10-12 21:30:37 -0400 |
commit | a6982a6f768bdcf4bd0848ff4dbe68c2fd6599fb (patch) | |
tree | e50accdcee18fc7e01b2df722022a2d4ed64d7e9 /include | |
parent | 34ca77c1e113d42a63f8ae21b41ec7f9f356c1de (diff) | |
download | u-boot-a6982a6f768bdcf4bd0848ff4dbe68c2fd6599fb.zip u-boot-a6982a6f768bdcf4bd0848ff4dbe68c2fd6599fb.tar.gz u-boot-a6982a6f768bdcf4bd0848ff4dbe68c2fd6599fb.tar.bz2 |
fit: cipher: aes: allow to store the IV in the FIT image
Binaries may be encrypted in a FIT image with AES. This
algo needs a key and an IV (Initialization Vector). The
IV is provided in a file (pointer by iv-name-hint in the
ITS file) when building the ITB file.
This commits adds provide an alternative way to manage
the IV. If the property iv-name-hint is not provided in
the ITS file, the tool mkimage will generate an random
IV and store it in the FIT image.
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/image.h | 2 | ||||
-rw-r--r-- | include/u-boot/aes.h | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/include/image.h b/include/image.h index 9a5a87d..10995b8 100644 --- a/include/image.h +++ b/include/image.h @@ -1463,7 +1463,7 @@ struct cipher_algo { unsigned char **cipher, int *cipher_len); int (*add_cipher_data)(struct image_cipher_info *info, - void *keydest); + void *keydest, void *fit, int node_noffset); int (*decrypt)(struct image_cipher_info *info, const void *cipher, size_t cipher_len, diff --git a/include/u-boot/aes.h b/include/u-boot/aes.h index 3228104..acbc50b 100644 --- a/include/u-boot/aes.h +++ b/include/u-boot/aes.h @@ -13,7 +13,8 @@ int image_aes_encrypt(struct image_cipher_info *info, const unsigned char *data, int size, unsigned char **cipher, int *cipher_len); -int image_aes_add_cipher_data(struct image_cipher_info *info, void *keydest); +int image_aes_add_cipher_data(struct image_cipher_info *info, void *keydest, + void *fit, int node_noffset); #else int image_aes_encrypt(struct image_cipher_info *info, const unsigned char *data, int size, @@ -22,7 +23,8 @@ int image_aes_encrypt(struct image_cipher_info *info, return -ENXIO; } -int image_aes_add_cipher_data(struct image_cipher_info *info, void *keydest) +int image_aes_add_cipher_data(struct image_cipher_info *info, void *keydest, + void *fit, int node_noffset) { return -ENXIO; } |