The source repository for the TPM (Trusted Platform Module) 2 tools
Clone or download
williamcroberts tpm2_sign: fix option error output
The error:
ERROR: Expected options (k or c) and (m or D) and s

Is both incorrect and confusing. Correct the "k" output, as "k"
is no longer supported and output them one at a time so the user
doesn't need to figure out what they were missing.

Output after:
ERROR: Expected option c
ERROR: Expected options m or D
ERROR: Expected option s

With the message line going away when the option is specified.

Signed-off-by: William Roberts <>
Latest commit 9003aeb Dec 7, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci travis: add gnulib include directory for tpm2-tss Nov 26, 2018
dist/bash-completion/tpm2-tools Add bash completion support for all the tools Jul 16, 2018
lib lib/tpm2_session.c: fix scan-build reported potential memory leak Dec 11, 2018
man man/common/authorizations: add session format text Nov 17, 2018
misc rename tpm2.0-tools to tpm2-tools Aug 3, 2017
scripts/utils tpm2_policysecret: New tool to enable object secret based authenticat… Nov 17, 2018
test test_files: avoid unused return value static analysis warning Dec 11, 2018
tools tpm2_sign: fix option error output Dec 11, 2018
.gitignore bootstrap: generate library sources Mar 21, 2018
.travis.yml ci: display test-suite.log when the build fails Dec 11, 2018 AUTHORS: update to markdown Sep 27, 2017 PEM: support passwords via --passin Oct 30, 2018 CONTRIBUTING: fix link to security vulnerability handling guidelines Aug 8, 2018 use https for 'cloning' git repo Oct 9, 2018
LICENSE Update LICENSE Aug 21, 2015 Remove myself, add Joshua and Javier. Mar 13, 2018 Added support for QNX build Nov 17, 2018 README: update latest release link to 3.1.3 Oct 17, 2018 RELEASE: add explanation on how to edit the CHANGELOG file for releases Aug 13, 2018
bootstrap enable unit testing in make check Apr 17, 2018 configure: add -Wstrict-overflow=5 to default cflags Dec 11, 2018

Build Status Coverity Scan Coverage Status

This site contains the code for the TPM (Trusted Platform Module) 2.0 tools based on tpm2-tss


  • Release 3.1.3 is now available.
  • A mailing list now exists for support:
  • 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 file.

Release Procedures

Instructions for how releases are conducted, including our QA practices, please see the file.


Please use the mailing list at for general questions. The Issue Tracker on github should be reserved for actual feature requests or bugs. For security bugs, please see for information on how to submit those.


The 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:

The System API Specification

This is the SAPI dependency mentioned in This is the low-level software API to the tpm. The tpm2-tools project relies heavily on this.

The TCTI Specification

This specifies the transmission interfaces or how bytes get from the system api to the tpm.



Instructions for contributing to the project are provided in the file.