Skip to content

google/go-tpm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f37a5ca · Feb 3, 2025
Jun 29, 2023
May 10, 2024
Jun 29, 2023
Feb 3, 2025
Jun 13, 2023
Apr 11, 2024
Jun 27, 2023
Apr 11, 2024
Jun 10, 2021
Aug 6, 2014
Apr 11, 2024
Aug 6, 2014
Dec 16, 2024
Apr 11, 2024
Apr 11, 2024

Go-TPM

Go-TPM is a Go library that communicates directly with a TPM device on Linux or Windows machines.

The libraries don't implement the entire spec for neither 1.2 nor 2.0. If you need a command that's missing, contributions are welcome!

Please note that this is not an official Google product.

Structure

The tpm directory contains TPM 1.2 client library. This library is in "maintenance mode".

The legacy/tpm2 directory contains the legacy TPM 2.0 client library.

The tpm2 directory contains the prototype "TPMDirect" TPM 2.0 API, which is intended to (eventually) be 1:1 with the TPM 2.0 spec. Please report issues, complaints, or suggestions using the label tpmdirect Issues specific to the tpmdirect development work .

The examples directory contains some simple examples for both legacy versions of the spec.

TPM 1.2

TPM 1.2 support currently has no maintainer. None of the TPM 2.0 maintainers have expertise on 1.2 either.

As such, TPM 1.2 library is in "maintenance" mode - all PRs with new functionality or non-critical fixes will be rejected.

If you'd like to volunteer to maintain the TPM 1.2 library, you can do so via an issue. You don't have to be a Googler to volunteer.