wolfTPM is a portable TPM 2.0 project designed for embedded use.
We have expanded our automated tests to ensure hardware support and functionality for wolfTPM in our commitment to having the best tested cryptography product lineup. Our Jenkins CI setup now tests the following build configuration every night!
Testing Hardware Setup
- Raspberry Pi 2 Model B Rev 1.2 (ARMv7 Processor rev 4 (v7l))
- Infineon OPTIGA (TM) Trusted Platform Module 2.0 SLB 967 (IRIDIUM9670 TPM2.0 LINUX).
wolfTPM Features
- This implementation provides all TPM 2.0 API’s in compliance with the specification.
- This uses the TPM Interface Specification (TIS) to communicate over SPI.
- The design allows for easy portability to different platforms:
- Native C code designed for embedded use.
- Single IO callback for hardware SPI interface.
- No external dependencies.
- Compact code size and minimal memory use.
- Examples for the Raspberry Pi and STM32 with CubeMX.
- Includes example code for most TPM2 native API’s.
- Includes wrappers for Key Generation, RSA encrypt/decrypt, ECC sign/verify and ECDH.
- Testing done using the Infineon OPTIGA SLB9670 module and LetsTrust TPM for Raspberry Pi.
Check out how to quickly build wolfSSL and wolfTPM on GitHub.
https://github.com/wolfSSL/wolfTPM
For examples on using the wolfTPM library check out the wrapper and native tests.
https://github.com/wolfSSL/wolfTPM/blob/master/examples/wrap/wrap_test.c
https://github.com/wolfSSL/wolfTPM/blob/master/examples/native/native_test.c
Please send any feedback or questions to us at facts@wolfssl.com