25 #define SHA1_DIGEST_SIZE 20 26 #define SHA1_BLOCK_SIZE 64 29 #define SHA256_DIGEST_SIZE 32 30 #define SHA256_BLOCK_SIZE 64 33 #define SHA384_DIGEST_SIZE 48 34 #define SHA384_BLOCK_SIZE 128 37 #define SHA512_DIGEST_SIZE 64 38 #define SHA512_BLOCK_SIZE 128 41 #define SM3_256_DIGEST_SIZE 32 42 #define SM3_256_BLOCK_SIZE 64 45 #define MAX_SESSION_NUMBER 3 56 #define MAX_RSA_KEY_BITS 2048 57 #define MAX_RSA_KEY_BYTES ((MAX_RSA_KEY_BITS + 7) / 8) 60 #define MAX_ECC_KEY_BITS 256 61 #define MAX_ECC_KEY_BYTES ((MAX_ECC_KEY_BITS + 7) / 8) 64 #define MAX_AES_KEY_BITS 128 65 #define MAX_AES_BLOCK_SIZE_BYTES 16 66 #define MAX_AES_KEY_BYTES ((MAX_AES_KEY_BITS + 7) / 8) 69 #define MAX_SM4_KEY_BITS 128 70 #define MAX_SM4_BLOCK_SIZE_BYTES 16 71 #define MAX_SM4_KEY_BYTES ((MAX_SM4_KEY_BITS + 7) / 8) 74 #define MAX_SYM_KEY_BITS MAX_AES_KEY_BITS 75 #define MAX_SYM_KEY_BYTES MAX_AES_KEY_BYTES 76 #define MAX_SYM_BLOCK_SIZE MAX_AES_BLOCK_SIZE_BYTES 80 #define BUFFER_ALIGNMENT 4 81 #define IMPLEMENTATION_PCR 24 82 #define PLATFORM_PCR 24 84 #define NUM_LOCALITIES 5 85 #define MAX_HANDLE_NUM 3 86 #define MAX_ACTIVE_SESSIONS 64 89 #define MAX_LOADED_SESSIONS 3 90 #define MAX_SESSION_NUM 3 91 #define MAX_LOADED_OBJECTS 3 92 #define MIN_EVICT_OBJECTS 2 93 #define PCR_SELECT_MIN ((PLATFORM_PCR + 7) / 8) 94 #define PCR_SELECT_MAX ((IMPLEMENTATION_PCR + 7) / 8) 95 #define NUM_POLICY_PCR_GROUP 1 96 #define NUM_AUTHVALUE_PCR_GROUP 1 97 #define MAX_CONTEXT_SIZE 4000 98 #define MAX_DIGEST_BUFFER 1024 99 #define MAX_NV_INDEX_SIZE 1024 100 #define MAX_CAP_BUFFER 1024 101 #define NV_MEMORY_SIZE 16384 102 #define NUM_STATIC_PCR 16 103 #define MAX_ALG_LIST_SIZE 64 104 #define TIMER_PRESCALE 100000 105 #define PRIMARY_SEED_SIZE 32 106 #define CONTEXT_ENCRYPT_ALG TPM_ALG_AES 107 #define CONTEXT_ENCRYPT_KEY_BITS MAX_SYM_KEY_BITS 108 #define CONTEXT_ENCRYPT_KEY_BYTES ((CONTEXT_ENCRYPT_KEY_BITS + 7) / 8) 109 #define CONTEXT_INTEGRITY_HASH_ALG TPM_ALG_SHA256 110 #define CONTEXT_INTEGRITY_HASH_SIZE SHA256_DIGEST_SIZE 111 #define PROOF_SIZE CONTEXT_INTEGRITY_HASH_SIZE 112 #define NV_CLOCK_UPDATE_INTERVAL 12 113 #define NUM_POLICY_PCR 1 114 #define MAX_COMMAND_SIZE 4096 115 #define MAX_RESPONSE_SIZE 4096 116 #define ORDERLY_BITS 8 117 #define MAX_ORDERLY_COUNT ((1 << ORDERLY_BITS) - 1) 118 #define ALG_ID_FIRST TPM_ALG_FIRST 119 #define ALG_ID_LAST TPM_ALG_LAST 120 #define MAX_SYM_DATA 128 121 #define MAX_RNG_ENTROPY_SIZE 64 122 #define RAM_INDEX_SPACE 512 123 #define RSA_DEFAULT_PUBLIC_EXPONENT 0x00010001 124 #define CRT_FORMAT_RSA YES 125 #define PRIVATE_VENDOR_SPECIFIC_BYTES ((MAX_RSA_KEY_BYTES / 2) * ( 3 + CRT_FORMAT_RSA * 2)) 128 #define MAX_CAP_DATA (MAX_CAP_BUFFER - sizeof(TPM_CAP) - sizeof(UINT32)) 129 #define MAX_CAP_ALGS (MAX_CAP_DATA / sizeof(TPMS_ALG_PROPERTY)) 130 #define MAX_CAP_HANDLES (MAX_CAP_DATA / sizeof(TPM_HANDLE)) 131 #define MAX_CAP_CC (MAX_CAP_DATA / sizeof(TPM_CC)) 132 #define MAX_TPM_PROPERTIES (MAX_CAP_DATA / sizeof(TPMS_TAGGED_PROPERTY)) 133 #define MAX_PCR_PROPERTIES (MAX_CAP_DATA / sizeof(TPMS_TAGGED_PCR_SELECT)) 134 #define MAX_ECC_CURVES (MAX_CAP_DATA / sizeof(TPM_ECC_CURVE)) 161 #define TPM_GENERATED_VALUE (TPM_GENERATED)(0xff544347) 168 #define TPM_ALG_ERROR (TPM_ALG_ID)(0x0000) 169 #define TPM_ALG_FIRST (TPM_ALG_ID)(0x0001) 172 #define TPM_ALG_SHA1 (TPM_ALG_ID)(0x0004) 174 #define TPM_ALG_AES (TPM_ALG_ID)(0x0006) 176 #define TPM_ALG_KEYEDHASH (TPM_ALG_ID)(0x0008) 178 #define TPM_ALG_SHA256 (TPM_ALG_ID)(0x000B) 179 #define TPM_ALG_SHA384 (TPM_ALG_ID)(0x000C) 180 #define TPM_ALG_SHA512 (TPM_ALG_ID)(0x000D) 181 #define TPM_ALG_NULL (TPM_ALG_ID)(0x0010) 182 #define TPM_ALG_SM3_256 (TPM_ALG_ID)(0x0012) 183 #define TPM_ALG_SM4 (TPM_ALG_ID)(0x0013) 184 #define TPM_ALG_RSASSA (TPM_ALG_ID)(0x0014) 185 #define TPM_ALG_RSAES (TPM_ALG_ID)(0x0015) 186 #define TPM_ALG_RSAPSS (TPM_ALG_ID)(0x0016) 187 #define TPM_ALG_OAEP (TPM_ALG_ID)(0x0017) 188 #define TPM_ALG_ECDSA (TPM_ALG_ID)(0x0018) 189 #define TPM_ALG_ECDH (TPM_ALG_ID)(0x0019) 190 #define TPM_ALG_ECDAA (TPM_ALG_ID)(0x001A) 191 #define TPM_ALG_SM2 (TPM_ALG_ID)(0x001B) 192 #define TPM_ALG_ECSCHNORR (TPM_ALG_ID)(0x001C) 193 #define TPM_ALG_ECMQV (TPM_ALG_ID)(0x001D) 194 #define TPM_ALG_KDF1_SP800_56a (TPM_ALG_ID)(0x0020) 195 #define TPM_ALG_KDF2 (TPM_ALG_ID)(0x0021) 196 #define TPM_ALG_KDF1_SP800_108 (TPM_ALG_ID)(0x0022) 197 #define TPM_ALG_ECC (TPM_ALG_ID)(0x0023) 198 #define TPM_ALG_SYMCIPHER (TPM_ALG_ID)(0x0025) 199 #define TPM_ALG_CTR (TPM_ALG_ID)(0x0040) 200 #define TPM_ALG_OFB (TPM_ALG_ID)(0x0041) 201 #define TPM_ALG_CBC (TPM_ALG_ID)(0x0042) 202 #define TPM_ALG_CFB (TPM_ALG_ID)(0x0043) 203 #define TPM_ALG_ECB (TPM_ALG_ID)(0x0044) 204 #define TPM_ALG_LAST (TPM_ALG_ID)(0x0044) 208 #define TPM_ECC_NONE (TPM_ECC_CURVE)(0x0000) 209 #define TPM_ECC_NIST_P192 (TPM_ECC_CURVE)(0x0001) 210 #define TPM_ECC_NIST_P224 (TPM_ECC_CURVE)(0x0002) 211 #define TPM_ECC_NIST_P256 (TPM_ECC_CURVE)(0x0003) 212 #define TPM_ECC_NIST_P384 (TPM_ECC_CURVE)(0x0004) 213 #define TPM_ECC_NIST_P521 (TPM_ECC_CURVE)(0x0005) 214 #define TPM_ECC_BN_P256 (TPM_ECC_CURVE)(0x0010) 215 #define TPM_ECC_BN_P638 (TPM_ECC_CURVE)(0x0011) 216 #define TPM_ECC_SM2_P256 (TPM_ECC_CURVE)(0x0020) 217 #define TPM_ECC_BP_P512_R1 (TPM_ECC_CURVE)(0x0032) 221 #define TPM_CC_FIRST (TPM_CC)(0x0000011F) 222 #define TPM_CC_PP_FIRST (TPM_CC)(0x0000011F) 223 #define TPM_CC_NV_UndefineSpaceSpecial (TPM_CC)(0x0000011F) 224 #define TPM_CC_EvictControl (TPM_CC)(0x00000120) 225 #define TPM_CC_HierarchyControl (TPM_CC)(0x00000121) 226 #define TPM_CC_NV_UndefineSpace (TPM_CC)(0x00000122) 227 #define TPM_CC_ChangeEPS (TPM_CC)(0x00000124) 228 #define TPM_CC_ChangePPS (TPM_CC)(0x00000125) 229 #define TPM_CC_Clear (TPM_CC)(0x00000126) 230 #define TPM_CC_ClearControl (TPM_CC)(0x00000127) 231 #define TPM_CC_ClockSet (TPM_CC)(0x00000128) 232 #define TPM_CC_HierarchyChangeAuth (TPM_CC)(0x00000129) 233 #define TPM_CC_NV_DefineSpace (TPM_CC)(0x0000012A) 234 #define TPM_CC_PCR_Allocate (TPM_CC)(0x0000012B) 235 #define TPM_CC_PCR_SetAuthPolicy (TPM_CC)(0x0000012C) 236 #define TPM_CC_PP_Commands (TPM_CC)(0x0000012D) 237 #define TPM_CC_SetPrimaryPolicy (TPM_CC)(0x0000012E) 238 #define TPM_CC_FieldUpgradeStart (TPM_CC)(0x0000012F) 239 #define TPM_CC_ClockRateAdjust (TPM_CC)(0x00000130) 240 #define TPM_CC_CreatePrimary (TPM_CC)(0x00000131) 241 #define TPM_CC_NV_GlobalWriteLock (TPM_CC)(0x00000132) 242 #define TPM_CC_PP_LAST (TPM_CC)(0x00000132) 243 #define TPM_CC_GetCommandAuditDigest (TPM_CC)(0x00000133) 244 #define TPM_CC_NV_Increment (TPM_CC)(0x00000134) 245 #define TPM_CC_NV_SetBits (TPM_CC)(0x00000135) 246 #define TPM_CC_NV_Extend (TPM_CC)(0x00000136) 247 #define TPM_CC_NV_Write (TPM_CC)(0x00000137) 248 #define TPM_CC_NV_WriteLock (TPM_CC)(0x00000138) 249 #define TPM_CC_DictionaryAttackLockReset (TPM_CC)(0x00000139) 250 #define TPM_CC_DictionaryAttackParameters (TPM_CC)(0x0000013A) 251 #define TPM_CC_NV_ChangeAuth (TPM_CC)(0x0000013B) 252 #define TPM_CC_PCR_Event (TPM_CC)(0x0000013C) 253 #define TPM_CC_PCR_Reset (TPM_CC)(0x0000013D) 254 #define TPM_CC_SequenceComplete (TPM_CC)(0x0000013E) 255 #define TPM_CC_SetAlgorithmSet (TPM_CC)(0x0000013F) 256 #define TPM_CC_SetCommandCodeAuditStatus (TPM_CC)(0x00000140) 257 #define TPM_CC_FieldUpgradeData (TPM_CC)(0x00000141) 258 #define TPM_CC_IncrementalSelfTest (TPM_CC)(0x00000142) 259 #define TPM_CC_SelfTest (TPM_CC)(0x00000143) 260 #define TPM_CC_Startup (TPM_CC)(0x00000144) 261 #define TPM_CC_Shutdown (TPM_CC)(0x00000145) 262 #define TPM_CC_StirRandom (TPM_CC)(0x00000146) 263 #define TPM_CC_ActivateCredential (TPM_CC)(0x00000147) 264 #define TPM_CC_Certify (TPM_CC)(0x00000148) 265 #define TPM_CC_PolicyNV (TPM_CC)(0x00000149) 266 #define TPM_CC_CertifyCreation (TPM_CC)(0x0000014A) 267 #define TPM_CC_Duplicate (TPM_CC)(0x0000014B) 268 #define TPM_CC_GetTime (TPM_CC)(0x0000014C) 269 #define TPM_CC_GetSessionAuditDigest (TPM_CC)(0x0000014D) 270 #define TPM_CC_NV_Read (TPM_CC)(0x0000014E) 271 #define TPM_CC_NV_ReadLock (TPM_CC)(0x0000014F) 272 #define TPM_CC_ObjectChangeAuth (TPM_CC)(0x00000150) 273 #define TPM_CC_PolicySecret (TPM_CC)(0x00000151) 274 #define TPM_CC_Rewrap (TPM_CC)(0x00000152) 275 #define TPM_CC_Create (TPM_CC)(0x00000153) 276 #define TPM_CC_ECDH_ZGen (TPM_CC)(0x00000154) 277 #define TPM_CC_HMAC (TPM_CC)(0x00000155) 278 #define TPM_CC_Import (TPM_CC)(0x00000156) 279 #define TPM_CC_Load (TPM_CC)(0x00000157) 280 #define TPM_CC_Quote (TPM_CC)(0x00000158) 281 #define TPM_CC_RSA_Decrypt (TPM_CC)(0x00000159) 282 #define TPM_CC_HMAC_Start (TPM_CC)(0x0000015B) 283 #define TPM_CC_SequenceUpdate (TPM_CC)(0x0000015C) 284 #define TPM_CC_Sign (TPM_CC)(0x0000015D) 285 #define TPM_CC_Unseal (TPM_CC)(0x0000015E) 286 #define TPM_CC_PolicySigned (TPM_CC)(0x00000160) 287 #define TPM_CC_ContextLoad (TPM_CC)(0x00000161) 288 #define TPM_CC_ContextSave (TPM_CC)(0x00000162) 289 #define TPM_CC_ECDH_KeyGen (TPM_CC)(0x00000163) 290 #define TPM_CC_EncryptDecrypt (TPM_CC)(0x00000164) 291 #define TPM_CC_FlushContext (TPM_CC)(0x00000165) 292 #define TPM_CC_LoadExternal (TPM_CC)(0x00000167) 293 #define TPM_CC_MakeCredential (TPM_CC)(0x00000168) 294 #define TPM_CC_NV_ReadPublic (TPM_CC)(0x00000169) 295 #define TPM_CC_PolicyAuthorize (TPM_CC)(0x0000016A) 296 #define TPM_CC_PolicyAuthValue (TPM_CC)(0x0000016B) 297 #define TPM_CC_PolicyCommandCode (TPM_CC)(0x0000016C) 298 #define TPM_CC_PolicyCounterTimer (TPM_CC)(0x0000016D) 299 #define TPM_CC_PolicyCpHash (TPM_CC)(0x0000016E) 300 #define TPM_CC_PolicyLocality (TPM_CC)(0x0000016F) 301 #define TPM_CC_PolicyNameHash (TPM_CC)(0x00000170) 302 #define TPM_CC_PolicyOR (TPM_CC)(0x00000171) 303 #define TPM_CC_PolicyTicket (TPM_CC)(0x00000172) 304 #define TPM_CC_ReadPublic (TPM_CC)(0x00000173) 305 #define TPM_CC_RSA_Encrypt (TPM_CC)(0x00000174) 306 #define TPM_CC_StartAuthSession (TPM_CC)(0x00000176) 307 #define TPM_CC_VerifySignature (TPM_CC)(0x00000177) 308 #define TPM_CC_ECC_Parameters (TPM_CC)(0x00000178) 309 #define TPM_CC_FirmwareRead (TPM_CC)(0x00000179) 310 #define TPM_CC_GetCapability (TPM_CC)(0x0000017A) 311 #define TPM_CC_GetRandom (TPM_CC)(0x0000017B) 312 #define TPM_CC_GetTestResult (TPM_CC)(0x0000017C) 313 #define TPM_CC_Hash (TPM_CC)(0x0000017D) 314 #define TPM_CC_PCR_Read (TPM_CC)(0x0000017E) 315 #define TPM_CC_PolicyPCR (TPM_CC)(0x0000017F) 316 #define TPM_CC_PolicyRestart (TPM_CC)(0x00000180) 317 #define TPM_CC_ReadClock (TPM_CC)(0x00000181) 318 #define TPM_CC_PCR_Extend (TPM_CC)(0x00000182) 319 #define TPM_CC_PCR_SetAuthValue (TPM_CC)(0x00000183) 320 #define TPM_CC_NV_Certify (TPM_CC)(0x00000184) 321 #define TPM_CC_EventSequenceComplete (TPM_CC)(0x00000185) 322 #define TPM_CC_HashSequenceStart (TPM_CC)(0x00000186) 323 #define TPM_CC_PolicyPhysicalPresence (TPM_CC)(0x00000187) 324 #define TPM_CC_PolicyDuplicationSelect (TPM_CC)(0x00000188) 325 #define TPM_CC_PolicyGetDigest (TPM_CC)(0x00000189) 326 #define TPM_CC_TestParms (TPM_CC)(0x0000018A) 327 #define TPM_CC_Commit (TPM_CC)(0x0000018B) 328 #define TPM_CC_PolicyPassword (TPM_CC)(0x0000018C) 329 #define TPM_CC_ZGen_2Phase (TPM_CC)(0x0000018D) 330 #define TPM_CC_EC_Ephemeral (TPM_CC)(0x0000018E) 331 #define TPM_CC_LAST (TPM_CC)(0x0000018E) 335 #define TPM_RC_SUCCESS (TPM_RC)(0x000) 336 #define TPM_RC_BAD_TAG (TPM_RC)(0x030) 337 #define RC_VER1 (TPM_RC)(0x100) 338 #define TPM_RC_INITIALIZE (TPM_RC)(RC_VER1 + 0x000) 339 #define TPM_RC_FAILURE (TPM_RC)(RC_VER1 + 0x001) 340 #define TPM_RC_SEQUENCE (TPM_RC)(RC_VER1 + 0x003) 341 #define TPM_RC_PRIVATE (TPM_RC)(RC_VER1 + 0x00B) 342 #define TPM_RC_HMAC (TPM_RC)(RC_VER1 + 0x019) 343 #define TPM_RC_DISABLED (TPM_RC)(RC_VER1 + 0x020) 344 #define TPM_RC_EXCLUSIVE (TPM_RC)(RC_VER1 + 0x021) 345 #define TPM_RC_AUTH_TYPE (TPM_RC)(RC_VER1 + 0x024) 346 #define TPM_RC_AUTH_MISSING (TPM_RC)(RC_VER1 + 0x025) 347 #define TPM_RC_POLICY (TPM_RC)(RC_VER1 + 0x026) 348 #define TPM_RC_PCR (TPM_RC)(RC_VER1 + 0x027) 349 #define TPM_RC_PCR_CHANGED (TPM_RC)(RC_VER1 + 0x028) 350 #define TPM_RC_UPGRADE (TPM_RC)(RC_VER1 + 0x02D) 351 #define TPM_RC_TOO_MANY_CONTEXTS (TPM_RC)(RC_VER1 + 0x02E) 352 #define TPM_RC_AUTH_UNAVAILABLE (TPM_RC)(RC_VER1 + 0x02F) 353 #define TPM_RC_REBOOT (TPM_RC)(RC_VER1 + 0x030) 354 #define TPM_RC_UNBALANCED (TPM_RC)(RC_VER1 + 0x031) 355 #define TPM_RC_COMMAND_SIZE (TPM_RC)(RC_VER1 + 0x042) 356 #define TPM_RC_COMMAND_CODE (TPM_RC)(RC_VER1 + 0x043) 357 #define TPM_RC_AUTHSIZE (TPM_RC)(RC_VER1 + 0x044) 358 #define TPM_RC_AUTH_CONTEXT (TPM_RC)(RC_VER1 + 0x045) 359 #define TPM_RC_NV_RANGE (TPM_RC)(RC_VER1 + 0x046) 360 #define TPM_RC_NV_SIZE (TPM_RC)(RC_VER1 + 0x047) 361 #define TPM_RC_NV_LOCKED (TPM_RC)(RC_VER1 + 0x048) 362 #define TPM_RC_NV_AUTHORIZATION (TPM_RC)(RC_VER1 + 0x049) 363 #define TPM_RC_NV_UNINITIALIZED (TPM_RC)(RC_VER1 + 0x04A) 364 #define TPM_RC_NV_SPACE (TPM_RC)(RC_VER1 + 0x04B) 365 #define TPM_RC_NV_DEFINED (TPM_RC)(RC_VER1 + 0x04C) 366 #define TPM_RC_BAD_CONTEXT (TPM_RC)(RC_VER1 + 0x050) 367 #define TPM_RC_CPHASH (TPM_RC)(RC_VER1 + 0x051) 368 #define TPM_RC_PARENT (TPM_RC)(RC_VER1 + 0x052) 369 #define TPM_RC_NEEDS_TEST (TPM_RC)(RC_VER1 + 0x053) 370 #define TPM_RC_NO_RESULT (TPM_RC)(RC_VER1 + 0x054) 371 #define TPM_RC_SENSITIVE (TPM_RC)(RC_VER1 + 0x055) 372 #define RC_MAX_FM0 (TPM_RC)(RC_VER1 + 0x07F) 373 #define RC_FMT1 (TPM_RC)(0x080) 374 #define TPM_RC_ASYMMETRIC (TPM_RC)(RC_FMT1 + 0x001) 375 #define TPM_RC_ATTRIBUTES (TPM_RC)(RC_FMT1 + 0x002) 376 #define TPM_RC_HASH (TPM_RC)(RC_FMT1 + 0x003) 377 #define TPM_RC_VALUE (TPM_RC)(RC_FMT1 + 0x004) 378 #define TPM_RC_HIERARCHY (TPM_RC)(RC_FMT1 + 0x005) 379 #define TPM_RC_KEY_SIZE (TPM_RC)(RC_FMT1 + 0x007) 380 #define TPM_RC_MGF (TPM_RC)(RC_FMT1 + 0x008) 381 #define TPM_RC_MODE (TPM_RC)(RC_FMT1 + 0x009) 382 #define TPM_RC_TYPE (TPM_RC)(RC_FMT1 + 0x00A) 383 #define TPM_RC_HANDLE (TPM_RC)(RC_FMT1 + 0x00B) 384 #define TPM_RC_KDF (TPM_RC)(RC_FMT1 + 0x00C) 385 #define TPM_RC_RANGE (TPM_RC)(RC_FMT1 + 0x00D) 386 #define TPM_RC_AUTH_FAIL (TPM_RC)(RC_FMT1 + 0x00E) 387 #define TPM_RC_NONCE (TPM_RC)(RC_FMT1 + 0x00F) 388 #define TPM_RC_PP (TPM_RC)(RC_FMT1 + 0x010) 389 #define TPM_RC_SCHEME (TPM_RC)(RC_FMT1 + 0x012) 390 #define TPM_RC_SIZE (TPM_RC)(RC_FMT1 + 0x015) 391 #define TPM_RC_SYMMETRIC (TPM_RC)(RC_FMT1 + 0x016) 392 #define TPM_RC_TAG (TPM_RC)(RC_FMT1 + 0x017) 393 #define TPM_RC_SELECTOR (TPM_RC)(RC_FMT1 + 0x018) 394 #define TPM_RC_INSUFFICIENT (TPM_RC)(RC_FMT1 + 0x01A) 395 #define TPM_RC_SIGNATURE (TPM_RC)(RC_FMT1 + 0x01B) 396 #define TPM_RC_KEY (TPM_RC)(RC_FMT1 + 0x01C) 397 #define TPM_RC_POLICY_FAIL (TPM_RC)(RC_FMT1 + 0x01D) 398 #define TPM_RC_INTEGRITY (TPM_RC)(RC_FMT1 + 0x01F) 399 #define TPM_RC_TICKET (TPM_RC)(RC_FMT1 + 0x020) 400 #define TPM_RC_RESERVED_BITS (TPM_RC)(RC_FMT1 + 0x021) 401 #define TPM_RC_BAD_AUTH (TPM_RC)(RC_FMT1 + 0x022) 402 #define TPM_RC_EXPIRED (TPM_RC)(RC_FMT1 + 0x023) 403 #define TPM_RC_POLICY_CC (TPM_RC)(RC_FMT1 + 0x024 ) 404 #define TPM_RC_BINDING (TPM_RC)(RC_FMT1 + 0x025) 405 #define TPM_RC_CURVE (TPM_RC)(RC_FMT1 + 0x026) 406 #define TPM_RC_ECC_POINT (TPM_RC)(RC_FMT1 + 0x027) 407 #define RC_WARN (TPM_RC)(0x900) 408 #define TPM_RC_CONTEXT_GAP (TPM_RC)(RC_WARN + 0x001) 409 #define TPM_RC_OBJECT_MEMORY (TPM_RC)(RC_WARN + 0x002) 410 #define TPM_RC_SESSION_MEMORY (TPM_RC)(RC_WARN + 0x003) 411 #define TPM_RC_MEMORY (TPM_RC)(RC_WARN + 0x004) 412 #define TPM_RC_SESSION_HANDLES (TPM_RC)(RC_WARN + 0x005) 413 #define TPM_RC_OBJECT_HANDLES (TPM_RC)(RC_WARN + 0x006) 414 #define TPM_RC_LOCALITY (TPM_RC)(RC_WARN + 0x007) 415 #define TPM_RC_YIELDED (TPM_RC)(RC_WARN + 0x008) 416 #define TPM_RC_CANCELED (TPM_RC)(RC_WARN + 0x009) 417 #define TPM_RC_TESTING (TPM_RC)(RC_WARN + 0x00A) 418 #define TPM_RC_REFERENCE_H0 (TPM_RC)(RC_WARN + 0x010) 419 #define TPM_RC_REFERENCE_H1 (TPM_RC)(RC_WARN + 0x011) 420 #define TPM_RC_REFERENCE_H2 (TPM_RC)(RC_WARN + 0x012) 421 #define TPM_RC_REFERENCE_H3 (TPM_RC)(RC_WARN + 0x013) 422 #define TPM_RC_REFERENCE_H4 (TPM_RC)(RC_WARN + 0x014) 423 #define TPM_RC_REFERENCE_H5 (TPM_RC)(RC_WARN + 0x015) 424 #define TPM_RC_REFERENCE_H6 (TPM_RC)(RC_WARN + 0x016) 425 #define TPM_RC_REFERENCE_S0 (TPM_RC)(RC_WARN + 0x018) 426 #define TPM_RC_REFERENCE_S1 (TPM_RC)(RC_WARN + 0x019) 427 #define TPM_RC_REFERENCE_S2 (TPM_RC)(RC_WARN + 0x01A) 428 #define TPM_RC_REFERENCE_S3 (TPM_RC)(RC_WARN + 0x01B) 429 #define TPM_RC_REFERENCE_S4 (TPM_RC)(RC_WARN + 0x01C) 430 #define TPM_RC_REFERENCE_S5 (TPM_RC)(RC_WARN + 0x01D) 431 #define TPM_RC_REFERENCE_S6 (TPM_RC)(RC_WARN + 0x01E) 432 #define TPM_RC_NV_RATE (TPM_RC)(RC_WARN + 0x020) 433 #define TPM_RC_LOCKOUT (TPM_RC)(RC_WARN + 0x021) 434 #define TPM_RC_RETRY (TPM_RC)(RC_WARN + 0x022) 435 #define TPM_RC_NV_UNAVAILABLE (TPM_RC)(RC_WARN + 0x023) 436 #define TPM_RC_NOT_USED (TPM_RC)(RC_WARN + 0x7F) 437 #define TPM_RC_H (TPM_RC)(0x000) 438 #define TPM_RC_P (TPM_RC)(0x040) 439 #define TPM_RC_S (TPM_RC)(0x800) 440 #define TPM_RC_1 (TPM_RC)(0x100) 441 #define TPM_RC_2 (TPM_RC)(0x200) 442 #define TPM_RC_3 (TPM_RC)(0x300) 443 #define TPM_RC_4 (TPM_RC)(0x400) 444 #define TPM_RC_5 (TPM_RC)(0x500) 445 #define TPM_RC_6 (TPM_RC)(0x600) 446 #define TPM_RC_7 (TPM_RC)(0x700) 447 #define TPM_RC_8 (TPM_RC)(0x800) 448 #define TPM_RC_9 (TPM_RC)(0x900) 449 #define TPM_RC_A (TPM_RC)(0xA00) 450 #define TPM_RC_B (TPM_RC)(0xB00) 451 #define TPM_RC_C (TPM_RC)(0xC00) 452 #define TPM_RC_D (TPM_RC)(0xD00) 453 #define TPM_RC_E (TPM_RC)(0xE00) 454 #define TPM_RC_F (TPM_RC)(0xF00) 455 #define TPM_RC_N_MASK (TPM_RC)(0xF00) 459 #define TPM_CLOCK_COARSE_SLOWER (TPM_CLOCK_ADJUST)(-3) 460 #define TPM_CLOCK_MEDIUM_SLOWER (TPM_CLOCK_ADJUST)(-2) 461 #define TPM_CLOCK_FINE_SLOWER (TPM_CLOCK_ADJUST)(-1) 462 #define TPM_CLOCK_NO_CHANGE (TPM_CLOCK_ADJUST)(0) 463 #define TPM_CLOCK_FINE_FASTER (TPM_CLOCK_ADJUST)(1) 464 #define TPM_CLOCK_MEDIUM_FASTER (TPM_CLOCK_ADJUST)(2) 465 #define TPM_CLOCK_COARSE_FASTER (TPM_CLOCK_ADJUST)(3) 469 #define TPM_EO_EQ (TPM_EO)(0x0000) 470 #define TPM_EO_NEQ (TPM_EO)(0x0001) 471 #define TPM_EO_SIGNED_GT (TPM_EO)(0x0002) 472 #define TPM_EO_UNSIGNED_GT (TPM_EO)(0x0003) 473 #define TPM_EO_SIGNED_LT (TPM_EO)(0x0004) 474 #define TPM_EO_UNSIGNED_LT (TPM_EO)(0x0005) 475 #define TPM_EO_SIGNED_GE (TPM_EO)(0x0006) 476 #define TPM_EO_UNSIGNED_GE (TPM_EO)(0x0007) 477 #define TPM_EO_SIGNED_LE (TPM_EO)(0x0008) 478 #define TPM_EO_UNSIGNED_LE (TPM_EO)(0x0009) 479 #define TPM_EO_BITSET (TPM_EO)(0x000A) 480 #define TPM_EO_BITCLEAR (TPM_EO)(0x000B) 484 #define TPM_ST_RSP_COMMAND (TPM_ST)(0x00C4) 485 #define TPM_ST_NULL (TPM_ST)(0X8000) 486 #define TPM_ST_NO_SESSIONS (TPM_ST)(0x8001) 487 #define TPM_ST_SESSIONS (TPM_ST)(0x8002) 488 #define TPM_ST_ATTEST_NV (TPM_ST)(0x8014) 489 #define TPM_ST_ATTEST_COMMAND_AUDIT (TPM_ST)(0x8015) 490 #define TPM_ST_ATTEST_SESSION_AUDIT (TPM_ST)(0x8016) 491 #define TPM_ST_ATTEST_CERTIFY (TPM_ST)(0x8017) 492 #define TPM_ST_ATTEST_QUOTE (TPM_ST)(0x8018) 493 #define TPM_ST_ATTEST_TIME (TPM_ST)(0x8019) 494 #define TPM_ST_ATTEST_CREATION (TPM_ST)(0x801A) 495 #define TPM_ST_CREATION (TPM_ST)(0x8021) 496 #define TPM_ST_VERIFIED (TPM_ST)(0x8022) 497 #define TPM_ST_AUTH_SECRET (TPM_ST)(0x8023) 498 #define TPM_ST_HASHCHECK (TPM_ST)(0x8024) 499 #define TPM_ST_AUTH_SIGNED (TPM_ST)(0x8025) 500 #define TPM_ST_FU_MANIFEST (TPM_ST)(0x8029) 504 #define TPM_SU_CLEAR (TPM_SU)(0x0000) 505 #define TPM_SU_STATE (TPM_SU)(0x0001) 509 #define TPM_SE_HMAC (TPM_SE)(0x00) 510 #define TPM_SE_POLICY (TPM_SE)(0x01) 511 #define TPM_SE_TRIAL (TPM_SE)(0x03) 515 #define TPM_CAP_FIRST (TPM_CAP)(0x00000000) 516 #define TPM_CAP_ALGS (TPM_CAP)(0x00000000) 517 #define TPM_CAP_HANDLES (TPM_CAP)(0x00000001) 518 #define TPM_CAP_COMMANDS (TPM_CAP)(0x00000002) 519 #define TPM_CAP_PP_COMMANDS (TPM_CAP)(0x00000003) 520 #define TPM_CAP_AUDIT_COMMANDS (TPM_CAP)(0x00000004) 521 #define TPM_CAP_PCRS (TPM_CAP)(0x00000005) 522 #define TPM_CAP_TPM_PROPERTIES (TPM_CAP)(0x00000006) 523 #define TPM_CAP_PCR_PROPERTIES (TPM_CAP)(0x00000007) 524 #define TPM_CAP_ECC_CURVES (TPM_CAP)(0x00000008) 525 #define TPM_CAP_LAST (TPM_CAP)(0x00000008) 526 #define TPM_CAP_VENDOR_PROPERTY (TPM_CAP)(0x00000100) 530 #define TPM_PT_NONE (TPM_PT)(0x00000000) 531 #define PT_GROUP (TPM_PT)(0x00000100) 532 #define PT_FIXED (TPM_PT)(PT_GROUP * 1) 533 #define TPM_PT_FAMILY_INDICATOR (TPM_PT)(PT_FIXED + 0) 534 #define TPM_PT_LEVEL (TPM_PT)(PT_FIXED + 1) 535 #define TPM_PT_REVISION (TPM_PT)(PT_FIXED + 2) 536 #define TPM_PT_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 3) 537 #define TPM_PT_YEAR (TPM_PT)(PT_FIXED + 4) 538 #define TPM_PT_MANUFACTURER (TPM_PT)(PT_FIXED + 5) 539 #define TPM_PT_VENDOR_STRING_1 (TPM_PT)(PT_FIXED + 6) 540 #define TPM_PT_VENDOR_STRING_2 (TPM_PT)(PT_FIXED + 7) 541 #define TPM_PT_VENDOR_STRING_3 (TPM_PT)(PT_FIXED + 8) 542 #define TPM_PT_VENDOR_STRING_4 (TPM_PT)(PT_FIXED + 9) 543 #define TPM_PT_VENDOR_TPM_TYPE (TPM_PT)(PT_FIXED + 10) 544 #define TPM_PT_FIRMWARE_VERSION_1 (TPM_PT)(PT_FIXED + 11) 545 #define TPM_PT_FIRMWARE_VERSION_2 (TPM_PT)(PT_FIXED + 12) 546 #define TPM_PT_INPUT_BUFFER (TPM_PT)(PT_FIXED + 13) 547 #define TPM_PT_HR_TRANSIENT_MIN (TPM_PT)(PT_FIXED + 14) 548 #define TPM_PT_HR_PERSISTENT_MIN (TPM_PT)(PT_FIXED + 15) 549 #define TPM_PT_HR_LOADED_MIN (TPM_PT)(PT_FIXED + 16) 550 #define TPM_PT_ACTIVE_SESSIONS_MAX (TPM_PT)(PT_FIXED + 17) 551 #define TPM_PT_PCR_COUNT (TPM_PT)(PT_FIXED + 18) 552 #define TPM_PT_PCR_SELECT_MIN (TPM_PT)(PT_FIXED + 19) 553 #define TPM_PT_CONTEXT_GAP_MAX (TPM_PT)(PT_FIXED + 20) 554 #define TPM_PT_NV_COUNTERS_MAX (TPM_PT)(PT_FIXED + 22) 555 #define TPM_PT_NV_INDEX_MAX (TPM_PT)(PT_FIXED + 23) 556 #define TPM_PT_MEMORY (TPM_PT)(PT_FIXED + 24) 557 #define TPM_PT_CLOCK_UPDATE (TPM_PT)(PT_FIXED + 25) 558 #define TPM_PT_CONTEXT_HASH (TPM_PT)(PT_FIXED + 26) 559 #define TPM_PT_CONTEXT_SYM (TPM_PT)(PT_FIXED + 27) 560 #define TPM_PT_CONTEXT_SYM_SIZE (TPM_PT)(PT_FIXED + 28) 561 #define TPM_PT_ORDERLY_COUNT (TPM_PT)(PT_FIXED + 29) 562 #define TPM_PT_MAX_COMMAND_SIZE (TPM_PT)(PT_FIXED + 30) 563 #define TPM_PT_MAX_RESPONSE_SIZE (TPM_PT)(PT_FIXED + 31) 564 #define TPM_PT_MAX_DIGEST (TPM_PT)(PT_FIXED + 32) 565 #define TPM_PT_MAX_OBJECT_CONTEXT (TPM_PT)(PT_FIXED + 33) 566 #define TPM_PT_MAX_SESSION_CONTEXT (TPM_PT)(PT_FIXED + 34) 567 #define TPM_PT_PS_FAMILY_INDICATOR (TPM_PT)(PT_FIXED + 35) 568 #define TPM_PT_PS_LEVEL (TPM_PT)(PT_FIXED + 36) 569 #define TPM_PT_PS_REVISION (TPM_PT)(PT_FIXED + 37) 570 #define TPM_PT_PS_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 38) 571 #define TPM_PT_PS_YEAR (TPM_PT)(PT_FIXED + 39) 572 #define TPM_PT_SPLIT_MAX (TPM_PT)(PT_FIXED + 40) 573 #define TPM_PT_TOTAL_COMMANDS (TPM_PT)(PT_FIXED + 41) 574 #define TPM_PT_LIBRARY_COMMANDS (TPM_PT)(PT_FIXED + 42) 575 #define TPM_PT_VENDOR_COMMANDS (TPM_PT)(PT_FIXED + 43) 576 #define PT_VAR (TPM_PT)(PT_GROUP * 2) 577 #define TPM_PT_PERMANENT (TPM_PT)(PT_VAR + 0) 578 #define TPM_PT_STARTUP_CLEAR (TPM_PT)(PT_VAR + 1) 579 #define TPM_PT_HR_NV_INDEX (TPM_PT)(PT_VAR + 2) 580 #define TPM_PT_HR_LOADED (TPM_PT)(PT_VAR + 3) 581 #define TPM_PT_HR_LOADED_AVAIL (TPM_PT)(PT_VAR + 4) 582 #define TPM_PT_HR_ACTIVE (TPM_PT)(PT_VAR + 5) 583 #define TPM_PT_HR_ACTIVE_AVAIL (TPM_PT)(PT_VAR + 6) 584 #define TPM_PT_HR_TRANSIENT_AVAIL (TPM_PT)(PT_VAR + 7) 585 #define TPM_PT_HR_PERSISTENT (TPM_PT)(PT_VAR + 8) 586 #define TPM_PT_HR_PERSISTENT_AVAIL (TPM_PT)(PT_VAR + 9) 587 #define TPM_PT_NV_COUNTERS (TPM_PT)(PT_VAR + 10) 588 #define TPM_PT_NV_COUNTERS_AVAIL (TPM_PT)(PT_VAR + 11) 589 #define TPM_PT_ALGORITHM_SET (TPM_PT)(PT_VAR + 12) 590 #define TPM_PT_LOADED_CURVES (TPM_PT)(PT_VAR + 13) 591 #define TPM_PT_LOCKOUT_COUNTER (TPM_PT)(PT_VAR + 14) 592 #define TPM_PT_MAX_AUTH_FAIL (TPM_PT)(PT_VAR + 15) 593 #define TPM_PT_LOCKOUT_INTERVAL (TPM_PT)(PT_VAR + 16) 594 #define TPM_PT_LOCKOUT_RECOVERY (TPM_PT)(PT_VAR + 17) 595 #define TPM_PT_NV_WRITE_RECOVERY (TPM_PT)(PT_VAR + 18) 596 #define TPM_PT_AUDIT_COUNTER_0 (TPM_PT)(PT_VAR + 19) 597 #define TPM_PT_AUDIT_COUNTER_1 (TPM_PT)(PT_VAR + 20) 601 #define TPM_PT_PCR_FIRST (TPM_PT_PCR)(0x00000000) 602 #define TPM_PT_PCR_SAVE (TPM_PT_PCR)(0x00000000) 603 #define TPM_PT_PCR_EXTEND_L0 (TPM_PT_PCR)(0x00000001) 604 #define TPM_PT_PCR_RESET_L0 (TPM_PT_PCR)(0x00000002) 605 #define TPM_PT_PCR_EXTEND_L1 (TPM_PT_PCR)(0x00000003) 606 #define TPM_PT_PCR_RESET_L1 (TPM_PT_PCR)(0x00000004) 607 #define TPM_PT_PCR_EXTEND_L2 (TPM_PT_PCR)(0x00000005) 608 #define TPM_PT_PCR_RESET_L2 (TPM_PT_PCR)(0x00000006) 609 #define TPM_PT_PCR_EXTEND_L3 (TPM_PT_PCR)(0x00000007) 610 #define TPM_PT_PCR_RESET_L3 (TPM_PT_PCR)(0x00000008) 611 #define TPM_PT_PCR_EXTEND_L4 (TPM_PT_PCR)(0x00000009) 612 #define TPM_PT_PCR_RESET_L4 (TPM_PT_PCR)(0x0000000A) 613 #define TPM_PT_PCR_NO_INCREMENT (TPM_PT_PCR)(0x00000011) 614 #define TPM_PT_PCR_DRTM_RESET (TPM_PT_PCR)(0x00000012) 615 #define TPM_PT_PCR_POLICY (TPM_PT_PCR)(0x00000013) 616 #define TPM_PT_PCR_AUTH (TPM_PT_PCR)(0x00000014) 617 #define TPM_PT_PCR_LAST (TPM_PT_PCR)(0x00000014) 621 #define TPM_PS_MAIN (TPM_PS)(0x00000000) 622 #define TPM_PS_PC (TPM_PS)(0x00000001) 623 #define TPM_PS_PDA (TPM_PS)(0x00000002) 624 #define TPM_PS_CELL_PHONE (TPM_PS)(0x00000003) 625 #define TPM_PS_SERVER (TPM_PS)(0x00000004) 626 #define TPM_PS_PERIPHERAL (TPM_PS)(0x00000005) 627 #define TPM_PS_TSS (TPM_PS)(0x00000006) 628 #define TPM_PS_STORAGE (TPM_PS)(0x00000007) 629 #define TPM_PS_AUTHENTICATION (TPM_PS)(0x00000008) 630 #define TPM_PS_EMBEDDED (TPM_PS)(0x00000009) 631 #define TPM_PS_HARDCOPY (TPM_PS)(0x0000000A) 632 #define TPM_PS_INFRASTRUCTURE (TPM_PS)(0x0000000B) 633 #define TPM_PS_VIRTUALIZATION (TPM_PS)(0x0000000C) 634 #define TPM_PS_TNC (TPM_PS)(0x0000000D) 635 #define TPM_PS_MULTI_TENANT (TPM_PS)(0x0000000E) 636 #define TPM_PS_TC (TPM_PS)(0x0000000F) 648 #define TPM_HT_PCR (TPM_HT)(0x00) 649 #define TPM_HT_NV_INDEX (TPM_HT)(0x01) 650 #define TPM_HT_HMAC_SESSION (TPM_HT)(0x02) 651 #define TPM_HT_LOADED_SESSION (TPM_HT)(0x02) 652 #define TPM_HT_POLICY_SESSION (TPM_HT)(0x03) 653 #define TPM_HT_ACTIVE_SESSION (TPM_HT)(0x03) 654 #define TPM_HT_PERMANENT (TPM_HT)(0x40) 655 #define TPM_HT_TRANSIENT (TPM_HT)(0x80) 656 #define TPM_HT_PERSISTENT (TPM_HT)(0x81) 660 #define TPM_RH_FIRST (TPM_RH)(0x40000000) 661 #define TPM_RH_SRK (TPM_RH)(0x40000000) 662 #define TPM_RH_OWNER (TPM_RH)(0x40000001) 663 #define TPM_RH_REVOKE (TPM_RH)(0x40000002) 664 #define TPM_RH_TRANSPORT (TPM_RH)(0x40000003) 665 #define TPM_RH_OPERATOR (TPM_RH)(0x40000004) 666 #define TPM_RH_ADMIN (TPM_RH)(0x40000005) 667 #define TPM_RH_EK (TPM_RH)(0x40000006) 668 #define TPM_RH_NULL (TPM_RH)(0x40000007) 669 #define TPM_RH_UNASSIGNED (TPM_RH)(0x40000008) 670 #define TPM_RS_PW (TPM_RH)(0x40000009) 671 #define TPM_RH_LOCKOUT (TPM_RH)(0x4000000A) 672 #define TPM_RH_ENDORSEMENT (TPM_RH)(0x4000000B) 673 #define TPM_RH_PLATFORM (TPM_RH)(0x4000000C) 674 #define TPM_RH_PLATFORM_NV (TPM_RH)(0x4000000D) 675 #define TPM_RH_AUTH_00 (TPM_RH)(0x40000010) 676 #define TPM_RH_AUTH_FF (TPM_RH)(0x4000010F) 677 #define TPM_RH_LAST (TPM_RH)(0x4000010F) 681 #define HR_HANDLE_MASK (TPM_HC)(0x00FFFFFF) 682 #define HR_RANGE_MASK (TPM_HC)(0xFF000000) 683 #define HR_SHIFT (TPM_HC)(24) 684 #define HR_PCR (TPM_HC)((TPM_HC)TPM_HT_PCR << HR_SHIFT) 685 #define HR_HMAC_SESSION (TPM_HC)((TPM_HC)TPM_HT_HMAC_SESSION << HR_SHIFT) 686 #define HR_POLICY_SESSION (TPM_HC)((TPM_HC)TPM_HT_POLICY_SESSION << HR_SHIFT) 687 #define HR_TRANSIENT (TPM_HC)((TPM_HC)TPM_HT_TRANSIENT << HR_SHIFT) 688 #define HR_PERSISTENT (TPM_HC)((TPM_HC)TPM_HT_PERSISTENT << HR_SHIFT) 689 #define HR_NV_INDEX (TPM_HC)((TPM_HC)TPM_HT_NV_INDEX << HR_SHIFT) 690 #define HR_PERMANENT (TPM_HC)((TPM_HC)TPM_HT_PERMANENT << HR_SHIFT) 691 #define PCR_FIRST (TPM_HC)(HR_PCR + 0) 692 #define PCR_LAST (TPM_HC)(PCR_FIRST + IMPLEMENTATION_PCR - 1) 693 #define HMAC_SESSION_FIRST (TPM_HC)(HR_HMAC_SESSION + 0) 694 #define HMAC_SESSION_LAST (TPM_HC)(HMAC_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) 695 #define LOADED_SESSION_FIRST (TPM_HC)(HMAC_SESSION_FIRST) 696 #define LOADED_SESSION_LAST (TPM_HC)(HMAC_SESSION_LAST) 697 #define POLICY_SESSION_FIRST (TPM_HC)(HR_POLICY_SESSION + 0) 698 #define POLICY_SESSION_LAST (TPM_HC)(POLICY_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) 699 #define TRANSIENT_FIRST (TPM_HC)(HR_TRANSIENT + 0) 700 #define ACTIVE_SESSION_FIRST (TPM_HC)(POLICY_SESSION_FIRST) 701 #define ACTIVE_SESSION_LAST (TPM_HC)(POLICY_SESSION_LAST) 702 #define TRANSIENT_LAST (TPM_HC)(TRANSIENT_FIRST+MAX_LOADED_OBJECTS - 1) 703 #define PERSISTENT_FIRST (TPM_HC)(HR_PERSISTENT + 0) 704 #define PERSISTENT_LAST (TPM_HC)(PERSISTENT_FIRST + 0x00FFFFFF) 705 #define PLATFORM_PERSISTENT (TPM_HC)(PERSISTENT_FIRST + 0x00800000) 706 #define NV_INDEX_FIRST (TPM_HC)(HR_NV_INDEX + 0) 707 #define NV_INDEX_LAST (TPM_HC)(NV_INDEX_FIRST + 0x00FFFFFF) 708 #define PERMANENT_FIRST (TPM_HC)(TPM_RH_FIRST) 709 #define PERMANENT_LAST (TPM_HC)(TPM_RH_LAST) 1809 #define HASH_ALG_SHA1 0x00000001 1810 #define HASH_ALG_SHA256 0x00000002 1811 #define HASH_ALG_SHA384 0x00000004 1812 #define HASH_ALG_SHA512 0x00000008 1813 #define HASH_ALG_SM3_256 0x00000010
TPMS_SESSION_AUDIT_INFO sessionAudit
TPM_HANDLE TPMI_SH_AUTH_SESSION
TPMU_SCHEME_KEYEDHASH details
TPMS_SCHEME_KDF1_SP800_108 kdf1_sp800_108
#define SM3_256_DIGEST_SIZE
TPM2B_NAME qualifiedSigner
TPMT_SYM_DEF_OBJECT symmetric
#define SHA256_DIGEST_SIZE
TPM2B_DIGEST integrityHMAC
UINT32 TPMA_NV_PLATFORMCREATE
TPMS_SCHEME_RSASSA rsassa
TPM_HANDLE TPMI_DH_ENTITY
TPMS_CREATION_INFO creation
TPMU_SYM_KEY_BITS keyBits
TPM_ALG_ID TPMI_ALG_RSA_DECRYPT
TPM_HANDLE TPMI_RH_LOCKOUT
TPM_ST TPMI_ST_COMMAND_TAG
TPM_ALG_ID TPMI_ALG_KEYEDHASH_SCHEME
TPM_HANDLE TPMI_SH_POLICY
TPMS_SCHEME_RSAPSS rsapss
UINT32 TPM_HANDLE
A generic handle could be key, transport etc.
TPMS_SCHEME_RSASSA rsassa
TPMS_SENSITIVE_CREATE sensitive
TPMS_SCHEME_RSAPSS rsapss
TPM_ALG_ID TPMI_ALG_SYM_MODE
TPMT_SYM_DEF_OBJECT symmetric
TPM_ALG_ID TPMI_ECC_KEY_EXCHANGE
TPMI_ALG_KEYEDHASH_SCHEME scheme
TPMS_CLOCK_INFO clockInfo
TPMT_SENSITIVE sensitiveArea
TPMI_ALG_RSA_SCHEME scheme
TPM_ALG_ID TPMI_ALG_ECC_SCHEME
TPM2B_DIGEST TPM2B_OPERAND
TPMS_SCHEME_SIGHASH TPMS_SCHEME_RSAPSS
TPMS_SCHEME_SIGHASH TPMS_SCHEME_SM2
TPMA_OBJECT objectAttributes
TPM_KEY_BITS TPMI_RSA_KEY_BITS
uint32_t buffer
Buffer index (or NETVSC_RNDIS_NO_BUFFER)
#define MAX_SYM_KEY_BYTES
TPMI_RH_HIERARCHY hierarchy
TPMI_ALG_PUBLIC sensitiveType
TPM2B_DIGEST creationHash
TPM_HANDLE TPMI_RH_PLATFORM
UINT32 TPMA_NV_CLEAR_STCLEAR
TPM_ALG_ID TPMI_ALG_ASYM_SCHEME
TPM2B_CONTEXT_SENSITIVE encrypted
TPMS_SCHEME_SIGHASH TPMS_SCHEME_ECSCHNORR
TPML_PCR_SELECTION pcrSelect
TPMT_KEYEDHASH_SCHEME scheme
TPMU_SENSITIVE_COMPOSITE sensitive
TPM_ALG_ID TPMI_ALG_SYM_OBJECT
TPMI_ALG_ASYM_SCHEME scheme
UINT32 TPMA_NV_POLICY_DELETE
TPM_KEY_BITS TPMI_SM4_KEY_BITS
TPMS_SCHEME_KDF1_SP800_56a kdf1_SP800_56a
TPMI_SH_AUTH_SESSION sessionHandle
FILE_LICENCE(BSD2_PATENT)
TPMI_RH_HIERARCHY hierarchy
TPMI_YES_NO exclusiveSession
TPMS_SCHEME_SIGHASH anySig
TPMU_PUBLIC_PARMS parameters
TPMI_ALG_SIG_SCHEME sigAlg
TPMI_RSA_KEY_BITS keyBits
TPMA_SESSION sessionAttributes
TPM_HANDLE TPMI_RH_HIERARCHY_AUTH
TPM2B_ECC_PARAMETER signatureS
TPMU_SYM_KEY_BITS keyBits
TPMS_CERTIFY_INFO certify
TPMI_ALG_SYM_OBJECT algorithm
UINT32 sensitiveDataOrigin
TPMI_RH_HIERARCHY hierarchy
TPMS_TIME_ATTEST_INFO time
TPM2B_ECC_PARAMETER signatureR
TPMT_SYM_DEF_OBJECT symDetail
UINT32 TPMA_NV_WRITEDEFINE
UINT32 TPMA_NV_OWNERWRITE
TPMI_RH_HIERARCHY hierarchy
TPMS_SCHEME_SIGHASH TPMS_SCHEME_RSASSA
TPML_ALG_PROPERTY algorithms
TPM_HANDLE TPMI_RH_NV_AUTH
#define MAX_NV_INDEX_SIZE
TPM2B_MAX_NV_BUFFER nvContents
UINT32 TPMA_NV_WRITELOCKED
UINT32 TPMA_NV_READLOCKED
TPMS_CLOCK_INFO clockInfo
TPM_ALG_ID TPMI_ALG_PUBLIC
TPM_KEY_BITS TPMI_AES_KEY_BITS
UINT32 TPMA_NV_READ_STCLEAR
UINT32 endorsementAuthSet
TPMS_SCHEME_ECSCHNORR ecSchnorr
TPM2B_DIGEST sessionDigest
#define MAX_ALG_LIST_SIZE
#define MAX_RSA_KEY_BYTES
TPM2B_CONTEXT_DATA contextBlob
TPMS_SIGNATURE_ECDSA ecschnorr
TPML_PCR_SELECTION pcrSelect
unsigned long long UINT64
#define MAX_DIGEST_BUFFER
TPM_HANDLE TPMI_DH_PERSISTENT
TPM2B_PRIVATE_KEY_RSA rsa
TPMS_SIGNATURE_ECDSA ecdaa
UINT32 TPMA_NV_GLOBALLOCK
TPMI_RH_HIERARCHY hierarchy
UINT32 encryptedDuplication
TPM2B_SENSITIVE_DATA bits
TPMS_ASYM_PARMS asymDetail
TPMA_SESSION sessionAttributes
TPM Specification data structures (TCG TPM Specification Version 1.2 Revision 103) See http://trusted...
TPMA_ALGORITHM attributes
TPML_TAGGED_PCR_PROPERTY pcrProperties
UINT32 TPMA_NV_POLICYREAD
TPM_ECC_CURVE TPMI_ECC_CURVE
TPMA_ALGORITHM algProperties
#define MAX_SYM_BLOCK_SIZE
TPMS_SCHEME_SIGHASH TPMS_SCHEME_HMAC
TPMS_SIGNATURE_RSAPSS rsapss
TPM2B_NAME parentQualifiedName
TPMS_SCHEME_SIGHASH TPMS_SCHEME_ECDSA
TPM_ALG_ID TPMI_ALG_RSA_SCHEME
UINT32 TPM_PARAMETER_SIZE
TPMI_ALG_SIG_SCHEME scheme
#define SHA512_DIGEST_SIZE
#define MAX_TPM_PROPERTIES
#define PRIVATE_VENDOR_SPECIFIC_BYTES
TPM_ALG_ID TPMI_ALG_SIG_SCHEME
TPM_HANDLE TPMI_RH_NV_INDEX
TPMS_KEYEDHASH_PARMS keyedHashDetail
#define MAX_PCR_PROPERTIES
TPM_HANDLE TPMI_RH_ENDORSEMENT
TPM2B_DIGEST integrityInner
TPM_HANDLE TPMI_RH_HIERARCHY
TPML_TAGGED_TPM_PROPERTY tpmProperties
TPM2B_DIGEST integrityOuter
TPMS_CREATION_DATA creationData
TPM2B_SENSITIVE_DATA data
TPM_HANDLE TPMI_DH_OBJECT
TPMI_DH_CONTEXT savedHandle
TPMI_ALG_RSA_DECRYPT scheme
TPMI_ALG_ECC_SCHEME scheme
TPM_HANDLE TPMI_DH_CONTEXT
#define MAX_ECC_KEY_BYTES
#define SHA384_DIGEST_SIZE
TPM2B_DIGEST commandDigest
TPMS_SCHEME_ECSCHNORR ecSchnorr
UINT32 TPM_AUTHORIZATION_SIZE
TPMS_COMMAND_AUDIT_INFO commandAudit
TPMS_SIGNATURE_RSASSA rsassa
TPMU_PUBLIC_PARMS parameters
UINT32 TPMA_NV_WRITE_STCLEAR
TPM2B_PRIVATE_VENDOR_SPECIFIC any
TPMT_SYM_DEF_OBJECT symmetric
TPML_PCR_SELECTION assignedPCR
TPM_HANDLE TPMI_RH_PROVISION
TPMS_SIGNATURE_ECDSA ecdsa
UINT32 TPMA_NV_POLICYWRITE