Commit Graph

318 Commits (1603cfdaaf9a7e4b93458dc0bdf9e66140740e65)

Author SHA1 Message Date
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
David Garske 63bb85ae9d Add support for pre-provisioned TPM using the "TPM 2.0 Keys for Device Identity and Attestation" specification. Build macro: `WOLFTPM_MFG_IDENTITY`. 2024-03-20 15:11:58 -07:00
David Garske c4880bee18 ST33 Vendor command for getting product info. 2024-03-20 15:11:58 -07:00
David Garske 93441f0e59 Documentation fixes. 2024-03-18 15:38:38 -07:00
David Garske 0b60fae993 Fix for netdb.h. 2024-03-01 11:51:27 -08:00
David Garske 35bf0b9649 Use C style comments. 2024-02-29 08:20:51 -08:00
David Garske 225a352bd4 Fixes for building with "-Wpedantic". ZD 17592 2024-02-28 17:06:55 -08:00
Eric Blankenhorn 46ef684106
Merge pull request #328 from dgarske/cap_handles
Added support for getting handles from capabilities
2024-02-09 09:33:08 -06:00
David Garske f7665ee0db Documentation fixes. 2024-02-09 06:55:16 -08:00
David Garske b395b65287 Fix for config.h, which should only be included from .c files, not headers. ZD 17473 2024-02-07 14:28:33 -08:00
David Garske e078e15f56 Added new API `wolfTPM2_GetHandles` to get list of handles from the TPM capabilities. ZD 17328 2024-02-06 10:48:16 -08:00
David Garske a2a45d2a3d Match byte swap logic with wolfSSL (use WOLF_ALLOW_BUILTIN). 2024-01-26 14:26:54 -08:00
David Garske b27e6c5874 Remove unused `XHTONS` and `arpa/inet.h`. 2024-01-26 14:26:54 -08:00
JacobBarthelmeh 6fcac417ee
Merge pull request #322 from dgarske/pkcs7_ecc
Added PKCS7 ECC support to example
2024-01-18 14:22:24 -08:00
David Garske 0aa01f4f5a Added PKCS7 ECC support to example. Added wrapper function to export TPM public key as DER/ASN.1 or PEM. Fix for crypto callback ECC sign to handle getting keySz for unknown cases (like PKCS7 without privateKey set). 2024-01-17 15:50:30 -08:00
David Garske ae60c59af7 Add _ex version for GetKeyTemplate RSA/ECC to allow setting all template parameters. 2024-01-09 13:20:25 -08:00
David Garske d9f51da00e wolfTPM v3.1 release prep 2023-12-29 10:55:30 -08:00
David Garske 93a2493dbf Fixes for attestation with endorsement key. Enable the broken endorsement tests. 2023-12-29 09:32:49 -08:00
David Garske 6322c91e53 Remove the `WOLFTPM2_KEYBLOB.name` (deprecated) and is in `handle.name` now. 2023-12-29 09:20:45 -08:00
David Garske fb2ea5b315 Fixes for compiler type warnings. Add `WOLFTPM_NO_LOCK`. Improve STM IO options/logging. 2023-12-20 11:54:02 -08:00
Eric Blankenhorn 88bff510bb
Merge pull request #312 from dgarske/tls_pkcb
Added support for TLS PK callbacks with ECC and RSA Sign using PKCSv1.5 and PSS padding
2023-12-08 15:10:32 -06:00
Eric Blankenhorn 233bd33240
Merge pull request #315 from dgarske/keyblob_tests
Added tests for keyblob buffer export/import and support for getting sizes
2023-12-08 15:10:04 -06:00
David Garske 4a48fb3882 Peer review cleanups. 2023-12-08 12:00:01 -08:00
David Garske 65e03e15e6 Added Windows Visual Studio project for wolfTPM. 2023-12-06 15:10:44 -08:00
David Garske 53b043dafa Tests for keyblob buffer export/import. Added support for getting the keyblob sizes. 2023-12-06 11:20:18 -08:00
David Garske e601803f1b Added support for PK callbacks with RSA Sign using PKCSv1.5 and PSS.
Fixes for building wolfTPM without crypto callbacks.
Fixes for building/running with FIPS.
2023-12-01 08:25:53 -08:00
David Garske 249f9d4942 Fixes for building wolfCrypt without PEM to DER support. 2023-11-15 21:53:50 -08:00