Documentation ¶
Overview ¶
Package tss provides TPM 1.2/2.0 core functionality and abstraction layer for high-level functions
Index ¶
- type PCR
- type TCGVendorID
- type TPM
- func (t *TPM) ClearOwnership(ownerAuth string) error
- func (t *TPM) Close() error
- func (t *TPM) Extend(hash []byte, pcrIndex uint32) error
- func (t *TPM) GetVersion() TPMVersion
- func (t *TPM) Info() (*TPMInfo, error)
- func (t *TPM) Measure(data []byte, pcrIndex uint32) error
- func (t *TPM) MeasurementLog() ([]byte, error)
- func (t *TPM) NVReadValue(index uint32, ownerPassword string, size, offhandle uint32) ([]byte, error)
- func (t *TPM) ReadPCR(pcrIndex uint32) ([]byte, error)
- func (t *TPM) ReadPCRs() ([]PCR, error)
- func (t *TPM) ReadPubEK(ownerPW string) ([]byte, error)
- func (t *TPM) ResetLockValue(ownerPW string) (bool, error)
- func (t *TPM) TakeOwnership(newAuth, newSRKAuth string) error
- type TPMInfo
- type TPMInterface
- type TPMVersion
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TCGVendorID ¶
type TCGVendorID uint32
TCGVendorID TPM manufacturer id
func (TCGVendorID) String ¶
func (id TCGVendorID) String() string
type TPM ¶
type TPM struct { Version TPMVersion Interf TPMInterface // TODO: Remove SysPath from this structure: it is a // leaky abstraction and other u-root code appears not // to be using it. SysPath string RWC io.ReadWriteCloser }
TPM interfaces with a TPM device on the system.
func (*TPM) ClearOwnership ¶
ClearOwnership tries to clear all credentials on a TPM
func (*TPM) Measure ¶
Measure measures data with a specific hash algorithm and extends it into the pcrIndex
func (*TPM) MeasurementLog ¶
MeasurementLog reads the TCPA eventlog in binary format from the Linux kernel
func (*TPM) NVReadValue ¶
func (t *TPM) NVReadValue(index uint32, ownerPassword string, size, offhandle uint32) ([]byte, error)
NVReadValue reads a value from a given NVRAM index Type and byte order for TPM1.2 interface: (offset uint32) Type and byte oder for TPM2.0 interface: (authhandle uint32)
func (*TPM) ResetLockValue ¶
ResetLockValue resets the password counter to zero
func (*TPM) TakeOwnership ¶
TakeOwnership owns the TPM with an owner/srk password
type TPMInfo ¶
type TPMInfo struct { Version TPMVersion Interface TPMInterface VendorInfo string Manufacturer TCGVendorID // FirmwareVersionMajor and FirmwareVersionMinor describe // the firmware version of the TPM, but are only available // for TPM 2.0 devices. FirmwareVersionMajor int FirmwareVersionMinor int }
TPMInfo contains information about the version & interface of an open TPM.
type TPMInterface ¶
type TPMInterface uint8
TPMInterface indicates how the client communicates with the TPM.
const ( TPMInterfaceDirect TPMInterface = iota TPMInterfaceKernelManaged TPMInterfaceDaemonManaged )
TPM interfaces
type TPMVersion ¶
type TPMVersion uint8
TPMVersion is used to configure a preference in which TPM to use, if multiple are available.
const ( TPMVersionAgnostic TPMVersion = iota TPMVersion12 TPMVersion20 )
TPM versions