go_attestation

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2019 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ChallengeInfo_ChallengeType_name = map[int32]string{
	0: "CHALLENGE_UNSPECIFIED",
	1: "CHALLENGE_CA",
}
View Source
var ChallengeInfo_ChallengeType_value = map[string]int32{
	"CHALLENGE_UNSPECIFIED": 0,
	"CHALLENGE_CA":          1,
}
View Source
var EndorsementKey_DataType_name = map[int32]string{
	0: "DATA_TYPE_UNSPECIFIED",
	1: "PUBLIC_BLOB",
	2: "X509_CERT_BLOB",
}
View Source
var EndorsementKey_DataType_value = map[string]int32{
	"DATA_TYPE_UNSPECIFIED": 0,
	"PUBLIC_BLOB":           1,
	"X509_CERT_BLOB":        2,
}
View Source
var TpmInterface_name = map[int32]string{
	0: "TPM_INTERFACE_UNSPECIFIED",
	1: "DIRECT",
	2: "KERNEL_MANAGED",
	3: "DAEMON_MANAGED",
}
View Source
var TpmInterface_value = map[string]int32{
	"TPM_INTERFACE_UNSPECIFIED": 0,
	"DIRECT":                    1,
	"KERNEL_MANAGED":            2,
	"DAEMON_MANAGED":            3,
}
View Source
var TpmVersion_name = map[int32]string{
	0: "TPM_VERSION_UNSPECIFIED",
	1: "TPM_12",
	2: "TPM_20",
}
View Source
var TpmVersion_value = map[string]int32{
	"TPM_VERSION_UNSPECIFIED": 0,
	"TPM_12":                  1,
	"TPM_20":                  2,
}

Functions

This section is empty.

Types

type AikInfo

type AikInfo struct {
	// Types that are valid to be assigned to TpmAikInfo:
	//	*AikInfo_Tpm20
	//	*AikInfo_Tpm12
	TpmAikInfo           isAikInfo_TpmAikInfo `protobuf_oneof:"tpm_aik_info"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

AikInfo describes the public key, parameters, and creation information of an attestation identity key.

func (*AikInfo) Descriptor

func (*AikInfo) Descriptor() ([]byte, []int)

func (*AikInfo) GetTpm12

func (m *AikInfo) GetTpm12() *Tpm12AikInfo

func (*AikInfo) GetTpm20

func (m *AikInfo) GetTpm20() *Tpm20AikInfo

func (*AikInfo) GetTpmAikInfo

func (m *AikInfo) GetTpmAikInfo() isAikInfo_TpmAikInfo

func (*AikInfo) ProtoMessage

func (*AikInfo) ProtoMessage()

func (*AikInfo) Reset

func (m *AikInfo) Reset()

func (*AikInfo) String

func (m *AikInfo) String() string

func (*AikInfo) XXX_DiscardUnknown

func (m *AikInfo) XXX_DiscardUnknown()

func (*AikInfo) XXX_Marshal

func (m *AikInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AikInfo) XXX_Merge

func (m *AikInfo) XXX_Merge(src proto.Message)

func (*AikInfo) XXX_OneofWrappers

func (*AikInfo) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*AikInfo) XXX_Size

func (m *AikInfo) XXX_Size() int

func (*AikInfo) XXX_Unmarshal

func (m *AikInfo) XXX_Unmarshal(b []byte) error

type AikInfo_Tpm12

type AikInfo_Tpm12 struct {
	Tpm12 *Tpm12AikInfo `protobuf:"bytes,2,opt,name=tpm12,proto3,oneof"`
}

type AikInfo_Tpm20

type AikInfo_Tpm20 struct {
	Tpm20 *Tpm20AikInfo `protobuf:"bytes,1,opt,name=tpm20,proto3,oneof"`
}

type ChallengeInfo

type ChallengeInfo struct {
	Type                 ChallengeInfo_ChallengeType `protobuf:"varint,1,opt,name=type,proto3,enum=go_attestation.ChallengeInfo_ChallengeType" json:"type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

ChallengeInfo describes which challenge a nonce corresponds to.

func (*ChallengeInfo) Descriptor

func (*ChallengeInfo) Descriptor() ([]byte, []int)

func (*ChallengeInfo) GetType

func (*ChallengeInfo) ProtoMessage

func (*ChallengeInfo) ProtoMessage()

func (*ChallengeInfo) Reset

func (m *ChallengeInfo) Reset()

func (*ChallengeInfo) String

func (m *ChallengeInfo) String() string

func (*ChallengeInfo) XXX_DiscardUnknown

func (m *ChallengeInfo) XXX_DiscardUnknown()

func (*ChallengeInfo) XXX_Marshal

func (m *ChallengeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ChallengeInfo) XXX_Merge

func (m *ChallengeInfo) XXX_Merge(src proto.Message)

func (*ChallengeInfo) XXX_Size

func (m *ChallengeInfo) XXX_Size() int

func (*ChallengeInfo) XXX_Unmarshal

func (m *ChallengeInfo) XXX_Unmarshal(b []byte) error

type ChallengeInfo_ChallengeType

type ChallengeInfo_ChallengeType int32
const (
	ChallengeInfo_CHALLENGE_UNSPECIFIED ChallengeInfo_ChallengeType = 0
	ChallengeInfo_CHALLENGE_CA          ChallengeInfo_ChallengeType = 1
)

func (ChallengeInfo_ChallengeType) EnumDescriptor

func (ChallengeInfo_ChallengeType) EnumDescriptor() ([]byte, []int)

func (ChallengeInfo_ChallengeType) String

type EndorsementKey

type EndorsementKey struct {
	Datatype             EndorsementKey_DataType `protobuf:"varint,1,opt,name=datatype,proto3,enum=go_attestation.EndorsementKey_DataType" json:"datatype,omitempty"`
	Data                 []byte                  `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (*EndorsementKey) Descriptor

func (*EndorsementKey) Descriptor() ([]byte, []int)

func (*EndorsementKey) GetData

func (m *EndorsementKey) GetData() []byte

func (*EndorsementKey) GetDatatype

func (m *EndorsementKey) GetDatatype() EndorsementKey_DataType

func (*EndorsementKey) ProtoMessage

func (*EndorsementKey) ProtoMessage()

func (*EndorsementKey) Reset

func (m *EndorsementKey) Reset()

func (*EndorsementKey) String

func (m *EndorsementKey) String() string

func (*EndorsementKey) XXX_DiscardUnknown

func (m *EndorsementKey) XXX_DiscardUnknown()

func (*EndorsementKey) XXX_Marshal

func (m *EndorsementKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EndorsementKey) XXX_Merge

func (m *EndorsementKey) XXX_Merge(src proto.Message)

func (*EndorsementKey) XXX_Size

func (m *EndorsementKey) XXX_Size() int

func (*EndorsementKey) XXX_Unmarshal

func (m *EndorsementKey) XXX_Unmarshal(b []byte) error

type EndorsementKey_DataType

type EndorsementKey_DataType int32
const (
	EndorsementKey_DATA_TYPE_UNSPECIFIED EndorsementKey_DataType = 0
	EndorsementKey_PUBLIC_BLOB           EndorsementKey_DataType = 1
	EndorsementKey_X509_CERT_BLOB        EndorsementKey_DataType = 2
)

func (EndorsementKey_DataType) EnumDescriptor

func (EndorsementKey_DataType) EnumDescriptor() ([]byte, []int)

func (EndorsementKey_DataType) String

func (x EndorsementKey_DataType) String() string

type Tpm12AikInfo

type Tpm12AikInfo struct {
	// This is a TPM_PUBKEY structure.
	PublicBlob []byte `protobuf:"bytes,1,opt,name=public_blob,json=publicBlob,proto3" json:"public_blob,omitempty"`
	// This is auxillary data, provided for the purpose of debugging.
	// on Windows devices, this represents the contents of PCP_ID_BINDING.
	Aux                  []byte   `protobuf:"bytes,2,opt,name=aux,proto3" json:"aux,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Tpm12AikInfo describes an AIK using TPM 1.2 structures.

func (*Tpm12AikInfo) Descriptor

func (*Tpm12AikInfo) Descriptor() ([]byte, []int)

func (*Tpm12AikInfo) GetAux

func (m *Tpm12AikInfo) GetAux() []byte

func (*Tpm12AikInfo) GetPublicBlob

func (m *Tpm12AikInfo) GetPublicBlob() []byte

func (*Tpm12AikInfo) ProtoMessage

func (*Tpm12AikInfo) ProtoMessage()

func (*Tpm12AikInfo) Reset

func (m *Tpm12AikInfo) Reset()

func (*Tpm12AikInfo) String

func (m *Tpm12AikInfo) String() string

func (*Tpm12AikInfo) XXX_DiscardUnknown

func (m *Tpm12AikInfo) XXX_DiscardUnknown()

func (*Tpm12AikInfo) XXX_Marshal

func (m *Tpm12AikInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Tpm12AikInfo) XXX_Merge

func (m *Tpm12AikInfo) XXX_Merge(src proto.Message)

func (*Tpm12AikInfo) XXX_Size

func (m *Tpm12AikInfo) XXX_Size() int

func (*Tpm12AikInfo) XXX_Unmarshal

func (m *Tpm12AikInfo) XXX_Unmarshal(b []byte) error

type Tpm20AikInfo

type Tpm20AikInfo struct {
	// This is a TPMT_PUBLIC structure.
	PublicBlob []byte `protobuf:"bytes,1,opt,name=public_blob,json=publicBlob,proto3" json:"public_blob,omitempty"`
	// This is a TPMS_CREATION_DATA structure.
	CreationData []byte `protobuf:"bytes,2,opt,name=creation_data,json=creationData,proto3" json:"creation_data,omitempty"`
	// This is a TPMU_ATTEST structure, with the dynamic section
	// containing a CREATION_INFO structure.
	AttestationData []byte `protobuf:"bytes,3,opt,name=attestation_data,json=attestationData,proto3" json:"attestation_data,omitempty"`
	// This is a TPMT_SIGNATURE structure.
	SignatureData        []byte   `protobuf:"bytes,4,opt,name=signature_data,json=signatureData,proto3" json:"signature_data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Tpm20AikInfo describes an AIK using TPM 2.0 structures.

func (*Tpm20AikInfo) Descriptor

func (*Tpm20AikInfo) Descriptor() ([]byte, []int)

func (*Tpm20AikInfo) GetAttestationData

func (m *Tpm20AikInfo) GetAttestationData() []byte

func (*Tpm20AikInfo) GetCreationData

func (m *Tpm20AikInfo) GetCreationData() []byte

func (*Tpm20AikInfo) GetPublicBlob

func (m *Tpm20AikInfo) GetPublicBlob() []byte

func (*Tpm20AikInfo) GetSignatureData

func (m *Tpm20AikInfo) GetSignatureData() []byte

func (*Tpm20AikInfo) ProtoMessage

func (*Tpm20AikInfo) ProtoMessage()

func (*Tpm20AikInfo) Reset

func (m *Tpm20AikInfo) Reset()

func (*Tpm20AikInfo) String

func (m *Tpm20AikInfo) String() string

func (*Tpm20AikInfo) XXX_DiscardUnknown

func (m *Tpm20AikInfo) XXX_DiscardUnknown()

func (*Tpm20AikInfo) XXX_Marshal

func (m *Tpm20AikInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Tpm20AikInfo) XXX_Merge

func (m *Tpm20AikInfo) XXX_Merge(src proto.Message)

func (*Tpm20AikInfo) XXX_Size

func (m *Tpm20AikInfo) XXX_Size() int

func (*Tpm20AikInfo) XXX_Unmarshal

func (m *Tpm20AikInfo) XXX_Unmarshal(b []byte) error

type TpmInfo

type TpmInfo struct {
	TpmVersion   TpmVersion   `protobuf:"varint,1,opt,name=tpm_version,json=tpmVersion,proto3,enum=go_attestation.TpmVersion" json:"tpm_version,omitempty"`
	Manufacturer string       `protobuf:"bytes,2,opt,name=manufacturer,proto3" json:"manufacturer,omitempty"`
	TpmInterface TpmInterface `` /* 131-byte string literal not displayed */
	// This number represents the version of the support code which
	// interfaces with the TPM.
	TpmInterfaceVersion uint32 `protobuf:"varint,4,opt,name=tpm_interface_version,json=tpmInterfaceVersion,proto3" json:"tpm_interface_version,omitempty"` // Deprecated: Do not use.
	// This is the string provided by the TPM.
	TpmOpaqueInfo string `protobuf:"bytes,5,opt,name=tpm_opaque_info,json=tpmOpaqueInfo,proto3" json:"tpm_opaque_info,omitempty"`
	// This is set if challenges must be generated
	// in TrouSerS format for TPM 1.2 devices.
	TrousersFormat       bool     `protobuf:"varint,6,opt,name=trousers_format,json=trousersFormat,proto3" json:"trousers_format,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

TpmInfo encapsulates version / device information about the TPM, and how the attestation client interfaces with it.

func (*TpmInfo) Descriptor

func (*TpmInfo) Descriptor() ([]byte, []int)

func (*TpmInfo) GetManufacturer

func (m *TpmInfo) GetManufacturer() string

func (*TpmInfo) GetTpmInterface

func (m *TpmInfo) GetTpmInterface() TpmInterface

func (*TpmInfo) GetTpmInterfaceVersion deprecated

func (m *TpmInfo) GetTpmInterfaceVersion() uint32

Deprecated: Do not use.

func (*TpmInfo) GetTpmOpaqueInfo

func (m *TpmInfo) GetTpmOpaqueInfo() string

func (*TpmInfo) GetTpmVersion

func (m *TpmInfo) GetTpmVersion() TpmVersion

func (*TpmInfo) GetTrousersFormat

func (m *TpmInfo) GetTrousersFormat() bool

func (*TpmInfo) ProtoMessage

func (*TpmInfo) ProtoMessage()

func (*TpmInfo) Reset

func (m *TpmInfo) Reset()

func (*TpmInfo) String

func (m *TpmInfo) String() string

func (*TpmInfo) XXX_DiscardUnknown

func (m *TpmInfo) XXX_DiscardUnknown()

func (*TpmInfo) XXX_Marshal

func (m *TpmInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TpmInfo) XXX_Merge

func (m *TpmInfo) XXX_Merge(src proto.Message)

func (*TpmInfo) XXX_Size

func (m *TpmInfo) XXX_Size() int

func (*TpmInfo) XXX_Unmarshal

func (m *TpmInfo) XXX_Unmarshal(b []byte) error

type TpmInterface

type TpmInterface int32
const (
	TpmInterface_TPM_INTERFACE_UNSPECIFIED TpmInterface = 0
	TpmInterface_DIRECT                    TpmInterface = 1
	TpmInterface_KERNEL_MANAGED            TpmInterface = 2
	TpmInterface_DAEMON_MANAGED            TpmInterface = 3
)

func (TpmInterface) EnumDescriptor

func (TpmInterface) EnumDescriptor() ([]byte, []int)

func (TpmInterface) String

func (x TpmInterface) String() string

type TpmVersion

type TpmVersion int32
const (
	TpmVersion_TPM_VERSION_UNSPECIFIED TpmVersion = 0
	TpmVersion_TPM_12                  TpmVersion = 1
	TpmVersion_TPM_20                  TpmVersion = 2
)

func (TpmVersion) EnumDescriptor

func (TpmVersion) EnumDescriptor() ([]byte, []int)

func (TpmVersion) String

func (x TpmVersion) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL