David Garske
409fd96502
Fixes for response decryption. Nonce from TPM captured correctly now. Added support for args to all examples.
2020-11-24 16:44:20 -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
David Garske
675f7deb22
Fixes for a couple minor build errors and warnings. Found using scan-build, CC=g++ and `NO_FILESYSTEM`.
2020-11-13 15:57:03 -08:00
Elms
0bff836fa2
examples: Cleanup TLS examples using keyblob
2020-11-13 11:31:01 -08:00
Elms
6bfebf7cb9
examples: tls_client ECC/RSA as command line option
2020-11-12 14:08:16 -08:00
Elms
3ce0a6871c
Rebase and leverage new API with KEYBLOB
2020-11-12 14:08:13 -08:00
Elms
045800ccf5
examples: factor out common key setup steps
2020-11-12 14:04:00 -08:00
David Garske
45a1dd27ce
Add comment for how to force ECC mode with the TLS tests.
2020-09-24 14:08:03 -07:00
David Garske
3b253a3e5f
Improve the TLS client mutual authentication example to clarify use of dummy key. ZD 10895.
2020-09-15 16:50:08 -07:00
Eric Blankenhorn
72464dc621
Release v1.9 preparation
2020-08-24 12:12:11 -05:00
David Garske
80c5e5a2b6
Build fixes when using `WOLFTPM2_USE_SW_ECDHE`.
2020-04-16 07:09:04 -07: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
David Garske
4b0ac61ef5
Added FIPS mode and Use Symmetric options.
2019-07-15 14:34:40 -07:00
David Garske
4de58e6d60
Remove execute bit on .c/.h files.
2019-05-14 13:58:06 -07:00
David Garske
5f0c7ba6c1
Fix printf type warnings. Added missing stdio.h for printf in examples. Added new API's `TPM2_SetActiveCtx`, `TPM2_ChipStartup`, `TPM2_SetHalIoCb` and `TPM2_Init_ex`. Fix to make sure TPM2_CTX is cleaned up after `wolfTPM2_Test`. Allowed way to indicate `BOOL` type already defined.
2019-05-07 14:35:23 -07: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
4ee625e68e
Additional cleanups and fixes for TLS server/client examples.
2019-02-12 15:41:17 -08:00
David Garske
aaafa78624
Enhancement to the TLS clients to support better throughput benchmarking. Improved the read elapsed time for more accurate RX benchmarking. Added a simple non-TPM TLS example that integrates with the wolfTPM environment.
2019-02-12 13:37:55 -08: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
6d836b91ad
Fix to make sure the Crypto callback is unregistered on cleanup.
2019-02-12 09:21:37 -08:00
David Garske
0c86a92ac1
Improved error handling to ensure TPM handles are cleared. Added build option to test TLS client without mutual auth.
2019-02-07 13:14:48 -08:00
David Garske
586219164c
Fixes for TPM HMAC with CryptoCb.
2019-02-05 17:47:58 -08:00
David Garske
697b655efe
Fixes for TPM ECC verify using different hash algorithms and key sizes.
2019-02-01 13:27:52 -08:00
David Garske
a5d286c737
Fixes for various compiler warnings. Fixes for supporting new CryptoCb. Added way to implement own socket functions for TLS examples. Added TLS error codes.
2019-02-01 13:27:52 -08:00
David Garske
e057bc0a35
Cleanup to ensure `TpmCryptoDevCtx tpmCtx` is memset. Added support for handling new cryptocb update.
2019-02-01 13:27:52 -08:00
David Garske
29f773b6bb
Added benchmark CPS and KB/sec.
2019-02-01 13:27:52 -08:00
David Garske
0889c842b1
Fixed TLS client send size and signed mismatch warning. Fixed TLS server read size printf. Removed wolf init/cleanup as they are done in TPM2_Init/TPM2_Cleanup. Updated README.md.
2019-02-01 13:27:15 -08:00
David Garske
1d73ad9498
Added benchmark support for wolfTPM TLS client/server examples. Enabled with `TLS_BENCH_MODE` build macro. Refactor of the common TLS code into tls_common.h.
2019-02-01 13:26:55 -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
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
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
David Garske
6fe075911a
* Added advanced IO callback support (enabled using `--enable-advio` or `#define WOLFTPM_ADV_IO`).
...
* Added ST33 TPM 2.0 support (`--enable-st33` or `#define WOLFTPM_ST33`). Only SPI version is tested and verified.
* Experimental TIS I2C support (`--enable-i2c` or `#define WOLFTPM_I2C`).
* Cleanup of the IO callback examples.
* Added support for Atmel ASF SPI.
2018-08-22 16:40:33 -07:00
David Garske
d8174d4ef7
Added build option to disable wolfCrypt dependency using `./configure --disable-wolfcrypt` or `#define WOLFTPM2_NO_WOLFCRYPT`. Moved types and configuration/port specific items into new `tpm2_types.h`. Removed execute bit on serveral files.
2018-08-12 15:25:35 -07:00
David Garske
1f92254215
Fix for some TPM hardware, which does not support RSA validating using an exponent value less than 7. Can skip check using build option `WOLFTPM_NO_SOFTWARE_RSA`. Fix for the `wolfSSL_Connect` return code check in TLS client example.
2018-07-20 14:43:30 -07:00
David Garske
8d74a1b5ad
Fix to handle a TLS connect failure in the example. Fix to return better erorr code for timeout talking to HW.
2018-07-19 12:17:47 -07:00
David Garske
6ae32daa52
Fix TLS client example to properly shutdown before closing socket. Added additional logging and fixed comment about certreq.sh script. Improved the cert signing script to not prompt. Also supports option `./certs/certreq.sh clean` to do a clean sign. Added way to do a TPM clean/reset using `TPM2_Wrapper_SetReset`.
2018-07-18 16:29:15 -07:00
David Garske
0aad134b4b
Minor fix for warning when building without debug enabled.
2018-07-18 16:28:50 -07:00
David Garske
d489452d53
Updates to TPM based TLS Client example. Added CSR generation of an ECC Certificate. Added scripts to help with making certificates from the CSR. TLS still has some outstanding work for ECDHE.
2018-07-18 16:28:50 -07:00
David Garske
f1e82ac0e4
Added PKCS7, CSR and TLS Client examples using the TPM. Added builtin wrapper support for `WOLF_CRYPT_DEV`, which enables wolfCrypt PK type callbacks for RSA and ECC. Moved some of the example configuration into `./examples/tpm_io.h`. TLS Client example is not complete.
2018-07-18 16:28:50 -07:00