Staging counterpart to the `shared/libTPM` project.

Clone this repo:

Branches

  1. cbcfb45 refactor: rationalise tpm_chip_data struct by Matthew Ellis · 5 months ago main
  2. c7cf5c7 refactor: update SPI driver interface by Matthew Ellis · 6 months ago
  3. b63a58a feat: provide access to transport errors by Matthew Ellis · 6 months ago
  4. d012b96 feat: add support for lib based timer ops by Matthew Ellis · 6 months ago
  5. 76e5624 feat: add extra logging messages by Harrison Mutai · 3 months ago

libtcg2-tpm

TCG2-compliant TPM library based on the TCG PC Client Platform TPM Profile for TPM 2.0 Specification v1.06.

This library provides a lightweight C interface for interacting with TPM 2.0 devices, specifically targeting platforms compliant with the TCG2 specification.

Prerequisites

  • CMake >= 3.15
  • AArch64 Linux GNU toolchain (for cross-compilation)

Building

Native Build

cmake -B build
cmake --build build

Cross Compilation

CC=aarch64-linux-gnu-gcc cmake -B build -DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY
cmake --build build

License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for more information.