Commit Graph

204 Commits (e07df6d4bde4e321df15c834afba186c87920fd5)

Author SHA1 Message Date
David Garske 0b10eb0765 Fix issue with wolfssl submodule update and random.c change keytool failure because of NO_FILESYTEM. 2025-06-24 19:02:49 +02:00
David Garske 9451b47628 Fix for Renesas TSIP key types. Fix for Renesas RX .keystore location in linker script. Fix for wolfBoot as library with Renesas to make sure crypto hardware is initialized and setup. Add forced alignment on additional buffers used for flash read/write. 2025-06-16 19:05:49 +02:00
Brett Nicholas 23cf367c38 review feedback: remove use of unused intermediate variable 2025-05-28 12:24:26 -06:00
Brett Nicholas 7660bf66f8 Add wolfHSM cert chain verification for ECC and RSA 2025-05-27 15:42:59 -06:00
David Garske 8fff9cf3d7 Temp fix: `sign.c:67:5: error: implicit declaration of function '_chsize_s' [-Werror=implicit-function-declaration]` 2025-04-29 11:50:29 +02:00
David Garske b86d7fc308 Renesas RX minor fixes and documentation updates. Fix for malformed GNUC macro causing clock to not be setup properly when building with RX-GCC compiler. Fix warnings with using `%zu` on older GCC. 2025-04-29 11:50:29 +02:00
Daniele Lacamera a195efe608 Avoid enforcing alignment on stack for IAR 2025-02-27 16:46:26 +01:00
Daniele Lacamera afcdefa733 Sign: use manifest header to retrieve base version 2024-12-30 16:36:00 +01:00
Brett Nicholas 638787e296 cast malloc result 2024-12-16 19:12:23 +01:00
Brett Nicholas 0d18b25a2e fix keytools public key der export to use ml-dsa level passed as env var 2024-12-16 19:12:23 +01:00
Brett Nicholas ceffc788dd - support for wolfHSM ML-DSA on simulator and AURIX (DMA only)
- consolidate AURIX scripts into wbaurixtool.sh
- documentation updates
2024-12-16 19:12:23 +01:00
David Garske fae36f2adf Reserve enough size for the ML-DSA public key in gen. 2024-12-05 14:44:30 -08:00
David Garske 6bed80fbc2 ML-DSA default is level 2. The keytools must be able to support all ML-DSA levels at run-time using `ML_DSA_LEVEL` environment variable. wolfBoot needs to be built with the correct level specified in the .config. 2024-12-05 14:25:43 -08:00
David Garske 4991eabb18 Peer review fixes. Default to ML-DSA level 2. 2024-12-05 13:39:47 -08:00
David Garske 8cdefaae20 Fix to remove ext_XMS artifact from keytools Makefile. Caused mingw readdir error. 2024-12-05 10:45:52 -08:00
David Garske eddf0bd234 Progress getting the Windows tools to build. 2024-12-05 08:36:02 -08:00
Daniele Lacamera 5ab661677f keygen: removed compile-time parameters (lms, xmss) 2024-12-03 14:58:49 +01:00
Daniele Lacamera d5e402ebde Removing compile-time parameters from keygen 2024-12-03 14:50:54 +01:00
Daniele Lacamera 7132a13545 Complete generic sign 2024-12-03 11:10:16 +01:00
Daniele Lacamera 04d2ecd246 Remove dependency from PQC parameters. Speed up tests. 2024-12-02 18:55:32 +01:00
Daniele Lacamera 05d0e92ecf Removed forced inflation of header size in `sign` 2024-12-02 14:07:43 +01:00
Daniele Lacamera d3935774d9 Fix header size in hybrid mode 2024-12-02 12:03:32 +01:00
Daniele Lacamera 75efbd9cfb Removed all compile-time dependency from keytools 2024-11-26 13:17:00 +01:00
Daniele Lacamera 93866f7376 Use minimum 512B of header with delta updates 2024-11-26 11:04:09 +01:00
Daniele Lacamera 6c8aafe09d Remove keytools dependency on IMAGE_HEADER_SIZE.
- Added getenv() to override the value at runtime
- Removed doc on old python tools
2024-11-26 10:57:06 +01:00
David Garske bf4c8017dd Test: adding action to build keytools on windows.
* Update key tools VS project to 2022.
* Fix a few warnings in sign.c
* Fix issues with windows already having min/max.
* Fix (workaround) issue with key tools needing WOLFBOOT_SECTOR_SIZE.
2024-11-25 14:38:29 -08: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 7347f334b3 Delta update: check sha digest of base image
Only allow delta update if the sha digest of the base image matches the
expected value. This is to prevent the delta update from being applied
to an image that is not the expected base image, even if the version
matches.

The mismatch should never happen in real-life scenarios, but it is to check
for false positives during integration, testing and development.
2024-11-21 14:28:40 +01:00
Brett Nicholas f9cbc57795 review feedback 2024-11-13 09:52:49 +01:00
Brett Nicholas 78e4275f99 Initial wolfHSM support for simulator and AURIX TC3xx 2024-11-13 09:52:49 +01:00
David Garske aec2809212 Cleanups after hybrid signing PR. 2024-10-31 11:23:52 +01:00
Daniele Lacamera 4743ec06c1 Reviewer comments: fixed typos, less verbose sign
Removed some debug leftovers
2024-10-30 13:17:09 +01:00
Daniele Lacamera cc447ea879 Support for hybrid authentication (2 ciphers) 2024-10-30 13:17:06 +01:00
jordan b97abd4ace Add ML-DSA support. 2024-10-14 10:13:52 +02:00
David Garske 48c7c356d5
Merge pull request #490 from danielinux/universal_keystore_padding
Keygen to allow multiple keystore types
2024-08-20 17:13:57 -07:00
Daniele Lacamera 837b8bf315 Keygen to allow multiple keystore types
when WOLFBOOT_UNIVERSAL_KEYSTORE=1, the keystore.der file should align
all the keys to the maximum slot size (576).
2024-08-20 14:58:50 +02:00
David Garske 9e17315d49 Fixes for building wolfBoot with XMSS/LMS. 2024-08-14 18:06:12 +02:00
David Garske 8a7f5e5baa Refactor to eliminate PLATFORM_ -> TARGET_. Fix CI errors. 2024-08-14 18:06:12 +02:00
David Garske 3444c47fdb * Added support for RX65N and RX72N with native Makefile and RX ELF GCC compiler.
* Added initialization of the clocks and UART driver.
   - wolfBoot uses on chip high speed oscillator (HOCO) at (120MHz RX65N and 240Mhz for RX72N).
* Added RX RSPI and QSPI driver support with external SPI flash
* Improve documentation and fix spelling errors.
* Added .srec (s-record) format support
* Added RX TSIP support for ECDSA (requires https://github.com/wolfSSL/wolfssl/pull/7685).
* Allow custom implementation of `get_trailer_at`, `set_trailer_at` and `set_partition_magic` using `CUSTOM_PARTITION_TRAILER`
2024-07-17 06:08:31 +02:00
David Garske 1854383462 Do not enable OTP write protect unless `ENABLE_OTP_WP=1` is passed during make. 2024-07-09 16:18:08 -07:00
David Garske fbc6f02dea More documentation updates. Cleanups in the otp-keystore-gen. 2024-07-09 13:26:12 -07:00
David Garske 750c8f6ace Define a generic max OTP size to appease otp_keystore.h 2024-07-09 10:49:28 -07:00
David Garske ace95cc2dc Added instructions for STM32H5 demo to `docs/flash-OTP.md`. 2024-07-09 10:27:52 -07:00
Daniele Lacamera 4f5e168350 Moved keystore.c overwrite check 2024-07-09 18:03:51 +02:00
Daniele Lacamera 46f0d87946 test: revert keystore.c overwrite check 2024-07-09 17:42:58 +02:00
Daniele Lacamera 8f41132ca3 Added more verbosity to key import failure error 2024-07-09 16:31:18 +02:00
Daniele Lacamera 2082bd003c Avoid to silently overwrite keystore.c 2024-07-09 09:28:40 +02:00
Daniele Lacamera 213315507c Add command line tool to generate otp.bin 2024-07-09 08:42:33 +02:00
David Garske 918fdc57fd Added keygen `--der` option to allow ECC private key as ASN.1/DER. Added sign tool ECC key load support for ASN.1/DER private key (default is raw pub x/y, priv d). Refactored sign tool RSA/ECC logic to consolidate code and allow proper "auto" detection for different RSA key sizes. 2024-06-26 20:11:04 +02:00
David Garske 971cbe0ecc
Merge pull request #449 from danielinux/stm32h7_otp
Support for OTP Flash as trust anchor for keystore
2024-05-24 16:34:29 -07:00