Commit Graph

344 Commits (master)

Author SHA1 Message Date
David Garske 592210f321 Expose `TPM2_ASN_TrimZeros`. 2025-06-02 08:11:08 -07:00
David Garske 3e3038854c Improve input digest size logic for TPM2_Sign and TPM2_Verify. Added test case with interop. 2025-06-02 08:11:08 -07:00
David Garske 7411bc115f Refactor the TPM2_GetNonce to support a non-locking version for internal use. This avoids all possible recursive mutex calls. 2025-05-27 14:42:43 -07:00
David Garske 86fbaf69a9 wolfTPM v3.9.1 release (post release fixes)
- Fixed commercial release bundle (missing `tpm2_asn.h`).
  - Fixed wolfTPM DLL revision (was not updated in v3.9.0).
  - Added `make distcheck` to GitHub CI.
2025-05-21 10:34:52 -07:00
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
Zackery 33a5f47eaf
Merge pull request #398 from aidangarske/uboot_support
wolfTPM Support For Das U-Boot Bootloader
2025-05-06 18:17:56 -06:00
David Garske 9c2ada8a7a Fixes for spelling and debug. 2025-05-06 16:41:34 -07:00
David Garske e7aad1ac22 Support for pthread static mutex when building against older wolfSSL versions (like 5.6.6). 2025-05-02 12:48:24 -07:00
Aidan Garske d463f70975 Removed options.h not used, added TPM2_GetHierarchyDesc, and fixed indentation error 2025-04-30 11:22:13 -07:00
David Garske d27306b1c9 Improve mutex locking protection for concurrent thread usage. Use a global mutex instead of one that is part of TPM2_CTX. ZD 19771 2025-04-28 23:09:15 -07:00
Aidan Garske f31929609f Rebase wolfTPM Support For Das U-Boot Bootloader 2025-04-25 13:28:09 -07:00
Tesfa Mael 7400f0f369 Review comment 2025-03-05 11:52:53 -08:00
Tesfa Mael ceb2c224d6 Update CMakeLists and move WOLFTPM2_NO_ASN down 2025-03-04 18:55:41 -08:00
Tesfa Mael bb5eeb8976 Add WOLFTPM2_NO_ASN and move doc to a header file 2025-03-04 14:09:46 -08:00
Tesfa Mael 63385223ca Refactor ASN.1 parsing for RSA cert 2025-03-03 11:31:43 -08:00
David Garske 2df0af5130 Added missing doxygen to public API's. 2025-02-21 17:12:31 -08:00
David Garske 5bd553a6a3 wolfTPM v3.8.0 release. 2025-01-06 11:46:49 -08:00
Eric Blankenhorn 80da56728c
Merge pull request #389 from dgarske/nv_extend
Fix issue with session binding / add NV extend example
2024-12-17 17:00:58 -06: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 7c48b76548 Support for building wolfTPM against older wolfCrypt (like v4.7.0). 2024-12-13 09:45:52 -08:00
David Garske d986ec73ba wolfTPM Release v3.6.0 prep. 2024-11-05 11:18:43 -08:00
JacobBarthelmeh 7a6deaa86d
Merge pull request #383 from dgarske/get_caps
Add support for TPM2_GetCapability for TPM_CAP_PCRS.
2024-10-31 15:38:40 -06:00
David Garske ebf7a6c7fb Add parsing of remaining capabilities. 2024-10-30 13:57:44 -07:00
David Garske fa1cd521a3 Helper to get wolfCrypt hash type. `TPMI_ALG_HASH TPM2_GetTpmHashType(int hashType)`. 2024-10-24 11:20:19 -07:00
Andras Fekete 3977395738 Minor documentation fixes 2024-08-28 09:13:56 -04:00
David Garske a6d7ed8695 Added example for `TPM2_Certify`:
* Added new build option for TPM provisioning (`--enable-provisioning` on by default).
* Added new `wolfTPM2_CreatePrimaryKey_ex` and `WOLFTPM2_PKEY` that supports returning creation ticket/hash.
* Added key templates for initial device (IDevID) and attestation keys (IAK).
* Extended `create_primary` example to support creation or IDevID and IAK.
* Added new policy hash helper API `wolfTPM2_PolicyHash`
* Switch handle/nvIndex string parsing to use `strtoul`.

ZD 18347
2024-08-22 10:38:01 -07:00
David Garske a012348fe9 Fixes for `TPM2_SetupPCRSel`. Added test cases. Fixes ZD 18492 2024-08-21 11:29:08 -07: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 6951b8d307 Fix for /dev/tpm0 file descriptor check (fixes #365). Added documentation for /dev/tpm0 permissions (fixes #358). Various spelling and documentation cleanups. 2024-07-31 11:21:53 -07:00
David Garske 62eff27459 Updated CMake to include new examples. Fixed doxygen issue with `wolfTPM2_GetKeyTemplate_EK` -> `curveID`. Fixed issue with possible create key timeout by always adding `XTPM_WAIT` for Linux. 2024-07-30 13:21:45 -07:00
David Garske 95ae2f7459 wolfTPM v3.4.0 release.
* Fixes for building without wolfCrypt or heap.
* Fix for building wolfTPM DLL (was missing tbs.lib).
* Fix for `wolfTPM2_New` to provide default TPM2 HAL IO callback.
2024-07-30 09:09:24 -07:00
Eric Blankenhorn b36f792416
Merge pull request #361 from dgarske/idevid
Fixes for latest ST33KTPM IAK/IDevID provisioning
2024-07-26 18:00:46 -05:00
David Garske dc2b91d056 Fixes for latest ST33KTPM IAK/IDevID provisioning. Added documentation for build options. 2024-07-26 14:49:31 -07:00
David Garske 57f12df97b Support for getting TPM EK Certificates. Added `wolfTPM2_GetKeyTemplate_EK` and `wolfTPM2_GetKeyTemplate_EK` API's for getting EK public templates for generating the EK primary key. Fix TLS example build issues with wolfSSL not having crypto callback or PK callback enabled. 2024-07-26 13:02:57 -07:00
David Garske b33e6b3187 Fix issue with Doxygen generation of wolfTPM due to doxybook2 crashing on unnamed enum. 2024-06-05 14:34:05 -07:00
Eric Blankenhorn 61abbc1073
Merge pull request #350 from dgarske/policyauth
Improvements in auth handling to support Policy Password and Policy Auth Value
2024-05-24 09:37:37 -05:00
David Garske 9a9ac2aec6 Fix docs. 2024-05-20 17:03:29 -07:00
David Garske ab45d27217 Cleanup new API's. Add documentation. 2024-05-20 15:35:33 -07:00
David Garske f65bea0946 Support for NV policy write/read. 2024-05-20 15:08:00 -07:00
David Garske fe05d93feb Support for policy auth value and policy password. 2024-05-20 11:16:56 -07:00
gojimmypi 5aff694c3f XSLEEP_MS is vTaskDelay for all FREERTOS, not just ESPIDF 2024-05-13 13:05:21 -07:00
gojimmypi fb19d7a0e1 Initial Infineon I2C TPM support for Espressif ESP32 2024-05-10 14:16:39 -07:00
David Garske 81c837189c Refactor to eliminate confusing cast between TPMS_AUTH_COMMAND and TPM2_AUTH_SESSION. 2024-05-08 15:58:59 -07:00
David Garske c98ee9a71e Update copyright date. 2024-04-24 10:42:27 -07:00
David Garske 4157ed5689 Release v3.2.0 prep. 2024-04-24 10:42:25 -07:00
JacobBarthelmeh 1126c2ebfc
Merge pull request #344 from dgarske/nv_auth_policy
Added new API for allowing NV creation with policy
2024-04-24 11:02:51 -06:00
David Garske 377099af09 Added new API for allowing NV creation with policy. 2024-04-22 09:58:49 -07:00
David Garske 4a2e2506a4 Add Infineon firmware update recovery support. 2024-04-18 11:02:34 -07:00
David Garske 892726e6b5 Added support for Infineon SLB9672/SLB9673 Firmware upgrade (see examples/firmware/README.md)
Added Infineon Modus Toolbox support. See `wolfssl/IDE/Infineon/README.md` for setup instructions.
Added support for Infineon CyHal I2C support.
Added Firmware extraction tool
Added Firmware update example application `examples/firmware/ifx_fw_update`.
Added support for vendor capabilities `TPM_CAP_VENDOR_PROPERTY`.
Added `XSLEEP_MS` macro for firmware update delay.
Added support for getting key group id, operational mode and update counts.
Added support for abandoning an update.
Added support for firmware update done, but not finalized
Fix auto-detect to not define SLB9672/SLB9673.
2024-04-01 17:21:18 -07:00