# Functions
ActivateIdentity asks the TPM to decrypt an EKPub encrypted symmetric session key which it uses to decrypt the symmetrically encrypted secret.
AuthorizeMigrationKey authorizes a given public key for use in migrating migratable keys.
CloseKey flushes the key associated with the tpmutil.Handle.
CreateMigratableWrapKey creates a new RSA key as in CreateWrapKey, but the key is migratable (with the given migration auth).
CreateMigrationBlob performs a Rewrap migration of the given key blob.
CreateWrapKey creates a new RSA key for signatures inside the TPM.
FetchPCRValues gets a given sequence of PCR values.
ForceClear is normally used by firmware but on some platforms vendors got it wrong and didn't call TPM_DisableForceClear.
GetAlgs returns a list of algorithms supported by the TPM device.
GetCapabilityRaw reads the requested capability and sub-capability from the TPM and returns it as a []byte.
GetCapVersionVal returns the decoded contents of TPM_CAP_VERSION_INFO.
GetKeys gets the list of handles for currently-loaded TPM keys.
GetManufacturer returns the manufacturer ID.
GetNVIndex returns the structure of NVDataPublic which contains information about the requested NV Index.
GetNVList returns a list of TPM_NV_INDEX values that are currently allocated NV storage through TPM_NV_DefineSpace.
GetPermanentFlags returns the TPM_PERMANENT_FLAGS structure.
GetPubKey retrieves an opaque blob containing a public key corresponding to a handle from the TPM.
GetRandom gets random bytes from the TPM.
LoadKey2 loads a key blob (a serialized TPM_KEY or TPM_KEY12) into the TPM and returns a handle for this key.
MakeIdentity creates a new AIK with the given new auth value, and the given parameters for the privacy CA that will be used to attest to it.
NewQuoteInfo computes a quoteInfo structure for a given pair of data and PCR values.
NVDefineSpace implements the reservation of NVRAM as specified in: TPM-Main-Part-3-Commands_v1.2_rev116_01032011, P.
NVReadValue returns the value from a given index, offset, and length in NVRAM.
NVReadValueAuth returns the value from a given index, offset, and length in NVRAM.
NVWriteValue for writing to the NVRAM.
NVWriteValueAuth for authenticated writing to the NVRAM.
OpenTPM opens a channel to the TPM at the given path.
OwnerClear uses owner auth to clear the TPM.
OwnerReadPubEK uses owner auth to get a blob representing the public part of the endorsement key.
OwnerReadSRK uses owner auth to get a blob representing the SRK.
PcrExtend extends a value into the right PCR by index.
PcrReset resets the given PCRs.
Quote produces a TPM quote for the given data under the given PCRs.
Quote2 performs a quote operation on the TPM for the given data, under the key associated with the handle and for the pcr values specified in the call.
ReadEKCert reads the EKCert from the NVRAM.
ReadPCR reads a PCR value from the TPM.
ReadPubEK reads the public part of the endorsement key when no owner is established.
Reseal takes a pre-calculated PCR map and locality in order to seal data with a srkAuth.
ResetLockValue resets the dictionary-attack value in the TPM; this allows the TPM to start working again after authentication errors without waiting for the dictionary-attack defenses to time out.
Seal encrypts data against a given locality and PCRs and returns the sealed data.
Sign will sign a digest using the supplied key handle.
TakeOwnership takes over a TPM and inserts a new owner auth value and generates a new SRK, associating it with a new SRK auth value.
UnmarshalPubRSAPublicKey takes in a blob containing a serialized RSA TPM_PUBKEY and converts it to a crypto/rsa.PublicKey.
UnmarshalRSAPublicKey takes in a blob containing a serialized RSA TPM_KEY and converts it to a crypto/rsa.PublicKey.
Unseal decrypts data encrypted by the TPM.
VerifyQuote verifies a quote against a given set of PCRs.
# Constants
Algorithm ID values.
Algorithm ID values.
Algorithm ID values.
Algorithm ID values.
Algorithm ID values.
Algorithm ID values.
Algorithm ID values.
Algorithm ID values.
Capability types.
Capability types.
Capability types.
Capability types.
Capability types.
Capability types.
Capability types.
Values of locality Note: Localities are summable.
Values of locality Note: Localities are summable.
Values of locality Note: Localities are summable.
Values of locality Note: Localities are summable.
Values of locality Note: Localities are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
NV Permissions and Operations Note: Permissions are summable.
Warning: The Value 0x00001000 is defined in the spec as TPM_NV_PER_WRITEDEFINE, but it is not included directly in this code because it locks the given NV Index permanently if used incorrectly.
PCRSize gives the fixed size (20 bytes) of a PCR.
SubCapabilities.
SubCapabilities.
# Variables
AlgMap Map of Algorithms to Strings for nicer output and comparisons, etc.
# Structs
CapVersionInfo implements TPM_CAP_VERSION_INFO from spec.
NVDataPublic implements the structure of TPM_NV_DATA_PUBLIC as described in TPM-Main-Part-2-TPM-Structures_v1.2_rev116_01032011, P.
PermanentFlags contains persistent TPM properties.
# Type aliases
Algorithm type for more convenient handling.
A Digest is a 20-byte SHA1 value.
KeyFlags represents TPM_KEY_FLAGS.
Locality type.
MigrationScheme represents TPM_MIGRATE_SCHEME.
A Nonce is a 20-byte value.
Permission type.