Commit Graph

115 Commits (80ec5658028a9f764e9ac8577e652dc09e1b02a2)

Author SHA1 Message Date
David Garske 80ec565802 Fixes for test failures 2025-10-23 18:35:09 +02:00
Daniele Lacamera 38631d2481 Fixed regression in delta fallback 2025-10-17 13:16:31 +02:00
Daniele Lacamera 8cab4bc612 Footprint adjustment (ML_DSA +4B) 2025-10-17 12:04:53 +02:00
Daniele Lacamera fbc5286951 Updated footprint sizes 2025-07-29 17:29:09 +02:00
David Garske 754d313f3f Fixes for wolfssl submodule update. Also requires https://github.com/wolfSSL/wolfssl/pull/8913 2025-06-24 19:02:49 +02:00
Brett Nicholas be9b21dddc Fix test sizes for wolfSSL updates 2025-05-28 11:38:28 -06:00
Brett Nicholas 7660bf66f8 Add wolfHSM cert chain verification for ECC and RSA 2025-05-27 15:42:59 -06:00
Daniele Lacamera d05d769e80 Fixes: footprint size increased 2025-04-30 11:49:15 +02:00
David Garske 4c2d2b7e6e Add support for Armored mode with IAR. Currently only supports ECDSA and Cortex-M. ZD19190 2025-02-05 16:06:18 +01:00
jordan e2db8d58c4 Remove external ext_lms, ext_xmss pq integrations. 2025-01-20 16:38:24 +01:00
John Bland b52c9387aa update footprint 2024-12-17 14:46:24 +01:00
Daniele Lacamera 51eff3e71d Adjusted size for ML_DSA build 2024-12-03 15:03:45 +01:00
Daniele Lacamera 7132a13545 Complete generic sign 2024-12-03 11:10:16 +01:00
Daniele Lacamera 75efbd9cfb Removed all compile-time dependency from keytools 2024-11-26 13:17:00 +01:00
Daniele Lacamera 97fb3b68af Test: add IMAGE_HEADER_SIZE to sign command 2024-11-26 11:17:35 +01:00
Daniele Lacamera 3a69b0e41a Don't fail if the image contains no base sha
+ Added --no-base-sha option to sign
2024-11-22 11:58:17 +01:00
Daniele Lacamera cc447ea879 Support for hybrid authentication (2 ciphers) 2024-10-30 13:17:06 +01:00
Daniele Lacamera 72a0aa3853 Added Benchmark script. Added ARMASM support. 2024-10-24 21:20:09 +02:00
Daniele Lacamera 668f117c30 LMS: adjusted footprint size 2024-10-21 15:15:15 +02:00
jordan b97abd4ace Add ML-DSA support. 2024-10-14 10:13:52 +02:00
Daniele Lacamera c115ed3f15 Updated footprint limits 2024-10-11 10:30:46 +02:00
Daniele Lacamera c748f4c809 Updated footprint test limits
- Optimized test (don't rebuild keytools / regenerate keys if testing
  the same algo)
- Updated two overshot limits
- Reduced limits due to compiler change
- Added footprint test for LMS and XMSS
2024-07-22 16:29:12 +02:00
Daniele Lacamera d390873096 Fix padding in test 2024-07-18 10:15:50 +02:00
John Bland 6c3940fafc refactor final step of powerfail safe update and add
emergency fallback test
2024-07-10 16:58:23 -04:00
Daniele Lacamera 597ca3a406 Added test to reproduce "wrong delta base version" bug 2024-07-04 17:14:36 +02:00
jordan a17819fef7 Update wolfSSL submodule to include wolfcrypt LMS and XMSS. 2024-05-07 19:25:18 +02:00
jordan bd0e25af16 Add wc_lms support. 2024-05-07 19:25:18 +02:00
jordan 13d746ab9a Add wc_xmss support. 2024-05-07 19:25:18 +02:00
Daniele Lacamera c332cb93d8 Updated footprint size limits
+ footprint.yml:  Removed dependency to abandoned/obsolete github action module
2024-04-10 14:42:50 +02:00
Daniele Lacamera 1baf4d7620 Updated binary sizes limit for wolfSSL 5.6.6 2023-12-27 14:21:40 +01:00
David Garske dd11fad566
Merge pull request #385 from danielinux/test-delta
Improve delta tests + fix delta+encrypt bug
2023-11-06 07:52:04 -08:00
jordan 79aadb5cc1 XMSS wolfBoot support. 2023-11-06 14:31:05 +01:00
Daniele Lacamera ba04692d1a Added test: enc-delta-update with extradata 2023-11-04 18:53:08 +01:00
David Garske 445cd7bae2 Adjust size test limits (actual + 32) rounded to 32-bit. 2023-10-25 13:17:24 +02:00
John Bland 2298da23b5 footprint update 2023-10-13 14:30:04 +02:00
Daniele Lacamera 20dbba9ae2 footprint size adjustments for NO_SIGN 2023-09-21 09:10:00 +02:00
Daniele Lacamera 291adfe87d Fixed merge of user_settings with new TPM logic 2023-09-21 08:31:28 +02:00
David Garske cd1c50297d Add new `CORTEX_M3` option (default ARCH=ARM is Cortex-M4). The M3 does not support UMAAL. 2023-09-21 07:55:31 +02:00
Daniele Lacamera 5db2714eae Moved keystore section to the end of the flash 2023-09-19 10:12:59 +00:00
David Garske 490286be7d Support for sealing/unseal a secret based on an externally signed PCR policy.
* Added new `WOLFBOOT_TPM_SEAL` and `WOLFBOOT_TPM_SEAL_NV_BASE` config options.
* Added new `tools/tpm/policy_create` tool for assisting with creation of a policy digest. The sign keytool `--policy=file` signs the policy.
* Added new `WOLFBOOT_TPM_VERIFY` option to enable offloading of the asymmetric verification to the TPM. By default wolfCrypt will be used.
* Added example seal/unseal to update_flash for ARCH_SIM.
* Renamed `WOLFBOOT_TPM_KEYSTORE_NV_INDEX` to `WOLFBOOT_TPM_KEYSTORE_NV_BASE` to support multiple public keys.
* Refactored most TPM code into tpm.c.
* Refactored the keystore ROT to use new `wolfBoot_check_rot` API.
* Refactored the sign keytool to have a sign_digest function to allow signing firmware and policy for sealing/unsealing.
* Fix for make distclean && make using the wrong key tools.
2023-09-12 12:26:48 +02:00
jordan e23d450e45 LMS wolfBoot support. 2023-09-06 07:57:10 +02:00
David Garske 701674be4f
Merge pull request #343 from jpbland1/add-nvm-configs
add combinations of NVM_FLASH_WRITEONCE config tests
2023-08-17 07:02:51 -07:00
David Garske d05672ea64 TPM based root of trust using NV index. 2023-08-17 13:43:58 +02:00
David Garske 69adb25496 wolfBoot TPM improvements:
* Added TPM SPI wait state support and debug logging.
* Added platform auth ownership (change platform password to random value before boot). Can be disabled using `WOLFBOOT_TPM_NO_CHG_PLAT_AUTH`.
* Added parameter encryption support.
* Added TPM based root of trust based on https://github.com/wolfSSL/wolfTPM/pull/276
* Removed the TPM hashing feature (not practical).
* Fixed RSA with wolfTPM build.
* Fixed cleanup wolfTPM objects on make clean.
2023-08-17 13:43:58 +02:00
John Bland d736c91837 add missing non-encrypt external make option 2023-08-15 17:38:28 -04:00
John Bland fd03888e95 footprint update 2023-08-15 15:05:37 -04:00
David Garske 7190392245 Simulator fixes and support for using MacOS:
* Added simulator support for Mac.
* Fix for simulator to properly assemble wolfboot.bin + signedtestapp + update + swap.
* Fixes for handling 64-bit assigned mmap virtual addresses. Added hal_flash_write and hal_flash_erase support for 64-bit address using uintptr_t. Enabled if platform is 64-bit and `FORCE_32BIT` is not defined
* Fix simulator conflict with src/libwolfboot.o object in test-app.
* Cleanup test-app linker flags.
2023-08-07 20:54:18 +02:00
David Garske 25bca043ed Increase size limits by 38 bytes (due to v5.6.3 update). 2023-07-05 18:34:42 +02:00
John Bland 6a21c02e6c add a simulator test for using encryption and delta updates
increase argument count max since the tools duplicate the sig and hash args
2023-05-17 19:39:00 +02:00
Daniele Lacamera 048af83858 New partition sizes in tests 2023-05-15 13:38:57 +02:00