fwupd/plugins/tpm
Richard Hughes e29c74180c Move the TPM handling into the TPM place
The fact that it currently lives in uefi-capsule is a historical
accident, and it doesn't really belong to tpm-eventlog either.

Fixes some of https://github.com/fwupd/fwupd/issues/3901
2021-11-01 14:51:27 +00:00
..
tests/tpm0 Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-plugin-tpm.c Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-self-test.c Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-tpm-device.c Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-tpm-device.h Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-tpm-v1-device.c Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-tpm-v1-device.h Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-tpm-v2-device.c Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
fu-tpm-v2-device.h Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
meson.build Move the TPM handling into the TPM place 2021-11-01 14:51:27 +00:00
README.md trivial: update markdown for pre-commit style 2021-07-18 14:42:47 -05:00
tpm.quirk Simplify the quirk file format 2021-03-03 08:30:34 +00:00

TPM

Introduction

This allows enumerating Trusted Platform Modules, also known as "TPM" devices, although it does not allow the user to update the firmware on them.

GUID Generation

These devices use custom GUIDs:

  • TPM\VEN_$(manufacturer)&DEV_$(type)
  • TPM\VEN_$(manufacturer)&MOD_$(vendor-string)
  • TPM\VEN_$(manufacturer)&DEV_$(type)_VER_$(family),
  • TPM\VEN_$(manufacturer)&MOD_$(vendor-string)_VER_$(family)

...where family is either 2.0 or 1.2

Example GUIDs from a real system containing a TPM from Intel:

  Guid:                 34801700-3a50-5b05-820c-fe14580e4c2d <- TPM\VEN_INTC&DEV_0000
  Guid:                 03f304f4-223e-54f4-b2c1-c3cf3b5817c6 <- TPM\VEN_INTC&DEV_0000&VER_2.0

Vendor ID Security

The device is not upgradable and thus requires no vendor ID set.

External Interface Access

This plugin uses the tpm2-tss library to access the TPM. It requires access to /sys/class/tpm.