Commit Graph

104 Commits (cmakeImage)

Author SHA1 Message Date
Daniele Lacamera fce6149cf8 Update license GPL2 -> GPL3 2024-04-16 16:46:15 +02:00
Daniele Lacamera c64cb4ee06 Updated submodules: wolfSSL-v5.7.0 + wolfTPM latest 2024-04-10 11:25:06 +02:00
David Garske 4408eeaa74 Fixes for sealing/unsealing:
* Fix for sealing policy, which was not being set on creation.
* Fix to clear the userWithAuth bit requiring policy
* Updated wolfTPM submodule with changes in https://github.com/wolfSSL/wolfTPM/pull/327
2024-02-03 10:09:03 -08:00
Daniele Lacamera 206116a5ec Updated submodules 2023-12-27 12:01:30 +01:00
Daniele Lacamera 091c036b6c Improve documentation for x86 targets
+ fix qemu's make_hd.sh script
2023-11-06 17:15:38 +01:00
Daniele Lacamera 76270eec6b Update submodules to tag versions
- wolfSSL v5.6.4
- wolfTPM v3.0.0
2023-11-06 14:32:12 +01:00
David Garske a22f8bce20 Adding GitHub CI for Windows MinGW key tools. 2023-10-25 13:17:24 +02:00
John Bland bfe85d6a2f restore correct wolfTPM and wolfssl versions 2023-10-13 14:30:04 +02:00
John Bland 6c2a37bdea remove complicated key saving process and instead
leave the encryption key for wolfBoot_success to erase.
FINAL_SWAP was also stopping the case where the partition was put into testing before the update sector status flags could be erased. now, don't erase the update sector flags. instead put the update partition in IMG_STATE_FINAL_FLAGS state before putting the boot partition in IMG_STATE_TESTING. Then only erase the update sector flags on wolfBoot_update_trigger. under this scheme, the sector flags are intact if the power failed before we could set IMG_STATE_TESTING but are wiped if we do need to swap over after after wolfBoot_success fails to be called
2023-10-13 14:30:04 +02:00
Marco Oliverio 133479f212 fsp: defer SATA init in wolfBoot_start
In hal_init() TPM is not ready yet. SATA inti code needs TPM to unlock disk when
using TPM sealed secret based disk locking.
2023-09-28 13:12:26 +02:00
Daniele Lacamera e4abcbd78b Expanded RAM space for App 64->128 KB 2023-09-21 08:29:16 +02:00
Daniele Lacamera fd862cbd8f Working PKCS11 test.
Temporarily removed some features so the image fits in 64Kb
2023-09-21 08:28:09 +02:00
Daniele Lacamera 5b57d2d08f PKCS11 store functions using wolfBoot hal 2023-09-21 07:57:18 +02:00
Daniele Lacamera f7d6c17685 TZ: PKCS11 wrappers via wolfPKCS11 in S world 2023-09-21 07:57:18 +02:00
David Garske bc90f85f1b Fix to use the new unset auth session API, that captures the last TPM nonce, so the session auth can be properly set again. Requires wolfTPM PR https://github.com/wolfSSL/wolfTPM/pull/299 2023-09-18 15:09:53 +02:00
David Garske c04960c097 Fix simulator to not just while(1) on panic, which causes CI to spin/timeout (instead exit with error). Fix ROT logic and make sure read error code gets passed up stack. 2023-09-12 12:26:48 +02: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
David Garske 95b0d9090d Fixes for building TPM keystore with arch x86_64. 2023-08-24 16:38:20 +02:00
Tesfa Mael 6e1c24947b update wolfTPM 2023-08-22 07:18:15 +02:00
Tesfa Mael a29b78d680 Add function headers 2023-08-22 07:18:15 +02:00
David Garske 9ca58248e4 Adding GitHub Action for testing TPM features. 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
Daniele Lacamera 3bd3fa14a9 Updated submodules to latest version 2023-08-03 08:07:38 +02:00
Marco Oliverio c4ec5eef35 x86: support Intel FSP (TigerLake and QEMU) 2023-07-24 18:12:32 +00:00
Daniele Lacamera 8bab854ec9 Added changelog 2023-07-06 14:16:58 +02:00
Daniele Lacamera b131ae553e Updated submodules 2023-07-05 18:34:42 +02:00
John Bland c6629ed86a add missing steps for policy pubkey sealing
update wolfTPM version to include new sealing functions, add preseal helper commands
2023-05-18 12:33:49 +02:00
Daniele Lacamera 769cbb8b1e Updated submodule to wolfSSL latest tag 2023-04-13 17:14:44 +02:00
Daniele Lacamera 3ecf85efec Updated submodules to latest version 2023-04-13 17:13:14 +02:00
Daniele Lacamera 4e34b7cbe2 Updated submodules to latest versions 2022-12-30 10:57:05 +01:00
Lealem Amedie 18bfcecd6b wolfBoot cmake support 2022-12-07 13:00:10 -08:00
Daniele Lacamera 3522780c7d Updated lib/wolfssl to v5.5.3-stable 2022-11-03 14:13:01 +01:00
Daniele Lacamera c41f84d356 lib/wolfssl updated to v5.5.2-stable 2022-11-03 08:37:30 +01:00
Daniele Lacamera 24faa4f091 Update to wolfSSL master 2022-10-25 17:56:18 +02:00
Daniele Lacamera 5114e308ae Updated wolfSSL and wolfTPM submodules 2022-10-14 12:48:47 +02:00
Daniele Lacamera f6eeb8dd5d Preparing release v1.12 2022-07-26 09:57:32 +02:00
Daniele Lacamera 711cdae42e Updated submodules wolfSSL + wolfTPM. Updated footprint size. 2022-07-07 16:09:05 +02:00
Daniele Lacamera 5002e833c0 wolfSSL submodule to latest master 2022-05-04 17:00:38 +02:00
Daniele Lacamera ce88971479 Updated submodules to wolfSSL 5.3.0 2022-05-04 09:23:07 +02:00
Daniele Lacamera efc7c2ebc4 Up wolfSSL to latest master to include psoc6 sha512 fix 2022-01-10 21:31:54 +01:00
Daniele Lacamera 326c02711d Submodules update 2022-01-10 17:35:27 +01:00
Elms 74a90954f4 Update wolfTPM and wolfSSL submodules 2021-11-10 00:58:28 -08:00
Daniele Lacamera 6aa5ee96ca Updated submodules, added -Werror 2021-07-15 17:38:12 +02:00
Daniele Lacamera 0ceecc0c82 Fix for Jenkins test-enc-update 2021-06-30 16:38:43 +02:00
Elms 4b1aa608dd Fix error in arm refactor that impacts self-update 2021-06-29 14:04:10 -07:00
Daniele Lacamera f2bab09777 Added support for SIGN=NONE 2021-06-28 13:52:00 +02:00
Daniele Lacamera 75a7e57279 Updated to latest wolfSSL master 2021-03-26 16:38:08 +01: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
David Garske c14e70a12c Changed RSA4096 to use SP math. Fix to disable dynamic stacks `WOLFSSL_SP_NO_DYN_STACK`. Added G0 details. Update submodules. 2021-03-26 16:38:08 +01:00
David Garske 7f2061a9cb Add support for using the Xilinx BSP QSPI driver. Update to latest wolfSSL (fixes chacha build error in Visual Studio). 2021-02-03 10:17:58 +01:00