Commit Graph

60 Commits (9605dd283fabf4473404fbb5437ee23458e4cbdd)

Author SHA1 Message Date
Daniele Lacamera 9605dd283f Fixes for test cases using keystore 2022-07-19 15:33:29 +02:00
Daniele Lacamera 513163a77b Added "ARMORED" check for part id flags mask 2022-07-19 15:32:28 +02:00
Daniele Lacamera 4066c57951 Fixed hash for public key in sha384 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 e9a3044b93 Fixed regression accessing external partitions 2022-05-20 08:06:07 +02:00
David Garske f63c323677 Cleanups and restore a few changes. 2022-05-20 08:06:07 +02:00
David Garske 6068a8047c wolfBoot improvements (from elms):
* Add `WOLFBOOT_DUALBOOT` for dynamic fallback
* Refactor header field parsing
* Cleanup compiler warnings and logic extra check
* Option to leave out partition based functions
* Add `WOLFBOOT_FIXED_PARTITIONS` enable using partition enum and related functions
* Wrap all delta update references
* Update raspberry documentation
* EFI refactoring
* Add `keytools_check` target
* Add "library" target
2022-05-20 08:06:07 +02:00
Daniele Lacamera e755700451 Fix regressions in wolfTPM integration and tests 2022-04-11 18:23:10 +02:00
Daniele Lacamera 98540836e7 Fixed SIGN=NONE with SHA3 2022-04-08 19:03:35 +02:00
Daniele Lacamera 3815067fa0 Fixed SIGN=NONE. Improved tests 2022-04-08 13:04:26 +02:00
Daniele Lacamera da30333cc5 Fixed regression with HASH=SHA3 2022-04-07 10:05:59 +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 7b7282e74d Added comment as suggested by reviewer. 2022-03-17 12:10:57 +01:00
Daniele Lacamera 0684245187 Added canary vars around signature_ok flag, improved checks 2022-03-15 12:36:24 +01:00
Daniele Lacamera 9ac4a6d365 Armored signature verification back-end 2022-03-14 15:12:36 +01:00
Daniele Lacamera 3f2eec8299 Add github actions for renode tests on docker 2022-03-03 16:40:46 +01:00
Daniele Lacamera 2e7b63eae5 Adding support for ED448 verification 2021-12-13 12:05:37 +01:00
Marco Oliverio a187442455 support booting EFI application on x86_64 architecture
Co-authored-by: Daniele Lacamera <daniele@wolfssl.com>
2021-11-30 18:43:50 +01:00
Daniele Lacamera 39ee01a948 Added roll-back feature via inverse patch 2021-08-17 15:44:34 +02:00
David Garske d38de3b432 Update copyright year 2021-07-19 07:50:02 -07:00
Daniele Lacamera f2bab09777 Added support for SIGN=NONE 2021-06-28 13:52:00 +02:00
David Garske 31b785fe7e Progress with cross-compiling wolfBoot. Will also be creating CCS project. 2021-06-23 09:12:17 +02:00
Elms 1a33885cfb handle big endianess with header 2021-05-14 09:38:31 +02:00
David Garske 7793433b3a Updated RSA to use inline operation and disable OAEP padding. This allows removal of the XMALLOC/XFREE SP code. Once PR https://github.com/wolfSSL/wolfssl/pull/3918 is merged we can update submodule. 2021-03-26 16:38:08 +01:00
Dimitar Tomov 7f68f63bcf Added debug code for testing of the new measured boot feature
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2020-12-11 00:37:37 +02:00
Dimitar Tomov 9cf29c1abb Added note about the place of execution of the TPM measurement
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2020-12-10 17:46:53 +02:00
Dimitar Tomov 259008d418 Add user option to select the PCR for measured boot
Define name is intentionally using PCR_X naming scheme to allow
multiple stage measured boot in the future.

Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2020-12-10 00:22:11 +02:00
Dimitar Tomov 5d877bc912 Added measured boot
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2020-12-10 00:15:02 +02:00
Daniele Lacamera fa7099315c Fixed check on FW image size in wolfBoot_open_image 2020-11-26 17:37:43 +01:00
David Garske 709ce000a7 Increase stack/heap for Zynq. Add additional Zynq debugging logs for update_ram.c. Pass return code from `wolfBoot_verify_signature` when calling `wolfBoot_verify_authenticity`. 2020-11-12 10:47:32 +01:00
David Garske 0c5b66c39e Fixes for TPM with RSA.
* Requires PR https://github.com/wolfSSL/wolfTPM/pull/101
* Cleanup of software vs. TPM code `wolfBoot_verify_signature` functions (ECC and RSA)
* Adjusted the stack size checks with TPM.
* Added STM32F4 programming/debugging instructions.
* In V=1 mode show the keygen command.
2020-06-23 11:57:09 -07:00
David Garske e910380889 Add support for using an RSA signature that includes ASN.1 encoded header. On by default, can be disabled using `NO_RSA_SIG_ENCODING`. Added support for signing with encoding using `--rsa2048enc` or `--rsa4096enc`. 2020-06-23 11:39:30 -07:00
Daniele Lacamera 1d24d326b1 Experimental: chacha20 encryption for external partitions 2020-06-16 17:50:55 +02:00
Daniele Lacamera a100c86c67 Cosmetic (whitespaces) 2020-05-26 11:14:15 +02:00
David Garske 2560bdc6d7 Added TPM RSA verify support. Added support for using software SHA-256 hasing with TPM because its much faster. (Note: to use TPM for hashing define `WOLFBOOT_HASH_TPM`). 2020-05-25 08:28:02 -07:00
David Garske 85b7c4d52f Xilinx Zynq fixes and cleanups. Updated Xilinx SDK instructions for EL-1 / Hypervisor support. Updated the `zynq.ld` script to use 0x4000000 and only DDR0 region. Updated the example BIF files to use EL-1. Fix for cast warnings to `ext_flash_*` API's. 2020-03-30 07:52:07 -07:00
David Garske e7446c570f Fixes for Device Tree (DTS) handling. Updated documentation. 2020-03-06 15:33:41 -08:00
David Garske 2867025ae5 Fixes for handling U-Boot image and DTS. Moved the Xilinx SDK project target settings into target.h. 2020-03-05 15:39:22 -08: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 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 a342b7824f Minor cleanups. 2019-12-20 10:22:13 -08:00
Daniele Lacamera 2f05d44c95 Fixed SPI defines, fix TPM SHA alignment in header 2019-12-20 19:08:31 +01:00
David Garske 041ca75793 Added support for TPM2.0 module via wolfTPM. Tested with STM32F4. Build using `make SIGN=ECC256 WOLFTPM=1`. 2019-12-17 10:59:11 -08:00
David Garske 6ed1e5ca5f Fixes for external SPI build options. 2019-12-17 10:38:18 -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 6a5ee45182 minor fix in case of empty external partition 2019-09-19 08:45:11 +02:00