Categorygithub.com/chrisccoulson/go-tpm2
repositorypackage
0.0.0-20200528121719-bf4b93325f38
Repository: https://github.com/chrisccoulson/go-tpm2.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

go-tpm2

Tests GoDoc

This repository contains a go library for interacting with TPM 2.0 devices. Some currently supported features are:

  • All authorization modes: cleartext password, HMAC session based and policy session based.
  • All session configurations: salted or unsalted + bound or unbound.
  • Session-based command and response parameter encryption using AES-CFB or XOR obfuscation.
  • Session-based command auditing.
  • Backends for Linux TPM character devices and TPM simulators implementing the Microsoft TPM 2.0 simulator interface.

The current support status for each command group is detailed below.

Command groupSupportComment
Start-upFull
TestingFull
Session CommandsFull
Object CommandsFull
Duplication CommandsPartialTPM2_Duplicate and TPM2_Import are supported
Asymmetric PrimitivesNone
Symmetric PrimitivesNone
Random Number GeneratorFull
Hash/HMAC/Event SequencesFull
Attestation CommandsFull
Ephemeral EC KeysNone
Signing and Signature VerificationFull
Command AuditFull
Integrity Collection (PCR)PartialTPM2_PCR_Extend, TPM2_PCR_Event, TPM2_PCR_Read and TPM2_PCR_Reset are supported
Enhanced Authorization (EA) CommandsPartialAll commands are supported except for TPM2_PolicyLocality, TPM2_PolicyPhysicalPresence, TPM2_PolicyTemplate and TPM2_PolicyAuthorizeNV
Hierarchy CommandsPartialTPM2_CreatePrimary, TPM2_HierarchyControl, TPM2_Clear, TPM2_ClearControl and TPM2_HierarchyChangeAuth are supported
Dictionary Attack FunctionsFull
Miscellaneous Management FunctionsNone
Field UpgradeNone
Context ManagementFull
Clocks and TimersPartialTPM2_ReadClock is supported
Capability CommandsFull
Non-Volatile StoragePartialAll commands are supported except for TPM2_NV_Certify
Vendor SpecificNone

Relevant links