Add Nix flake for mciasctl and mciasgrpcctl
Vendor dependencies and expose control program binaries via nix build. Uses nixpkgs-unstable for Go 1.26 support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
718
vendor/github.com/google/go-tpm/tpm2/constants.go
generated
vendored
Normal file
718
vendor/github.com/google/go-tpm/tpm2/constants.go
generated
vendored
Normal file
@@ -0,0 +1,718 @@
|
||||
package tpm2
|
||||
|
||||
//go:generate stringer -trimprefix=TPM -type=TPMAlgID,TPMECCCurve,TPMCC,TPMRC,TPMEO,TPMST,TPMCap,TPMPT,TPMPTPCR,TPMHT,TPMHandle,TPMNT -output=constants_string.go constants.go
|
||||
|
||||
import (
|
||||
|
||||
// Register the relevant hash implementations.
|
||||
_ "crypto/sha1"
|
||||
_ "crypto/sha256"
|
||||
_ "crypto/sha512"
|
||||
)
|
||||
|
||||
// TPMAlgID represents a TPM_ALG_ID.
|
||||
// See definition in Part 2: Structures, section 6.3.
|
||||
type TPMAlgID uint16
|
||||
|
||||
// TPMAlgID values come from Part 2: Structures, section 6.3.
|
||||
const (
|
||||
TPMAlgRSA TPMAlgID = 0x0001
|
||||
TPMAlgTDES TPMAlgID = 0x0003
|
||||
TPMAlgSHA1 TPMAlgID = 0x0004
|
||||
TPMAlgHMAC TPMAlgID = 0x0005
|
||||
TPMAlgAES TPMAlgID = 0x0006
|
||||
TPMAlgMGF1 TPMAlgID = 0x0007
|
||||
TPMAlgKeyedHash TPMAlgID = 0x0008
|
||||
TPMAlgXOR TPMAlgID = 0x000A
|
||||
TPMAlgSHA256 TPMAlgID = 0x000B
|
||||
TPMAlgSHA384 TPMAlgID = 0x000C
|
||||
TPMAlgSHA512 TPMAlgID = 0x000D
|
||||
TPMAlgSHA256192 TPMAlgID = 0x000E
|
||||
TPMAlgNull TPMAlgID = 0x0010
|
||||
TPMAlgSM3256 TPMAlgID = 0x0012
|
||||
TPMAlgSM4 TPMAlgID = 0x0013
|
||||
TPMAlgRSASSA TPMAlgID = 0x0014
|
||||
TPMAlgRSAES TPMAlgID = 0x0015
|
||||
TPMAlgRSAPSS TPMAlgID = 0x0016
|
||||
TPMAlgOAEP TPMAlgID = 0x0017
|
||||
TPMAlgECDSA TPMAlgID = 0x0018
|
||||
TPMAlgECDH TPMAlgID = 0x0019
|
||||
TPMAlgECDAA TPMAlgID = 0x001A
|
||||
TPMAlgSM2 TPMAlgID = 0x001B
|
||||
TPMAlgECSchnorr TPMAlgID = 0x001C
|
||||
TPMAlgECMQV TPMAlgID = 0x001D
|
||||
TPMAlgKDF1SP80056A TPMAlgID = 0x0020
|
||||
TPMAlgKDF2 TPMAlgID = 0x0021
|
||||
TPMAlgKDF1SP800108 TPMAlgID = 0x0022
|
||||
TPMAlgECC TPMAlgID = 0x0023
|
||||
TPMAlgSymCipher TPMAlgID = 0x0025
|
||||
TPMAlgCamellia TPMAlgID = 0x0026
|
||||
TPMAlgSHA3256 TPMAlgID = 0x0027
|
||||
TPMAlgSHA3384 TPMAlgID = 0x0028
|
||||
TPMAlgSHA3512 TPMAlgID = 0x0029
|
||||
TPMAlgSHAKE128 TPMAlgID = 0x002A
|
||||
TPMAlgSHAKE256 TPMAlgID = 0x002B
|
||||
TPMAlgSHAKE256192 TPMAlgID = 0x002C
|
||||
TPMAlgSHAKE256256 TPMAlgID = 0x002D
|
||||
TPMAlgSHAKE256512 TPMAlgID = 0x002E
|
||||
TPMAlgCMAC TPMAlgID = 0x003F
|
||||
TPMAlgCTR TPMAlgID = 0x0040
|
||||
TPMAlgOFB TPMAlgID = 0x0041
|
||||
TPMAlgCBC TPMAlgID = 0x0042
|
||||
TPMAlgCFB TPMAlgID = 0x0043
|
||||
TPMAlgECB TPMAlgID = 0x0044
|
||||
TPMAlgCCM TPMAlgID = 0x0050
|
||||
TPMAlgGCM TPMAlgID = 0x0051
|
||||
TPMAlgKW TPMAlgID = 0x0052
|
||||
TPMAlgKWP TPMAlgID = 0x0053
|
||||
TPMAlgEAX TPMAlgID = 0x0054
|
||||
TPMAlgEDDSA TPMAlgID = 0x0060
|
||||
TPMAlgEDDSAPH TPMAlgID = 0x0061
|
||||
TPMAlgLMS TPMAlgID = 0x0070
|
||||
TPMAlgXMSS TPMAlgID = 0x0071
|
||||
TPMAlgKEYEDXOF TPMAlgID = 0x0080
|
||||
TPMAlgKMACXOF128 TPMAlgID = 0x0081
|
||||
TPMAlgKMACXOF256 TPMAlgID = 0x0082
|
||||
TPMAlgKMAC128 TPMAlgID = 0x0090
|
||||
TPMAlgKMAC256 TPMAlgID = 0x0091
|
||||
)
|
||||
|
||||
// TPMECCCurve represents a TPM_ECC_Curve.
|
||||
// See definition in Part 2: Structures, section 6.4.
|
||||
type TPMECCCurve uint16
|
||||
|
||||
// TPMECCCurve values come from Part 2: Structures, section 6.4.
|
||||
const (
|
||||
TPMECCNone TPMECCCurve = 0x0000
|
||||
TPMECCNistP192 TPMECCCurve = 0x0001
|
||||
TPMECCNistP224 TPMECCCurve = 0x0002
|
||||
TPMECCNistP256 TPMECCCurve = 0x0003
|
||||
TPMECCNistP384 TPMECCCurve = 0x0004
|
||||
TPMECCNistP521 TPMECCCurve = 0x0005
|
||||
TPMECCBNP256 TPMECCCurve = 0x0010
|
||||
TPMECCBNP638 TPMECCCurve = 0x0011
|
||||
TPMECCSM2P256 TPMECCCurve = 0x0020
|
||||
TPMECCBrainpoolP256R1 TPMECCCurve = 0x0030
|
||||
TPMECCBrainpoolP384R1 TPMECCCurve = 0x0031
|
||||
TPMECCBrainpoolP512R1 TPMECCCurve = 0x0032
|
||||
TPMECCCurve25519 TPMECCCurve = 0x0040
|
||||
TPMECCCurve448 TPMECCCurve = 0x0041
|
||||
)
|
||||
|
||||
// TPMCC represents a TPM_CC.
|
||||
// See definition in Part 2: Structures, section 6.5.2.
|
||||
type TPMCC uint32
|
||||
|
||||
// TPMCC values come from Part 2: Structures, section 6.5.2.
|
||||
const (
|
||||
TPMCCNVUndefineSpaceSpecial TPMCC = 0x0000011F
|
||||
TPMCCEvictControl TPMCC = 0x00000120
|
||||
TPMCCHierarchyControl TPMCC = 0x00000121
|
||||
TPMCCNVUndefineSpace TPMCC = 0x00000122
|
||||
TPMCCChangeEPS TPMCC = 0x00000124
|
||||
TPMCCChangePPS TPMCC = 0x00000125
|
||||
TPMCCClear TPMCC = 0x00000126
|
||||
TPMCCClearControl TPMCC = 0x00000127
|
||||
TPMCCClockSet TPMCC = 0x00000128
|
||||
TPMCCHierarchyChanegAuth TPMCC = 0x00000129
|
||||
TPMCCNVDefineSpace TPMCC = 0x0000012A
|
||||
TPMCCPCRAllocate TPMCC = 0x0000012B
|
||||
TPMCCPCRSetAuthPolicy TPMCC = 0x0000012C
|
||||
TPMCCPPCommands TPMCC = 0x0000012D
|
||||
TPMCCSetPrimaryPolicy TPMCC = 0x0000012E
|
||||
TPMCCFieldUpgradeStart TPMCC = 0x0000012F
|
||||
TPMCCClockRateAdjust TPMCC = 0x00000130
|
||||
TPMCCCreatePrimary TPMCC = 0x00000131
|
||||
TPMCCNVGlobalWriteLock TPMCC = 0x00000132
|
||||
TPMCCGetCommandAuditDigest TPMCC = 0x00000133
|
||||
TPMCCNVIncrement TPMCC = 0x00000134
|
||||
TPMCCNVSetBits TPMCC = 0x00000135
|
||||
TPMCCNVExtend TPMCC = 0x00000136
|
||||
TPMCCNVWrite TPMCC = 0x00000137
|
||||
TPMCCNVWriteLock TPMCC = 0x00000138
|
||||
TPMCCDictionaryAttackLockReset TPMCC = 0x00000139
|
||||
TPMCCDictionaryAttackParameters TPMCC = 0x0000013A
|
||||
TPMCCNVChangeAuth TPMCC = 0x0000013B
|
||||
TPMCCPCREvent TPMCC = 0x0000013C
|
||||
TPMCCPCRReset TPMCC = 0x0000013D
|
||||
TPMCCSequenceComplete TPMCC = 0x0000013E
|
||||
TPMCCSetAlgorithmSet TPMCC = 0x0000013F
|
||||
TPMCCSetCommandCodeAuditStatus TPMCC = 0x00000140
|
||||
TPMCCFieldUpgradeData TPMCC = 0x00000141
|
||||
TPMCCIncrementalSelfTest TPMCC = 0x00000142
|
||||
TPMCCSelfTest TPMCC = 0x00000143
|
||||
TPMCCStartup TPMCC = 0x00000144
|
||||
TPMCCShutdown TPMCC = 0x00000145
|
||||
TPMCCStirRandom TPMCC = 0x00000146
|
||||
TPMCCActivateCredential TPMCC = 0x00000147
|
||||
TPMCCCertify TPMCC = 0x00000148
|
||||
TPMCCPolicyNV TPMCC = 0x00000149
|
||||
TPMCCCertifyCreation TPMCC = 0x0000014A
|
||||
TPMCCDuplicate TPMCC = 0x0000014B
|
||||
TPMCCGetTime TPMCC = 0x0000014C
|
||||
TPMCCGetSessionAuditDigest TPMCC = 0x0000014D
|
||||
TPMCCNVRead TPMCC = 0x0000014E
|
||||
TPMCCNVReadLock TPMCC = 0x0000014F
|
||||
TPMCCObjectChangeAuth TPMCC = 0x00000150
|
||||
TPMCCPolicySecret TPMCC = 0x00000151
|
||||
TPMCCRewrap TPMCC = 0x00000152
|
||||
TPMCCCreate TPMCC = 0x00000153
|
||||
TPMCCECDHZGen TPMCC = 0x00000154
|
||||
TPMCCMAC TPMCC = 0x00000155
|
||||
TPMCCImport TPMCC = 0x00000156
|
||||
TPMCCLoad TPMCC = 0x00000157
|
||||
TPMCCQuote TPMCC = 0x00000158
|
||||
TPMCCRSADecrypt TPMCC = 0x00000159
|
||||
TPMCCMACStart TPMCC = 0x0000015B
|
||||
TPMCCSequenceUpdate TPMCC = 0x0000015C
|
||||
TPMCCSign TPMCC = 0x0000015D
|
||||
TPMCCUnseal TPMCC = 0x0000015E
|
||||
TPMCCPolicySigned TPMCC = 0x00000160
|
||||
TPMCCContextLoad TPMCC = 0x00000161
|
||||
TPMCCContextSave TPMCC = 0x00000162
|
||||
TPMCCECDHKeyGen TPMCC = 0x00000163
|
||||
TPMCCEncryptDecrypt TPMCC = 0x00000164
|
||||
TPMCCFlushContext TPMCC = 0x00000165
|
||||
TPMCCLoadExternal TPMCC = 0x00000167
|
||||
TPMCCMakeCredential TPMCC = 0x00000168
|
||||
TPMCCNVReadPublic TPMCC = 0x00000169
|
||||
TPMCCPolicyAuthorize TPMCC = 0x0000016A
|
||||
TPMCCPolicyAuthValue TPMCC = 0x0000016B
|
||||
TPMCCPolicyCommandCode TPMCC = 0x0000016C
|
||||
TPMCCPolicyCounterTimer TPMCC = 0x0000016D
|
||||
TPMCCPolicyCpHash TPMCC = 0x0000016E
|
||||
TPMCCPolicyLocality TPMCC = 0x0000016F
|
||||
TPMCCPolicyNameHash TPMCC = 0x00000170
|
||||
TPMCCPolicyOR TPMCC = 0x00000171
|
||||
TPMCCPolicyTicket TPMCC = 0x00000172
|
||||
TPMCCReadPublic TPMCC = 0x00000173
|
||||
TPMCCRSAEncrypt TPMCC = 0x00000174
|
||||
TPMCCStartAuthSession TPMCC = 0x00000176
|
||||
TPMCCVerifySignature TPMCC = 0x00000177
|
||||
TPMCCECCParameters TPMCC = 0x00000178
|
||||
TPMCCFirmwareRead TPMCC = 0x00000179
|
||||
TPMCCGetCapability TPMCC = 0x0000017A
|
||||
TPMCCGetRandom TPMCC = 0x0000017B
|
||||
TPMCCGetTestResult TPMCC = 0x0000017C
|
||||
TPMCCHash TPMCC = 0x0000017D
|
||||
TPMCCPCRRead TPMCC = 0x0000017E
|
||||
TPMCCPolicyPCR TPMCC = 0x0000017F
|
||||
TPMCCPolicyRestart TPMCC = 0x00000180
|
||||
TPMCCReadClock TPMCC = 0x00000181
|
||||
TPMCCPCRExtend TPMCC = 0x00000182
|
||||
TPMCCPCRSetAuthValue TPMCC = 0x00000183
|
||||
TPMCCNVCertify TPMCC = 0x00000184
|
||||
TPMCCEventSequenceComplete TPMCC = 0x00000185
|
||||
TPMCCHashSequenceStart TPMCC = 0x00000186
|
||||
TPMCCPolicyPhysicalPresence TPMCC = 0x00000187
|
||||
TPMCCPolicyDuplicationSelect TPMCC = 0x00000188
|
||||
TPMCCPolicyGetDigest TPMCC = 0x00000189
|
||||
TPMCCTestParms TPMCC = 0x0000018A
|
||||
TPMCCCommit TPMCC = 0x0000018B
|
||||
TPMCCPolicyPassword TPMCC = 0x0000018C
|
||||
TPMCCZGen2Phase TPMCC = 0x0000018D
|
||||
TPMCCECEphemeral TPMCC = 0x0000018E
|
||||
TPMCCPolicyNvWritten TPMCC = 0x0000018F
|
||||
TPMCCPolicyTemplate TPMCC = 0x00000190
|
||||
TPMCCCreateLoaded TPMCC = 0x00000191
|
||||
TPMCCPolicyAuthorizeNV TPMCC = 0x00000192
|
||||
TPMCCEncryptDecrypt2 TPMCC = 0x00000193
|
||||
TPMCCACGetCapability TPMCC = 0x00000194
|
||||
TPMCCACSend TPMCC = 0x00000195
|
||||
TPMCCPolicyACSendSelect TPMCC = 0x00000196
|
||||
TPMCCCertifyX509 TPMCC = 0x00000197
|
||||
TPMCCACTSetTimeout TPMCC = 0x00000198
|
||||
)
|
||||
|
||||
// TPMRC represents a TPM_RC.
|
||||
// See definition in Part 2: Structures, section 6.6.
|
||||
type TPMRC uint32
|
||||
|
||||
// TPMRC values come from Part 2: Structures, section 6.6.3.
|
||||
const (
|
||||
rcVer1 = 0x00000100
|
||||
rcFmt1 = 0x00000080
|
||||
rcWarn = 0x00000900
|
||||
rcP = 0x00000040
|
||||
rcS = 0x00000800
|
||||
TPMRCSuccess TPMRC = 0x00000000
|
||||
// FMT0 error codes
|
||||
TPMRCInitialize TPMRC = rcVer1 + 0x000
|
||||
TPMRCFailure TPMRC = rcVer1 + 0x001
|
||||
TPMRCSequence TPMRC = rcVer1 + 0x003
|
||||
TPMRCPrivate TPMRC = rcVer1 + 0x00B
|
||||
TPMRCHMAC TPMRC = rcVer1 + 0x019
|
||||
TPMRCDisabled TPMRC = rcVer1 + 0x020
|
||||
TPMRCExclusive TPMRC = rcVer1 + 0x021
|
||||
TPMRCAuthType TPMRC = rcVer1 + 0x024
|
||||
TPMRCAuthMissing TPMRC = rcVer1 + 0x025
|
||||
TPMRCPolicy TPMRC = rcVer1 + 0x026
|
||||
TPMRCPCR TPMRC = rcVer1 + 0x027
|
||||
TPMRCPCRChanged TPMRC = rcVer1 + 0x028
|
||||
TPMRCUpgrade TPMRC = rcVer1 + 0x02D
|
||||
TPMRCTooManyContexts TPMRC = rcVer1 + 0x02E
|
||||
TPMRCAuthUnavailable TPMRC = rcVer1 + 0x02F
|
||||
TPMRCReboot TPMRC = rcVer1 + 0x030
|
||||
TPMRCUnbalanced TPMRC = rcVer1 + 0x031
|
||||
TPMRCCommandSize TPMRC = rcVer1 + 0x042
|
||||
TPMRCCommandCode TPMRC = rcVer1 + 0x043
|
||||
TPMRCAuthSize TPMRC = rcVer1 + 0x044
|
||||
TPMRCAuthContext TPMRC = rcVer1 + 0x045
|
||||
TPMRCNVRange TPMRC = rcVer1 + 0x046
|
||||
TPMRCNVSize TPMRC = rcVer1 + 0x047
|
||||
TPMRCNVLocked TPMRC = rcVer1 + 0x048
|
||||
TPMRCNVAuthorization TPMRC = rcVer1 + 0x049
|
||||
TPMRCNVUninitialized TPMRC = rcVer1 + 0x04A
|
||||
TPMRCNVSpace TPMRC = rcVer1 + 0x04B
|
||||
TPMRCNVDefined TPMRC = rcVer1 + 0x04C
|
||||
TPMRCBadContext TPMRC = rcVer1 + 0x050
|
||||
TPMRCCPHash TPMRC = rcVer1 + 0x051
|
||||
TPMRCParent TPMRC = rcVer1 + 0x052
|
||||
TPMRCNeedsTest TPMRC = rcVer1 + 0x053
|
||||
TPMRCNoResult TPMRC = rcVer1 + 0x054
|
||||
TPMRCSensitive TPMRC = rcVer1 + 0x055
|
||||
// FMT1 error codes
|
||||
TPMRCAsymmetric TPMRC = rcFmt1 + 0x001
|
||||
TPMRCAttributes TPMRC = rcFmt1 + 0x002
|
||||
TPMRCHash TPMRC = rcFmt1 + 0x003
|
||||
TPMRCValue TPMRC = rcFmt1 + 0x004
|
||||
TPMRCHierarchy TPMRC = rcFmt1 + 0x005
|
||||
TPMRCKeySize TPMRC = rcFmt1 + 0x007
|
||||
TPMRCMGF TPMRC = rcFmt1 + 0x008
|
||||
TPMRCMode TPMRC = rcFmt1 + 0x009
|
||||
TPMRCType TPMRC = rcFmt1 + 0x00A
|
||||
TPMRCHandle TPMRC = rcFmt1 + 0x00B
|
||||
TPMRCKDF TPMRC = rcFmt1 + 0x00C
|
||||
TPMRCRange TPMRC = rcFmt1 + 0x00D
|
||||
TPMRCAuthFail TPMRC = rcFmt1 + 0x00E
|
||||
TPMRCNonce TPMRC = rcFmt1 + 0x00F
|
||||
TPMRCPP TPMRC = rcFmt1 + 0x010
|
||||
TPMRCScheme TPMRC = rcFmt1 + 0x012
|
||||
TPMRCSize TPMRC = rcFmt1 + 0x015
|
||||
TPMRCSymmetric TPMRC = rcFmt1 + 0x016
|
||||
TPMRCTag TPMRC = rcFmt1 + 0x017
|
||||
TPMRCSelector TPMRC = rcFmt1 + 0x018
|
||||
TPMRCInsufficient TPMRC = rcFmt1 + 0x01A
|
||||
TPMRCSignature TPMRC = rcFmt1 + 0x01B
|
||||
TPMRCKey TPMRC = rcFmt1 + 0x01C
|
||||
TPMRCPolicyFail TPMRC = rcFmt1 + 0x01D
|
||||
TPMRCIntegrity TPMRC = rcFmt1 + 0x01F
|
||||
TPMRCTicket TPMRC = rcFmt1 + 0x020
|
||||
TPMRCReservedBits TPMRC = rcFmt1 + 0x021
|
||||
TPMRCBadAuth TPMRC = rcFmt1 + 0x022
|
||||
TPMRCExpired TPMRC = rcFmt1 + 0x023
|
||||
TPMRCPolicyCC TPMRC = rcFmt1 + 0x024
|
||||
TPMRCBinding TPMRC = rcFmt1 + 0x025
|
||||
TPMRCCurve TPMRC = rcFmt1 + 0x026
|
||||
TPMRCECCPoint TPMRC = rcFmt1 + 0x027
|
||||
// Warnings
|
||||
TPMRCContextGap TPMRC = rcWarn + 0x001
|
||||
TPMRCObjectMemory TPMRC = rcWarn + 0x002
|
||||
TPMRCSessionMemory TPMRC = rcWarn + 0x003
|
||||
TPMRCMemory TPMRC = rcWarn + 0x004
|
||||
TPMRCSessionHandles TPMRC = rcWarn + 0x005
|
||||
TPMRCObjectHandles TPMRC = rcWarn + 0x006
|
||||
TPMRCLocality TPMRC = rcWarn + 0x007
|
||||
TPMRCYielded TPMRC = rcWarn + 0x008
|
||||
TPMRCCanceled TPMRC = rcWarn + 0x009
|
||||
TPMRCTesting TPMRC = rcWarn + 0x00A
|
||||
TPMRCReferenceH0 TPMRC = rcWarn + 0x010
|
||||
TPMRCReferenceH1 TPMRC = rcWarn + 0x011
|
||||
TPMRCReferenceH2 TPMRC = rcWarn + 0x012
|
||||
TPMRCReferenceH3 TPMRC = rcWarn + 0x013
|
||||
TPMRCReferenceH4 TPMRC = rcWarn + 0x014
|
||||
TPMRCReferenceH5 TPMRC = rcWarn + 0x015
|
||||
TPMRCReferenceH6 TPMRC = rcWarn + 0x016
|
||||
TPMRCReferenceS0 TPMRC = rcWarn + 0x018
|
||||
TPMRCReferenceS1 TPMRC = rcWarn + 0x019
|
||||
TPMRCReferenceS2 TPMRC = rcWarn + 0x01A
|
||||
TPMRCReferenceS3 TPMRC = rcWarn + 0x01B
|
||||
TPMRCReferenceS4 TPMRC = rcWarn + 0x01C
|
||||
TPMRCReferenceS5 TPMRC = rcWarn + 0x01D
|
||||
TPMRCReferenceS6 TPMRC = rcWarn + 0x01E
|
||||
TPMRCNVRate TPMRC = rcWarn + 0x020
|
||||
TPMRCLockout TPMRC = rcWarn + 0x021
|
||||
TPMRCRetry TPMRC = rcWarn + 0x022
|
||||
TPMRCNVUnavailable TPMRC = rcWarn + 0x023
|
||||
)
|
||||
|
||||
// TPMEO represents a TPM_EO.
|
||||
// See definition in Part 2: Structures, section 6.8.
|
||||
type TPMEO uint16
|
||||
|
||||
// TPMEO values come from Part 2: Structures, section 6.8.
|
||||
const (
|
||||
TPMEOEq TPMEO = 0x0000
|
||||
TPMEONeq TPMEO = 0x0001
|
||||
TPMEOSignedGT TPMEO = 0x0002
|
||||
TPMEOUnsignedGT TPMEO = 0x0003
|
||||
TPMEOSignedLT TPMEO = 0x0004
|
||||
TPMEOUnsignedLT TPMEO = 0x0005
|
||||
TPMEOSignedGE TPMEO = 0x0006
|
||||
TPMEOUnsignedGE TPMEO = 0x0007
|
||||
TPMEOSignedLE TPMEO = 0x0008
|
||||
TPMEOUnsignedLE TPMEO = 0x0009
|
||||
TPMEOBitSet TPMEO = 0x000A
|
||||
TPMEOBitClear TPMEO = 0x000B
|
||||
)
|
||||
|
||||
// TPMST represents a TPM_ST.
|
||||
// See definition in Part 2: Structures, section 6.9.
|
||||
type TPMST uint16
|
||||
|
||||
// TPMST values come from Part 2: Structures, section 6.9.
|
||||
const (
|
||||
TPMSTRspCommand TPMST = 0x00C4
|
||||
TPMSTNull TPMST = 0x8000
|
||||
TPMSTNoSessions TPMST = 0x8001
|
||||
TPMSTSessions TPMST = 0x8002
|
||||
TPMSTAttestNV TPMST = 0x8014
|
||||
TPMSTAttestCommandAudit TPMST = 0x8015
|
||||
TPMSTAttestSessionAudit TPMST = 0x8016
|
||||
TPMSTAttestCertify TPMST = 0x8017
|
||||
TPMSTAttestQuote TPMST = 0x8018
|
||||
TPMSTAttestTime TPMST = 0x8019
|
||||
TPMSTAttestCreation TPMST = 0x801A
|
||||
TPMSTAttestNVDigest TPMST = 0x801C
|
||||
TPMSTCreation TPMST = 0x8021
|
||||
TPMSTVerified TPMST = 0x8022
|
||||
TPMSTAuthSecret TPMST = 0x8023
|
||||
TPMSTHashCheck TPMST = 0x8024
|
||||
TPMSTAuthSigned TPMST = 0x8025
|
||||
TPMSTFuManifest TPMST = 0x8029
|
||||
)
|
||||
|
||||
// TPMSU represents a TPM_SU.
|
||||
// See definition in Part 2: Structures, section 6.10.
|
||||
type TPMSU uint16
|
||||
|
||||
// TPMSU values come from Part 2: Structures, section 6.10.
|
||||
const (
|
||||
TPMSUClear TPMSU = 0x0000
|
||||
TPMSUState TPMSU = 0x0001
|
||||
)
|
||||
|
||||
// TPMSE represents a TPM_SE.
|
||||
// See definition in Part 2: Structures, section 6.11.
|
||||
type TPMSE uint8
|
||||
|
||||
// TPMSE values come from Part 2: Structures, section 6.11.
|
||||
const (
|
||||
TPMSEHMAC TPMSE = 0x00
|
||||
TPMSEPolicy TPMSE = 0x01
|
||||
TPMSETrial TPMSE = 0x03
|
||||
)
|
||||
|
||||
// TPMCap represents a TPM_CAP.
|
||||
// See definition in Part 2: Structures, section 6.12.
|
||||
type TPMCap uint32
|
||||
|
||||
// TPMCap values come from Part 2: Structures, section 6.12.
|
||||
const (
|
||||
TPMCapAlgs TPMCap = 0x00000000
|
||||
TPMCapHandles TPMCap = 0x00000001
|
||||
TPMCapCommands TPMCap = 0x00000002
|
||||
TPMCapPPCommands TPMCap = 0x00000003
|
||||
TPMCapAuditCommands TPMCap = 0x00000004
|
||||
TPMCapPCRs TPMCap = 0x00000005
|
||||
TPMCapTPMProperties TPMCap = 0x00000006
|
||||
TPMCapPCRProperties TPMCap = 0x00000007
|
||||
TPMCapECCCurves TPMCap = 0x00000008
|
||||
TPMCapAuthPolicies TPMCap = 0x00000009
|
||||
TPMCapACT TPMCap = 0x0000000A
|
||||
)
|
||||
|
||||
// TPMPT represents a TPM_PT.
|
||||
// See definition in Part 2: Structures, section 6.13.
|
||||
type TPMPT uint32
|
||||
|
||||
// TPMPT values come from Part 2: Structures, section 6.13.
|
||||
const (
|
||||
// a 4-octet character string containing the TPM Family value
|
||||
// (TPM_SPEC_FAMILY)
|
||||
TPMPTFamilyIndicator TPMPT = 0x00000100
|
||||
// the level of the specification
|
||||
TPMPTLevel TPMPT = 0x00000101
|
||||
// the specification Revision times 100
|
||||
TPMPTRevision TPMPT = 0x00000102
|
||||
// the specification day of year using TCG calendar
|
||||
TPMPTDayofYear TPMPT = 0x00000103
|
||||
// the specification year using the CE
|
||||
TPMPTYear TPMPT = 0x00000104
|
||||
// the vendor ID unique to each TPM manufacturer
|
||||
TPMPTManufacturer TPMPT = 0x00000105
|
||||
// the first four characters of the vendor ID string
|
||||
TPMPTVendorString1 TPMPT = 0x00000106
|
||||
// the second four characters of the vendor ID string
|
||||
TPMPTVendorString2 TPMPT = 0x00000107
|
||||
// the third four characters of the vendor ID string
|
||||
TPMPTVendorString3 TPMPT = 0x00000108
|
||||
// the fourth four characters of the vendor ID sting
|
||||
TPMPTVendorString4 TPMPT = 0x00000109
|
||||
// vendor-defined value indicating the TPM model
|
||||
TPMPTVendorTPMType TPMPT = 0x0000010A
|
||||
// the most-significant 32 bits of a TPM vendor-specific value
|
||||
// indicating the version number of the firmware.
|
||||
TPMPTFirmwareVersion1 TPMPT = 0x0000010B
|
||||
// the least-significant 32 bits of a TPM vendor-specific value
|
||||
// indicating the version number of the firmware.
|
||||
TPMPTFirmwareVersion2 TPMPT = 0x0000010C
|
||||
// the maximum size of a parameter TPM2B_MAX_BUFFER)
|
||||
TPMPTInputBuffer TPMPT = 0x0000010D
|
||||
// the minimum number of transient objects that can be held in TPM RAM
|
||||
TPMPTHRTransientMin TPMPT = 0x0000010E
|
||||
// the minimum number of persistent objects that can be held in TPM NV
|
||||
// memory
|
||||
TPMPTHRPersistentMin TPMPT = 0x0000010F
|
||||
// the minimum number of authorization sessions that can be held in TPM
|
||||
// RAM
|
||||
TPMPTHRLoadedMin TPMPT = 0x00000110
|
||||
// the number of authorization sessions that may be active at a time
|
||||
TPMPTActiveSessionsMax TPMPT = 0x00000111
|
||||
// the number of PCR implemented
|
||||
TPMPTPCRCount TPMPT = 0x00000112
|
||||
// the minimum number of octets in a TPMS_PCR_SELECT.sizeOfSelect
|
||||
TPMPTPCRSelectMin TPMPT = 0x00000113
|
||||
// the maximum allowed difference (unsigned) between the contextID
|
||||
// values of two saved session contexts
|
||||
TPMPTContextGapMax TPMPT = 0x00000114
|
||||
// the maximum number of NV Indexes that are allowed to have the
|
||||
// TPM_NT_COUNTER attribute
|
||||
TPMPTNVCountersMax TPMPT = 0x00000116
|
||||
// the maximum size of an NV Index data area
|
||||
TPMPTNVIndexMax TPMPT = 0x00000117
|
||||
// a TPMA_MEMORY indicating the memory management method for the TPM
|
||||
TPMPTMemory TPMPT = 0x00000118
|
||||
// interval, in milliseconds, between updates to the copy of
|
||||
// TPMS_CLOCK_INFO.clock in NV
|
||||
TPMPTClockUpdate TPMPT = 0x00000119
|
||||
// the algorithm used for the integrity HMAC on saved contexts and for
|
||||
// hashing the fuData of TPM2_FirmwareRead()
|
||||
TPMPTContextHash TPMPT = 0x0000011A
|
||||
// TPM_ALG_ID, the algorithm used for encryption of saved contexts
|
||||
TPMPTContextSym TPMPT = 0x0000011B
|
||||
// TPM_KEY_BITS, the size of the key used for encryption of saved
|
||||
// contexts
|
||||
TPMPTContextSymSize TPMPT = 0x0000011C
|
||||
// the modulus - 1 of the count for NV update of an orderly counter
|
||||
TPMPTOrderlyCount TPMPT = 0x0000011D
|
||||
// the maximum value for commandSize in a command
|
||||
TPMPTMaxCommandSize TPMPT = 0x0000011E
|
||||
// the maximum value for responseSize in a response
|
||||
TPMPTMaxResponseSize TPMPT = 0x0000011F
|
||||
// the maximum size of a digest that can be produced by the TPM
|
||||
TPMPTMaxDigest TPMPT = 0x00000120
|
||||
// the maximum size of an object context that will be returned by
|
||||
// TPM2_ContextSave
|
||||
TPMPTMaxObjectContext TPMPT = 0x00000121
|
||||
// the maximum size of a session context that will be returned by
|
||||
// TPM2_ContextSave
|
||||
TPMPTMaxSessionContext TPMPT = 0x00000122
|
||||
// platform-specific family (a TPM_PS value)(see Table 25)
|
||||
TPMPTPSFamilyIndicator TPMPT = 0x00000123
|
||||
// the level of the platform-specific specification
|
||||
TPMPTPSLevel TPMPT = 0x00000124
|
||||
// a platform specific value
|
||||
TPMPTPSRevision TPMPT = 0x00000125
|
||||
// the platform-specific TPM specification day of year using TCG
|
||||
// calendar
|
||||
TPMPTPSDayOfYear TPMPT = 0x00000126
|
||||
// the platform-specific TPM specification year using the CE
|
||||
TPMPTPSYear TPMPT = 0x00000127
|
||||
// the number of split signing operations supported by the TPM
|
||||
TPMPTSplitMax TPMPT = 0x00000128
|
||||
// total number of commands implemented in the TPM
|
||||
TPMPTTotalCommands TPMPT = 0x00000129
|
||||
// number of commands from the TPM library that are implemented
|
||||
TPMPTLibraryCommands TPMPT = 0x0000012A
|
||||
// number of vendor commands that are implemented
|
||||
TPMPTVendorCommands TPMPT = 0x0000012B
|
||||
// the maximum data size in one NV write, NV read, NV extend, or NV
|
||||
// certify command
|
||||
TPMPTNVBufferMax TPMPT = 0x0000012C
|
||||
// a TPMA_MODES value, indicating that the TPM is designed for these
|
||||
// modes.
|
||||
TPMPTModes TPMPT = 0x0000012D
|
||||
// the maximum size of a TPMS_CAPABILITY_DATA structure returned in
|
||||
// TPM2_GetCapability().
|
||||
TPMPTMaxCapBuffer TPMPT = 0x0000012E
|
||||
// TPMA_PERMANENT
|
||||
TPMPTPermanent TPMPT = 0x00000200
|
||||
// TPMA_STARTUP_CLEAR
|
||||
TPMPTStartupClear TPMPT = 0x00000201
|
||||
// the number of NV Indexes currently defined
|
||||
TPMPTHRNVIndex TPMPT = 0x00000202
|
||||
// the number of authorization sessions currently loaded into TPM RAM
|
||||
TPMPTHRLoaded TPMPT = 0x00000203
|
||||
// the number of additional authorization sessions, of any type, that
|
||||
// could be loaded into TPM RAM
|
||||
TPMPTHRLoadedAvail TPMPT = 0x00000204
|
||||
// the number of active authorization sessions currently being tracked
|
||||
// by the TPM
|
||||
TPMPTHRActive TPMPT = 0x00000205
|
||||
// the number of additional authorization sessions, of any type, that
|
||||
// could be created
|
||||
TPMPTHRActiveAvail TPMPT = 0x00000206
|
||||
// estimate of the number of additional transient objects that could be
|
||||
// loaded into TPM RAM
|
||||
TPMPTHRTransientAvail TPMPT = 0x00000207
|
||||
// the number of persistent objects currently loaded into TPM NV memory
|
||||
TPMPTHRPersistent TPMPT = 0x00000208
|
||||
// the number of additional persistent objects that could be loaded into
|
||||
// NV memory
|
||||
TPMPTHRPersistentAvail TPMPT = 0x00000209
|
||||
// the number of defined NV Indexes that have NV the TPM_NT_COUNTER
|
||||
// attribute
|
||||
TPMPTNVCounters TPMPT = 0x0000020A
|
||||
// the number of additional NV Indexes that can be defined with their
|
||||
// TPM_NT of TPM_NV_COUNTER and the TPMA_NV_ORDERLY attribute SET
|
||||
TPMPTNVCountersAvail TPMPT = 0x0000020B
|
||||
// code that limits the algorithms that may be used with the TPM
|
||||
TPMPTAlgorithmSet TPMPT = 0x0000020C
|
||||
// the number of loaded ECC curves
|
||||
TPMPTLoadedCurves TPMPT = 0x0000020D
|
||||
// the current value of the lockout counter (failedTries)
|
||||
TPMPTLockoutCounter TPMPT = 0x0000020E
|
||||
// the number of authorization failures before DA lockout is invoked
|
||||
TPMPTMaxAuthFail TPMPT = 0x0000020F
|
||||
// the number of seconds before the value reported by
|
||||
// TPM_PT_LOCKOUT_COUNTER is decremented
|
||||
TPMPTLockoutInterval TPMPT = 0x00000210
|
||||
// the number of seconds after a lockoutAuth failure before use of
|
||||
// lockoutAuth may be attempted again
|
||||
TPMPTLockoutRecovery TPMPT = 0x00000211
|
||||
// number of milliseconds before the TPM will accept another command
|
||||
// that will modify NV
|
||||
TPMPTNVWriteRecovery TPMPT = 0x00000212
|
||||
// the high-order 32 bits of the command audit counter
|
||||
TPMPTAuditCounter0 TPMPT = 0x00000213
|
||||
// the low-order 32 bits of the command audit counter
|
||||
TPMPTAuditCounter1 TPMPT = 0x00000214
|
||||
)
|
||||
|
||||
// TPMPTPCR represents a TPM_PT_PCR.
|
||||
// See definition in Part 2: Structures, section 6.14.
|
||||
type TPMPTPCR uint32
|
||||
|
||||
// TPMPTPCR values come from Part 2: Structures, section 6.14.
|
||||
const (
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR is saved and
|
||||
// restored by TPM_SU_STATE
|
||||
TPMPTPCRSave TPMPTPCR = 0x00000000
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be
|
||||
// extended from locality 0
|
||||
TPMPTPCRExtendL0 TPMPTPCR = 0x00000001
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be reset
|
||||
// by TPM2_PCR_Reset() from locality 0
|
||||
TPMPTPCRResetL0 TPMPTPCR = 0x00000002
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be
|
||||
// extended from locality 1
|
||||
TPMPTPCRExtendL1 TPMPTPCR = 0x00000003
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be reset
|
||||
// by TPM2_PCR_Reset() from locality 1
|
||||
TPMPTPCRResetL1 TPMPTPCR = 0x00000004
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be
|
||||
// extended from locality 2
|
||||
TPMPTPCRExtendL2 TPMPTPCR = 0x00000005
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be reset
|
||||
// by TPM2_PCR_Reset() from locality 2
|
||||
TPMPTPCRResetL2 TPMPTPCR = 0x00000006
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be
|
||||
// extended from locality 3
|
||||
TPMPTPCRExtendL3 TPMPTPCR = 0x00000007
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be reset
|
||||
// by TPM2_PCR_Reset() from locality 3
|
||||
TPMPTPCRResetL3 TPMPTPCR = 0x00000008
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be
|
||||
// extended from locality 4
|
||||
TPMPTPCRExtendL4 TPMPTPCR = 0x00000009
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR may be reset
|
||||
// by TPM2_PCR_Reset() from locality 4
|
||||
TPMPTPCRResetL4 TPMPTPCR = 0x0000000A
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that modifications to this
|
||||
// PCR (reset or Extend) will not increment the pcrUpdateCounter
|
||||
TPMPTPCRNoIncrement TPMPTPCR = 0x00000011
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR is reset by a
|
||||
// D-RTM event
|
||||
TPMPTPCRDRTMRest TPMPTPCR = 0x00000012
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR is controlled
|
||||
// by policy
|
||||
TPMPTPCRPolicy TPMPTPCR = 0x00000013
|
||||
// a SET bit in the TPMS_PCR_SELECT indicates that the PCR is controlled
|
||||
// by an authorization value
|
||||
TPMPTPCRAuth TPMPTPCR = 0x00000014
|
||||
)
|
||||
|
||||
// TPMHT represents a TPM_HT.
|
||||
// See definition in Part 2: Structures, section 7.2.
|
||||
type TPMHT uint8
|
||||
|
||||
// TPMHT values come from Part 2: Structures, section 7.2.
|
||||
const (
|
||||
TPMHTPCR TPMHT = 0x00
|
||||
TPMHTNVIndex TPMHT = 0x01
|
||||
TPMHTHMACSession TPMHT = 0x02
|
||||
TPMHTPolicySession TPMHT = 0x03
|
||||
TPMHTPermanent TPMHT = 0x40
|
||||
TPMHTTransient TPMHT = 0x80
|
||||
TPMHTPersistent TPMHT = 0x81
|
||||
TPMHTAC TPMHT = 0x90
|
||||
)
|
||||
|
||||
// Saved Context transient object handles.
|
||||
// See definition in Part 2: Structures, section 14.6.2
|
||||
// Context Handle Values come from table 211
|
||||
const (
|
||||
// an ordinary transient object
|
||||
TPMIDHSavedTransient TPMIDHSaved = 0x80000000
|
||||
// a sequence object
|
||||
TPMIDHSavedSequence TPMIDHSaved = 0x80000001
|
||||
// a transient object with the stClear attribute SET
|
||||
TPMIDHSavedTransientClear TPMIDHSaved = 0x80000002
|
||||
)
|
||||
|
||||
// TPMHandle represents a TPM_HANDLE.
|
||||
// See definition in Part 2: Structures, section 7.1.
|
||||
type TPMHandle uint32
|
||||
|
||||
// TPMHandle values come from Part 2: Structures, section 7.4.
|
||||
const (
|
||||
TPMRHOwner TPMHandle = 0x40000001
|
||||
TPMRHNull TPMHandle = 0x40000007
|
||||
TPMRSPW TPMHandle = 0x40000009
|
||||
TPMRHLockout TPMHandle = 0x4000000A
|
||||
TPMRHEndorsement TPMHandle = 0x4000000B
|
||||
TPMRHPlatform TPMHandle = 0x4000000C
|
||||
TPMRHPlatformNV TPMHandle = 0x4000000D
|
||||
TPMRHFWOwner TPMHandle = 0x40000140
|
||||
TPMRHFWEndorsement TPMHandle = 0x40000141
|
||||
TPMRHFWPlatform TPMHandle = 0x40000142
|
||||
TPMRHFWNull TPMHandle = 0x40000143
|
||||
)
|
||||
|
||||
// TPMNT represents a TPM_NT.
|
||||
// See definition in Part 2: Structures, section 13.4.
|
||||
type TPMNT uint8
|
||||
|
||||
// TPMNT values come from Part 2: Structures, section 13.2.
|
||||
const (
|
||||
// contains data that is opaque to the TPM that can only be modified
|
||||
// using TPM2_NV_Write().
|
||||
TPMNTOrdinary TPMNT = 0x0
|
||||
// contains an 8-octet value that is to be used as a counter and can
|
||||
// only be modified with TPM2_NV_Increment()
|
||||
TPMNTCounter TPMNT = 0x1
|
||||
// contains an 8-octet value to be used as a bit field and can only be
|
||||
// modified with TPM2_NV_SetBits().
|
||||
TPMNTBits TPMNT = 0x2
|
||||
// contains a digest-sized value used like a PCR. The Index can only be
|
||||
// modified using TPM2_NV_Extend(). The extend will use the nameAlg of
|
||||
// the Index.
|
||||
TPMNTExtend TPMNT = 0x4
|
||||
// contains pinCount that increments on a PIN authorization failure and
|
||||
// a pinLimit
|
||||
TPMNTPinFail TPMNT = 0x8
|
||||
// contains pinCount that increments on a PIN authorization success and
|
||||
// a pinLimit
|
||||
TPMNTPinPass TPMNT = 0x9
|
||||
)
|
||||
Reference in New Issue
Block a user