Commit Graph

43 Commits (1fcac3557b0493a561a01e6919946f73d9128561)

Author SHA1 Message Date
Daniele Lacamera 21493fcd8d Deprecate python keytools. 2023-08-03 08:05:18 +02:00
John Bland 20621a68ce
Fix issues with keygen tool (#269)
* Fix issues with keygen tool import `-i` feature.
* Fix issue with key import incorrectly assuming key size.
* Add support for importing an ECC key with header.
* Fix for missing ECC key free.
* Refactor keygen tool to use utility function to get key size
* Fix to handle encoded ECC public keys when using `--sha-only` or manual sign
2023-01-09 15:59:00 -08:00
Daniele Lacamera 1275219a7b Sign.py: fixed output file name when encrypt=1 2022-07-25 10:38:39 +02:00
Daniele Lacamera 5ec00f9565 [sign.py] Fixed image path in delta + encrypt 2022-07-20 11:51:18 +02:00
Daniele Lacamera 8cc0735237 Fix namefile parser in sign.py 2022-07-19 15:32:28 +02:00
Daniele Lacamera 1542a15c90 Keystore: array of public keys generated by keygen 2022-07-19 15:32:28 +02:00
Daniele Lacamera acfdd1f676 Added support for RSA3072 2022-05-31 12:13:34 +02:00
Daniele Lacamera a9ffb3c98a Fixed typos. Removed verbose command line help. 2022-05-24 17:24:31 +02:00
Daniele Lacamera 063c21430c Added partition ID. Extended sign manual 2022-05-24 13:31:50 +02:00
Daniele Lacamera 3731157efe Sign tool: improved output (version, algorithms) 2022-05-23 15:27:22 +02:00
Daniele Lacamera 957b9d3c8c Initial support for delta-encrypted updates 2022-05-23 12:00:57 +02:00
Daniele Lacamera f04889ee29 Added SHA2-384 support for integrity checks 2022-04-06 09:41:37 +02:00
Daniele Lacamera d06178c3a8 Added new signature algo: ECC384 2022-04-01 12:21:42 -07:00
Daniele Lacamera 7b51eef290 Fixed comparison of RSA4096 header size in sign.py 2022-03-02 17:46:35 +01:00
David Garske 262a5b0a78
Merge pull request #167 from danielinux/aes-encryption
Add AES encryption support
2022-02-09 10:55:51 -08:00
Daniele Lacamera 61275ec9dd Update Chacha ENCRYPT_BLOCK_SIZE to match IV ctr 2022-02-07 16:35:25 +01:00
Daniele Lacamera 92e9a443fb Updated key tools to use complete IV range for AES 2022-02-07 10:51:18 +01:00
Daniele Lacamera daff2a04a8 Fixed STM32L4 HAL, added IMAGE_HEADER_SIZE option 2022-02-02 12:05:14 +01:00
Daniele Lacamera 43a5a38629 Fixes to AES-CTR encryption after testing 2022-01-31 16:46:09 +01:00
Daniele Lacamera b656e4abef Support for --aes128 and --aes256 in sign.py 2022-01-28 20:26:59 +01:00
Daniele Lacamera 5be0b42c8d Fixed delta manifest header alignment 2022-01-17 13:34:54 +01:00
Daniele Lacamera 845fd02edf Added tests for ed448, fixed sign.py 2021-12-14 16:55:10 +01:00
Daniele Lacamera 241099eebf Added Ed448 support for python keytools
Depends on https://github.com/wolfSSL/wolfcrypt-py/pull/25/
2021-12-13 13:52:06 +01:00
Daniele Lacamera 157a03edd3 Fixed key import ranges in ecc sign.py
Same fix as wolfcrypt-py/b79527f876385ecfc23ff47696c32eaf74ff792c

The array slicing in ecc.decode_key_raw() call wrongly assumed array as
inclusive (i.e. [0:31] to include from 0 to 31, instead of the correct
form [0:32]).
2021-09-27 19:19:31 +02:00
Daniele Lacamera 39ee01a948 Added roll-back feature via inverse patch 2021-08-17 15:44:34 +02:00
Daniele Lacamera 11959dac9f Fixed sign.py, delta offset. Simplest case update works. 2021-08-16 11:59:46 +02:00
Daniele Lacamera b74a4f69e2 Changed delta mechanism + added key tool diff function 2021-08-16 11:59:45 +02:00
David Garske d38de3b432 Update copyright year 2021-07-19 07:50:02 -07:00
Daniele Lacamera d763d63e65 Fixed/unified keytool sign warning on NO_SIGN 2021-06-28 13:52:00 +02:00
Daniele Lacamera f2bab09777 Added support for SIGN=NONE 2021-06-28 13:52:00 +02:00
Daniele Lacamera f3f27ae2cb Fixed ChaCha20 IV usage/setting. Test/docs updated. 2020-06-18 11:12:01 +02:00
Daniele Lacamera ceb07ec315 Fixed encryption alignment and signing tool IV 2020-06-16 17:52:50 +02:00
Daniele Lacamera 53bf4d04db Encrypt: API design 2020-06-16 17:50:55 +02:00
Daniele Lacamera 2b6d093469 sign.py: Fixed parsing size of public key when in 'manual-sign' or 'sha-only'
mode.
2020-06-11 17:03:47 +02:00
Daniele Lacamera 5d80dcf512 Added 6 bytes to padding in manifest
(fixes SHA-3 misaligned access)
Spotted via test-81
2020-03-19 17:06:05 +01:00
David Garske c0b534edd7 wolfBoot Aarch64 support (Xilinx Zynq and Raspberry Pi):
* Added Aarch64 boot/startup support
* Added configuration templates for Raspberry Pi 3 and Xilinx ZynqMP UltraScale+
* Added Xilinx Zynq QSPI bare-metal Driver
* Added `NO_XIP` option for full `ext_flash_*` API on all partitions
* Added Xilinx SDK Project Template
* Added support for DTS image partitions
* Added wolfBoot signing tool in Native C (`tools/keytools/sign.c`).
* Added libwolfboot functions `int wolfBoot_fallback_is_possible(void);` and `int wolfBoot_dualboot_candidate(void);`
* Performance improvement to only hash application firmware image once
2020-03-04 12:04:46 -08:00
Daniele Lacamera f57a27d57c Fixed sign tool to accommodate all the options. Fixed tests. 2020-01-09 15:09:07 +01:00
Daniele Lacamera d33c5acac8 Added support for SHA3 2020-01-07 20:35:31 +01:00
Daniele Lacamera c847529698 Added RSA-4096 bit support 2020-01-07 11:32:09 +01:00
Chris Conlon 1f57ad9f39 update copyright to 2020 2020-01-03 15:36:00 -08:00
David Garske fae6a974c8 Adds RSA support to wolfBoot using "SIGN=RSA2048". Includes RSA signing script tool in Python and instructions. 2019-12-17 09:44:02 -08:00
Daniele Lacamera fc547e4a25 wolfBoot can update itself when compiled with RAM_CODE=1
- Added wolfBoot version
- Added extra 16bit header tag to identify the image type and authentication
- Implemented optional in-ram self-update of the bootloader, with version control
and authentication mechanism (not fail-safe)
2019-04-29 20:32:04 +02:00
Daniele Lacamera 75fc9cc59a C Host key tools rewritten in python (fix for #4) 2019-04-17 07:15:59 +02:00