Commit Graph

39 Commits (8b2e4271d3d7e092cd3b8e20da74e5f5cf1fc2bc)

Author SHA1 Message Date
David Garske 6fbb49a94f wolfTPM Release v3.9.0. Updated copyright and version. 2025-05-14 15:31:07 -07:00
Aidan Garske 8b8bd479a4 wolfTPM Zephyr Project Port #395 - Work by @aidangarske, @night1rider, and @dgarske 2025-05-14 13:56:08 -07:00
David Garske 580b3a779e Fix issue with session binding. Add example for NV extend based on the TCG "bus protection guidance". 2024-12-16 11:53:52 -08:00
David Garske 026c82f799 Fixes and new tests for building wolfCrypt/wolfTPM without ECC or RSA. Fixes ZD 18470. Improved smallstack (eliminated `WOLFTPM2_MAX_BUFFER`). Fixes for building with NO_ASN. 2024-08-19 09:55:15 -07:00
David Garske c98ee9a71e Update copyright date. 2024-04-24 10:42:27 -07:00
David Garske 14a331d648 Example for secure boot solution to store root of trust in NV. Provides authentication and tamper protection. Fixed uses of arg= in examples. 2023-08-07 11:08:02 -07:00
John Bland 7a14f45355 update policy sealing code and documentation based on pr comments 2023-04-18 13:05:42 -04:00
David Garske f2a95f3902 Fix for Microchip Harmony build settings. Rename to `WOLFTPM_MICROCHIP_HARMONY`. Avoids confusion with the TPM 2.0 module ATTPM from Microchip. Now enabled with `WOLFTPM_MICROCHIP` and provides backwards compatibility for `WOLFTPM_MCHP`. The new `WOLFTPM_MICROCHIP` has not been released (was added in PR #251). 2023-02-03 10:49:29 -08:00
David Garske 10ad0399c3 Support for TPM benchmarking with Microchip MPLABX (`WOLFTPM_MICROCHIP`) ZD 15350 2023-02-02 10:56:19 -08:00
John Bland ae280a7e71
fix casting and unused variable problems on windows (#255) 2023-01-27 14:34:02 -08:00
David Garske fac51233c3 Added example for NV counter increment. Fixes for NV auth handling. 2022-10-04 13:09:05 -07:00
David Garske 94b59d5255 wolfTPM v2.6.0
* Fix CMakeList.txt to fix include order.
* Remove execute bit on code files.
2022-09-01 10:41:42 -07:00
David Garske 3f84b2efbc wolfTPM v2.5.0 release prep 2022-07-22 09:32:57 -07:00
David Garske c7b28c1445 TPM support for using the public key with TLS. 2022-06-24 16:21:47 -07:00
Elms 084ef170b7 cmake: windows fixes and spell fixes
* Examples working on Windows and SWTPM
 * Check command availability (including for windows blocking it).
 * update unseal to work without persistent NV storage
* cleanup cmake from review
* fix a few spelling mistakes
2022-04-07 10:55:11 -07:00
Dimitar Tomov 3e217cc497 Made keygen and attestation examples work with EH keys
* Added option in keygen example to create and use keys under the EK
    - Added PolicySecret to provide EK auth

* Fix wrong total auth area size when multiple auth sessions are used
* Workaround policy Session for EK auth
* Added flag in WOLFTPM2_HANDLE to specify when policyAuth is used
* Added three macros to check TPM2.0 Policy session type

* Added option to use keys under Endorsement Hierarchy in attestation examples
    - MakeCredential modified to work without auth as TCG spec defines
    - MakeCredential can now use EK pub to encrypt challenge
    - AcivateCredential can now work with EK pub to decrypt challenge

* Added new wolfTPM2 wrapper for TPM2_CreateLoaded
    - Added missing TPM2_CreateLoaded command in tpm2.c
    - Create and load a key in single TPM 2.0 operation

* Added new wolfTPM2 wrappers to use PEM format in keygen
    - wolfTPM2_RsaKey_TpmToPem
    - wolfTPM2_RsaKey_PemToTpm

* Improved keygen, output in PEM format and saving EK's TPM2B_PUBLIC
    - Added keygen option to output PEM files for TPM public keys
    - Added saving of EK's TPM2B_PUBLIC for attestation purposes

* Modified keygen
    - Uses new wolfTPM2_CreateLoaded wrapper to acquire correct AK name
    - Stores AK name for attestation purposes

* Modified keyload to be able to load keys created under the EK/EH
    - Uses new wrapper
    - Can load keys created under EK/EH, non-AK and AK

* Added new wrapper for satisfying EK policy

* Applied fixes from peer review

Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-07-12 15:09:28 -07:00
Dimitar Tomov b7600a9348 Added new example for sealing a secret using TPM key
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-04-16 10:41:01 +03:00
David Garske 2b8cfb8692 wolfTPM Release v2.1.0 preparation.
* Updated copyright
* Fixed minor cast warning.
* Fixed minor scan-build warnings.
* Cleanup print public and fix possible print of uninitialized field.
2021-03-17 10:13:50 -07:00
Dimitar Tomov e1d9c661bd Minor fixes for NVRAM examples
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-03-01 10:52:02 +02:00
Dimitar Tomov df13479ac7 Added new examples for storing TPM keys in NVRAM, with parameter encryption
* Added examples/nvram/store for storing TPM key in NVRAM
* Added examples/nvram/read for extracting keys from the TPM's NVRAM

Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-02-26 11:15:54 +02:00
David Garske 0d6bb389ed
Merge pull request #122 from tomoveu/add-xor-param-enc
Add XOR parameter encryption
2020-09-30 15:15:54 -07:00
Dimitar Tomov 0e2837b60d Add TPM2.0 parameter encryption using XOR obfuscation
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-10-01 00:36:25 +03:00
Elms 4cc41ffa01 examples: Add test vectors for AES CFB and make it the default for tests 2020-09-30 13:22:29 -07:00
Eric Blankenhorn 11beec190b
Merge pull request #108 from dgarske/signed_timestamp
Improvements to the signed timestamp example
2020-07-23 17:40:27 -05:00
David Garske b78e93f9ca Documentation and code cleanups. Enhanced pcr/quote example to use the existing SRK. Added "-?" help usage on PCR examples. Switched to atoi. Fixed .am issue in TLS example cause make dist to break. Added include of new files for make dist. 2020-07-23 09:46:06 -07:00
David Garske 8eb67b5bcf Improvements to the signed timestamp example. Cleanup of the key template API's. 2020-07-21 15:24:10 -07:00
David Garske 025f9ff049 Example for using an ECC primary storage key (root owner). 2020-02-21 09:39:16 -08:00
Chris Conlon 91ef0b0e6e update copyright to 2020 2020-01-03 15:31:27 -08:00
David Garske 7887130287 wolfTPM v1.7 Release 2019-12-27 14:43:30 -08:00
Eric Blankenhorn 0e4788bebd
Merge pull request #79 from dgarske/nvauth
Added support for using authentication with NV
2019-08-15 15:34:06 -05:00
David Garske 4f1fb41d7e Added support for using authentication with NV. Adds new wrapper API's: `wolfTPM2_NVWriteAuth`, `wolfTPM2_NVReadAuth` and `wolfTPM2_NVDeleteAuth`. 2019-08-15 13:19:40 -07:00
David Garske 78be5098cc Added wrapper for changing a key's authentication `wolfTPM2_ChangeAuthKey`. 2019-08-08 21:06:58 -07:00
David Garske 3e9d70c159 Fix to better handle chip detection. Added stdio printf include for TPM benchmark. Added C++ support. 2019-05-07 10:39:17 -07:00
David Garske d21ba091b4 Cleanup to combine benchmark time code and allow override using `WOLFSSL_USER_CURRTIME`. Benchmark modes can be disabled using `NO_TPM_BENCH`. Fix a few minor warnings. 2019-02-12 10:29:22 -08:00
David Garske 7706f9a652 Fix for AES IV output to support blocks over 1024 bytes. Added more AES tests. 2019-02-07 10:12:47 -08:00
David Garske bf67b3fd68 TLS client / server example improvements and cleanups. Adds support for using wolfSSL client/server examples with mutual auth certificate validation. Added new dummy key as to not conflict with wolfSSL test keys. 2019-02-01 13:26:55 -08:00
David Garske 6090e4bff6 Implemented workarounds for known ATTPM20 issues. Changes the default algo for PCR read to SHA1. Clear the sign obj attrib on symmetric key creation template (both sign and decrypt cannot be set at same time). 2019-02-01 10:28:11 -08:00
David Garske d28e63c72f Added TPM2 wrappers for symmetric AES encrypt and decrypt. Moved common test parameters into examples/tpm_test.h. 2018-12-28 12:15:58 -08:00
David Garske 6f0282430e Fix for issue with public key object attributes. Fix for `TPM2_TIS_SendCommand` rspSz error detection case. Added some additional RSA and ECC key loading examples. General wrapper test cleanup to move some test data into `tpm_test.h`. 2018-11-12 15:55:51 -08:00