Commit Graph

68 Commits (2cde4102b28fe8fb046cedd3d0d03b599a060ec2)

Author SHA1 Message Date
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