wolfTPM Release 1.5 (02/20/2019)
Summary
Adds support for the Microchip ATTPM20 TPM 2.0 module and Barebox bootloader. Improvements for TLS client/server examples and overall performance. Adds TPM wrappers for HMAC, AES Key Loading and Benchmarking support for RNG/AES/Hashing/TLS.
Detail
- Fixed issue with cleanup not unregistering the crypto callback. (PR #60)
- Added support for Microchip ATTPM20 part. (PR #59)
- Added support for Barebox (experimental). (PR #52)
- Added TLS benchmarking for CPS and KB/Sec. Enabled with
TLS_BENCH_MODE. (PR #56) - Added TLS client/server support for symmetric AES/HMAC/RNG. Enabled with
WOLFTPM_USE_SYMMETRIC. (PR #56) - Added TLS client/server support for mutual authentication. (PR #56)
- Added TIS locking protection for concurrent process access. Enabled using
WOLFTPM_TIS_LOCK. (PR #56) - Added symmetric AES encrypt and decrypt wrappers and examples. (PR #54 and PR #55)
- Added HMAC wrappers and examples. (PR #56)
- Added wrappers and examples for loading external HMAC and AES keys. (PR #56)
- Added delete key wrapper and example. (PR #58)
- Added ECDH support for ephemeral key generation and shared secret. (PR #50)
- Added benchmark support for RNG, AES (CTR, CBC, CFB) 128/256 and SHA-1, SHA-256, SHA-384 and SHA-512. (PR #54)
- Added new
wolfTPM2_GetCapabilitieswrapper API for getting chip info. (PR #51) - Added command and response logging using
./configure --enable-debug=verboseor#define WOLFTPM_DEBUG_VERBOSE. (PR #54) - Added option to enable raw IO logging using
WOLFTPM_DEBUG_IO. (PR #54) - Added option to disable TPM Benchmark code using
NO_TPM_BENCH. (#60) - Added examples/README.md for setup instructions.
- Tuned max SPI clock and performance for supported TPM 2.0 chips. (PR #56)
- Cleanup to move common test parameters into examples/tpm_test.h. (PR #54)
- Updated benchmarks and console output for examples in README.md.