Trusted Platform Module
TPM stands for Trusted Platform Module. TPM devices have two main implementations: an older one, called TPM or TPM 1.2, which has been in use for a number of years in various applications, and a newer implementation called TPM 2, which has started to appear on many modern devices.
This document focuses only on TPM2.
TPM2
[ describe theoretical uses for tpm2 ]
Using the TPM
Given the complexity of using a TPM, it is strongly recommended to use a resource manager (usually tabrmd, or the kernel's own resource manager, if available via /dev/tpmrm#)
It is also possible to use the TPM device or simulator directly as a device, see TPM/Testing
Starting a resource manager
If the resource manager isn't started automatically:
$ sudo service tpm2-abrmd start
Or:
/usr/sbin/tpm2-abrmd -T device
# For simulator ... /usr/sbin/tpm2-abrmd -T mssim
Listing PCRs
For Ubuntu 19.04 and newer:
$ tpm2_pcrlist
For previous releases:
$ tpm2_listpcrs
Hashing a value
[other useful userland things]