Commit Graph

91 Commits (encrypted-update-fix)

Author SHA1 Message Date
Daniele Lacamera b2beb49370 Fixed bug in encrypted update, removed swap_counter. 2020-07-15 17:36:38 +02:00
Daniele Lacamera 5915d40904 Fix logic in emergency update 2020-07-06 14:04:15 +02:00
Daniele Lacamera 533fa9b4a2 Added RAMFUNCTION tag to SPI flash functions 2020-07-06 10:13:52 +02: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 64134ded1f Minor fixes from code review 2020-06-18 18:43:50 +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 c9f8f6a12e Added uart driver for stm32wb 2020-06-16 17:52:50 +02:00
Daniele Lacamera 845eef7db0 Encryption: address alignment fixes, stm32wb fixes 2020-06-16 17:52:50 +02:00
Daniele Lacamera 53bf4d04db Encrypt: API design 2020-06-16 17:50:55 +02:00
Daniele Lacamera 1d24d326b1 Experimental: chacha20 encryption for external partitions 2020-06-16 17:50:55 +02:00
Daniele Lacamera 9abc473092 Fixed loop logic in bootloader update 2020-06-16 15:55:44 +02:00
Daniele Lacamera aa3fb3fab0 Changed set|get_sector_flag argument to uint16_t
On some platforms with very small sector size this index could overflow
2020-05-29 08:19:18 +02:00
Daniele Lacamera d5783fe5bc Fixed alignment in magic trailer write with NVM_WRITEONCE 2020-05-29 08:19:10 +02:00
Daniele Lacamera ded67d494e MPU: fix RO flag in flash preventing the update 2020-05-26 16:18:06 +02:00
David Garske 93d62112e9
Merge pull request #52 from danielinux/mpu
Added support for memory protection on ARM using MPU
2020-05-26 06:42:01 -07:00
Daniele Lacamera dd17aa74f4 Fixed indentation 2020-05-26 15:35:41 +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
Daniele Lacamera 7ade0ee2c0 Added support for memory protection on ARM using MPU 2020-05-25 15:14:41 +02:00
Daniele Lacamera f3d0d8fc83 PSoC6 support: updated configuration, docs added to Targets.md, revert
custom NVM_CACHE_SIZE
2020-05-20 06:53:00 -07:00
Daniele Lacamera 5d932fe857 Removed custom assembly code for psoc6: using boot_arm startup (in C) 2020-05-20 06:53:00 -07:00
Daniele Lacamera 6dcbc3572d Psoc6: fixes for correct device bring-up 2020-05-20 06:53:00 -07:00
Daniele Lacamera 3db37a6b5c Updated NVM_CACHE_SIZE to match different configurations.
Progress on psoc6 HAL, fixed memory mapping and test app
2020-05-20 06:53:00 -07:00
Daniele Lacamera ba1309fb5d Fixed allocation size in RSA4096 2020-04-28 17:14:45 +02:00
David Garske c6f6ce83c2
Merge pull request #40 from wolfSSL/iar
Example workspace/project to build under IAR
2020-04-07 10:53:35 -07:00
Daniele Lacamera e968e6c4d3 Fixed compile error in previous commit 2020-04-06 17:41:51 +02:00
Daniele Lacamera 92e1f632c1 Removed magic numbers for bitrate 2020-04-03 20:24:13 +02:00
Daniele Lacamera 7ffcdca098 External, emulated non-volatile memory over UART 2020-04-03 14:27:42 +02: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
Daniele Lacamera 486e633069 Example workspace/project to build under IAR 2020-03-27 14:34:20 +01:00
Daniele Lacamera b82088f977 moved self-update code to update_flash module 2020-03-19 14:46:38 +01:00
Daniele Lacamera 9eb5f47168 Restored self-update code 2020-03-19 14:42:32 +01:00
David Garske 6b6d5611a7 Added support for initializting the GICv2 interrupt controller. This is required for QNX kernel boot. 2020-03-10 11:30:22 -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 10186cac09 Added support for LPC (tested on LPC54606) 2020-03-04 08:53:13 +01:00
Daniele Lacamera c32c5da6a1 Renamed KINETIS to MCUXPRESSO, added initial support for LPC family 2020-03-04 08:01:05 +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 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 88a82ae21f Fix for RSA with SP. 2019-12-17 15:44:08 -08: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 0b822cefbb Fixes to kinetis K82F 2019-11-11 14:27:16 -08:00