This site contains the code for the TPM (Trusted Platform Module) 2.0 tools based on tpm2-tss
News
- Release 4.0.1 is now available.
- A mailing list now exists for support: https://lists.01.org/postorius/lists/tpm2.lists.01.org/
- CVE-2017-7524 - Where an HMAC authorization uses the tpm to perform the hmac calculation. This results in a disclosure of the password to
the tpm where the user would not expect it. It appears likely unreachable in the current code base. This has been fixed on releases greater than version 1.1.1.
Build and Installation instructions:
Instructions for building and installing the tpm2-tools are provided in the INSTALL.md file.
Release Procedures
Instructions for how releases are conducted, including our QA practices, please see the RELEASE.md file.
Support
Please use the mailing list at https://lists.01.org/postorius/lists/tpm2.lists.01.org/ for general questions. The Issue Tracker on
github should be reserved for actual feature requests or bugs. For security bugs, please see CONTRIBUTING.md
for information on how to submit those.
Resources
The tpm2-tools wiki:
https://github.com/tpm2-software/tpm2-tools/wiki
TPM 2.0 specifications can be found at Trusted Computing Group.
Specifically, the following sections:
The Library Specification
This specifies the external programatic interface to the TPM:
https://trustedcomputinggroup.org/tpm-library-specification/
The Enhanced System API Specification
This is the ESAPI dependency mentioned in INSTALL.md. This is the enhanced software API to the tpm. The tpm2-tools
project relies heavily on this. https://trustedcomputinggroup.org/wp-content/uploads/TSS_ESAPI_Version-0.9_Revision-04_reviewEND030918.pdf
The TCTI Specification
This specifies the transmission interfaces or how bytes get from the system api to the tpm.
https://trustedcomputinggroup.org/wp-content/uploads/TSS_TCTI_v1.0_r04_Public-Review.pdf
Books
- A Practical Guide to TPM 2.0
ISBN: 978-1-4302-6583-2 (Print) 978-1-4302-6584-9 (Online)
Contributing
Instructions for contributing to the project are provided in the CONTRIBUTING.md file.