Commit Graph

19 Commits (5d2c080e153862b7c4679a6045f042df45d45731)

Author SHA1 Message Date
David Garske 5d2c080e15 Fix for loading public ECC key to make sure it can perform an ECC verify. Fix for cryptodev ECC callback to use R and S for the signature verify. Added ECC verify using public key and NIST test vectors. 2018-09-28 11:21:29 -07:00
David Garske 95a978c37b Added new RNG wrapper API `wolfTPM2_GetRandom`. Added macro for hardware RNG max request as `MAX_RNG_REQ_SIZE`. Trailing whitespace cleanup. 2018-09-20 12:15:03 -07:00
David Garske 0cfe8dd789 Decoupled the fixed algorithms sizes and build options from wolfCrypt. Now wolfCrypt can be built with algos like SHA256 and AES disabled, but they can still be supported in wolfTPM. Updated the README.md with a few additional build details. 2018-09-13 18:41:03 -07:00
David Garske 9efe01d0fc Fix for ST33 ECC public key import. 2018-08-27 11:01:50 -07: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 cc6a28d026 Added ability to clear/reset TPM using wrapper example with arg such as './examples/wrap/wrap_test 1`. 2018-07-19 08:20:38 -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 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
David Garske c5586be75c Added helper functions for converting RSA/ECC keys between wolf and TPM format. This only populates the public portion of the key. Fix to enable way to get public NV information. Increase default size for `WOLFTPM2_BUFFER`. Added wrapper example/tests for the new wolf helpers. 2018-06-01 16:26:39 -07:00
David Garske 3e462b0172 Added TPM bechmarking support. 2018-05-25 11:59:55 -07:00
David Garske bf725524de Removed the execute bit on new files. 2018-05-21 23:07:26 +00:00
David Garske 2d274f08b7 Fix logic error with `--enable-wrapper`. Fix for RSA encrypt/decrypt with no (NULL) padding scheme. Added RSA wrapper test for no padding. Added wrapper function to get a devId based on did_vid. Added wrapper TPM device pointer to handle. 2018-05-18 10:07:26 -07:00
David Garske 9f574a89fb Minor cleanups. Added way to get TPM's WC_RNG. 2018-05-17 16:21:10 -07:00
David Garske cecf33ae03 Added support for getting the builtin Endorsement Keys. 2018-05-14 16:36:14 -07:00
David Garske 98ee7be29c Added new API wrappers (`wolfTPM2_LoadRsaPublicKey` and `wolfTPM2_LoadEccPublicKey`) for loading RSA and ECC public keys. 2018-05-03 14:45:29 -07:00
David Garske 51655bf7c2 Added TPM wrapper support for NV create, write, read and delete. 2018-05-02 11:47:02 -07:00
David Garske cf2305b994 Fixes for evict control. Added new API `wolfTPM2_Clear` to clear (fully reset) TPM. 2018-05-01 17:16:05 -07:00
David Garske db49e917ac Split the native and wrapper test code into separate applications. Moved some of the utility wrapper functions into native area to support `WOLFTPM2_NO_WRAPPER`. Fix for storageKey auth in case when it used from NV. 2018-05-01 15:59:54 -07:00