Commit Graph

46 Commits (6fbb49a94f2ba4048b69d03ea3d2add02e2a7543)

Author SHA1 Message Date
David Garske a441646682 Fixes for wolfTPM documentation generation. 2024-07-30 14:52:34 -07: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 97d8845c6f Added CI tests for all examples and additional build tests. 2023-08-30 15:11:24 -07:00
David Garske a15260342f wolfTPM Support for sealing/unsealing based on a PCR that is signed externally. Use an external key to sign a PCR digest. Allows a new signed policy to be sent with updates to continue allowing a sealed secret to be unsealed when PCR's change. This resolves the issue with PCR brittleness. 2023-08-29 18:47:18 -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 14a4b00873 Key generation example for Keyed Hash. ZD 14876. 2022-09-28 11:55:05 -05:00
David Garske c78d395a5c Refactor GPIO support. 2021-11-08 15:13:03 -08:00
David Garske b40574f545 Fix for keyload broken with PR 174. Added GPIO note about no input support for Nuvoton. 2021-07-13 16:06:33 -07:00
Dimitar Tomov bc9434aec9 Update examples README files
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-07-12 15:09:28 -07:00
David Garske aa71cfd73d Minor cleanups. 2021-07-12 15:07:45 -07:00
Dimitar Tomov 8946234c48 Added GPIO examples for Nuvoton NPCT75x TPM 2.0 Modules
* Added GPIO configuration logic
* Added more NV attributes per Nuvoton specification
* Fixes from testing on the hardware
* Improvements on tpm2.h definitions
* Fixes after vendor feedback
* Updated the examples README with NPCT75x information and ST33 differences

Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-07-09 23:48:23 +03:00
Elms 60ed683326 gpio: update program names in `README` and `usage()` 2021-04-21 14:43:58 -07:00
Dimitar Tomov 474ddb4d01 Minor changes based on peer feedback
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-04-20 15:15:40 +03:00
Dimitar Tomov b6c116e3a1 Updated the examples README with seal and unseal information
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-04-16 10:42:16 +03:00
Dimitar Tomov 35674052bb Added new example to demo TPM 2.0 extra GPIO control
* Create NV Index for GPIO access right after TPM2_GPIO_Config
* Set and read example to use the NV index created by the config example
* Added instructions about the new gpio examples
* Added vendor check, right now only ST33 supports TPM extra GPIO
* NV Index for GPIO Input requires an extra step, included in gpio/config
* Added sanity check and NV Index delete before new GPIO configuration
* Changes based on peer review

Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-04-08 08:35:14 -07:00
David Garske 197754b109 Minor cleanups. 2021-03-12 15:10:58 -08:00
Dimitar Tomov 53563acd6a Update the wolfTPM and examples README.md files
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-03-12 15:10:58 -08: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 c18f421965 Update the examples README
Signed-off-by: Dimitar Tomov <dimi@wolfssl.com>
2021-02-26 11:38:17 +02:00
David Garske 4c086c2f2c Fix for expired wolfSSL certs and note about where those files come from. Fixes #138. 2021-01-11 11:58:46 -08:00
David Garske 845b3d1da2 Release fixes and cleanups. Fixes for init of `WOLFTPM2_HASH` in `wolfTPM2_HashStart`. Fix for for various build configurations (--disable-wrapper). Fix for Microchip "sign" bit on symmetric keys. Fix for scan-build warnings. Cleanup whitespace. 2020-12-07 11:01:02 -08:00
David Garske 4b0b70861c Added parameter encryption support to more examples. Fix to not set "encrypt" or "decrypt" if command doesn't allow it. Updated documentation. 2020-11-30 12:00:54 -08:00
David Garske dbd8e41b47 Refactor of the session authentication. Added "-e" option to some examples to enable parameter encryption and removed the _paramenc.c files. Fixup for the `getPrimaryStoragekey` to allow persisting if not `WOLFTPM_WINAPI`. Improve command line options. Added calculation of command hash and HMAC for sessions. 2020-11-20 16:47:14 -08:00
David Garske b48f53f5e7 Improvements to the example tls_server to accept "RSA" or "ECC". Improvement to TLS examples to old load keys/certs that are needed (reduces max handle load count). Added missing `scripts/tls_setup.sh` to automake. 2020-11-13 16:33:14 -08:00
Elms 0bff836fa2 examples: Cleanup TLS examples using keyblob 2020-11-13 11:31:01 -08:00
Dimitar Tomov 1a24bab50f Minor fixes for keyload usage, examples README and whitespaces
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-11-12 16:18:03 +02:00
David Garske 961710de63 Added support for importing external private key to get a key blob for easy re-loading. 2020-11-02 14:23:47 -08:00
David Garske 21daf5a21c Key generation and loading examples using disk to store the key. Leverage wolfSSL filesystem abstraction. 2020-10-26 15:49:51 -07:00
David Garske 5ec8c5d0e1 Fix for building without wolfCrypt. Minor cleanups. 2020-09-30 15:14:46 -07:00
Dimitar Tomov e75a36b82c Update the README files
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-10-01 00:36:25 +03:00
Dimitar Tomov 69f01efb19 Cleanups based on peer review
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-09-03 19:49:31 +03:00
David Garske ebfbd4dd2d Moved the new clock_set example into the existing timestamp examples directory. Minor cleanups and fix for printf warning. 2020-09-02 11:46:12 -07:00
Dimitar Tomov 4ece9900cb Add optional argument for the TPM clock example. Update examples README
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-09-02 11:46:12 -07: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
Dimitar Tomov be3f9b7385 Cleanups based on peer review. Updated gitignore.
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-07-22 00:17:50 +03:00
Dimitar Tomov 3f9ebe79c6 Quick fixes of markdown headings in the examples README.md
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-07-17 18:16:15 +03:00
Dimitar Tomov c4339fbb5a Add example of generating a TPM2.0 Quote using wolfTPM
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-07-16 17:09:46 +03:00
David Garske bd7a01779a Minor spelling fixes. 2020-05-27 08:24:35 -07:00
Dimitar Tomov 0e67453bc8 Add info about the new signed_timestamp example and attestation
Signed-off-by: Dimitar Tomov <dimi@designfirst.ee>
2020-05-27 16:57:50 +03:00
David Garske d8effc7c05 Fixes for various scan-build and G++ warnings. Updates to ChangeLog.md and README.md. Fix for `./certs/certreq.sh clean` to not remove wolf certs. 2019-02-20 15:13:01 -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 b982d7a5fc Enabled ECDH support by default and fixed build error with auth. Added build define `WOLFTPM2_USE_SW_ECDHE` for disabling TPM based ECDHE. 2018-11-20 07:20:14 -08:00
David Garske 037c3a2d59 Added ECDH support for ephemeral key generation and shared secret. Adds new wrapper API's `wolfTPM2_ECDHGenKey` and `wolfTPM2_ECDHGenZ`. Added crypto dev (TLS client/server) support for ECDH using TPM. Added ECDH tests in native and wrapper. Added experimental support for the 2-phase ephemeral key support with new wrapper API's `wolfTPM2_ECDHEGenKey` and `wolfTPM2_ECDHEGenZ`. 2018-11-16 13:27:22 -08:00
David Garske f36cd4e349 Fixes for TLS server and client using RSA and ECC. Fixes for ECC sign cryptodev callback. Added an optional crypto dev callback for checking the key to determine if "fake" key is used. Added ability to use ECC permenant key for TLS examples using `USE_TLS_ECC`. 2018-11-14 09:51:06 -08:00
David Garske 380168c71d Fix for crypto dev RSA sign verify, so it uses the TPM private key for the verification (instead of trying to load the public key). 2018-11-13 16:14:26 -08:00
David Garske d8b2ea6309 Added TLS server example for wolfTPM. Added `examples/README.md`. 2018-11-13 15:45:39 -08:00