_BEGIN
_INPUT_START TPM2_Startup
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT TPM_ST_NO_SESSIONS
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Startup {NV}
_TYPE TPM_SU
_NAME startupType
_COMMENT TPM_SU_CLEAR or TPM_SU_STATE
_OUTPUT_START TPM2_Startup
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_Shutdown
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Shutdown {NV}
_TYPE TPM_SU
_NAME shutdownType
_COMMENT TPM_SU_CLEAR or TPM_SU_STATE
_OUTPUT_START TPM2_Shutdown
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_SelfTest
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_SelfTest {NV}
_TYPE TPMI_YES_NO
_NAME fullTest
_COMMENT YES if full test to be performed NO if only test of untested functions required
_OUTPUT_START TPM2_SelfTest
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_IncrementalSelfTest
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_IncrementalSelfTest {NV}
_TYPE TPML_ALG
_NAME toTest
_COMMENT list of algorithms that should be tested
_OUTPUT_START TPM2_IncrementalSelfTest
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPML_ALG
_NAME toDoList
_COMMENT list of algorithms that need testing
_INPUT_START TPM2_GetTestResult
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_GetTestResult
_OUTPUT_START TPM2_GetTestResult
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_MAX_BUFFER
_NAME outData
_TYPE TPM_RC
_NAME testResult
_COMMENT test result data contains manufacturer-specific information
_INPUT_START TPM2_StartAuthSession
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_StartAuthSession
_TYPE TPMI_DH_OBJECT+
_NAME tpmKey
_COMMENT handle of a loaded decrypt key used to encrypt salt may be TPM_RH_NULL Auth Index: None
_TYPE TPMI_DH_ENTITY+
_NAME bind
_COMMENT entity providing the authValue may be TPM_RH_NULL Auth Index: None
_TYPE TPM2B_NONCE
_NAME nonceCaller
_COMMENT initial nonceCaller, sets nonce size for the session shall be at least 16 octets
_TYPE TPM2B_ENCRYPTED_SECRET
_NAME encryptedSalt
_COMMENT value encrypted according to the type of tpmKey If tpmKey is TPM_RH_NULL, this shall be the Empty Buffer.
_TYPE TPM_SE
_NAME sessionType
_COMMENT indicates the type of the session; simple HMAC or policy (including a trial policy)
_TYPE TPMT_SYM_DEF+
_NAME symmetric
_COMMENT the algorithm and key size for parameter encryption may select TPM_ALG_NULL
_TYPE TPMI_ALG_HASH
_NAME authHash
_COMMENT hash algorithm to use for the session Shall be a hash algorithm supported by the TPM and not TPM_ALG_NULL
_OUTPUT_START TPM2_StartAuthSession
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMI_SH_AUTH_SESSION
_NAME sessionHandle
_COMMENT handle for the newly created session
_TYPE TPM2B_NONCE
_NAME nonceTPM
_COMMENT the initial nonce from the TPM, used in the computation of the sessionKey
_INPUT_START TPM2_PolicyRestart
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyRestart
_TYPE TPMI_SH_POLICY
_NAME sessionHandle
_COMMENT the handle for the policy session
_OUTPUT_START TPM2_PolicyRestart
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_Create
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Create
_TYPE TPMI_DH_OBJECT
_NAME parentHandle
_COMMENT handle of parent for new object Auth Index: 1 Auth Role: USER
_TYPE TPM2B_SENSITIVE_CREATE
_NAME inSensitive
_COMMENT the sensitive data
_TYPE TPM2B_PUBLIC
_NAME inPublic
_COMMENT the public template
_TYPE TPM2B_DATA
_NAME outsideInfo
_COMMENT data that will be included in the creation data for this object to provide permanent, verifiable linkage between this object and some object owner data
_TYPE TPML_PCR_SELECTION
_NAME creationPCR
_COMMENT PCR that will be used in creation data
_OUTPUT_START TPM2_Create
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_PRIVATE
_NAME outPrivate
_COMMENT the private portion of the object
_TYPE TPM2B_PUBLIC
_NAME outPublic
_COMMENT the public portion of the created object
_TYPE TPM2B_CREATION_DATA
_NAME creationData
_COMMENT contains a TPMS_CREATION_DATA
_TYPE TPM2B_DIGEST
_NAME creationHash
_COMMENT digest of creationData using nameAlg of outPublic
_TYPE TPMT_TK_CREATION
_NAME creationTicket
_COMMENT ticket used by TPM2_CertifyCreation() to validate that the creation data was produced by the TPM
_INPUT_START TPM2_Load
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Load
_TYPE TPMI_DH_OBJECT
_NAME parentHandle
_COMMENT TPM handle of parent key; shall not be a reserved handle Auth Index: 1 Auth Role: USER
_TYPE TPM2B_PRIVATE
_NAME inPrivate
_COMMENT the private portion of the object
_TYPE TPM2B_PUBLIC
_NAME inPublic
_COMMENT the public portion of the object
_OUTPUT_START TPM2_Load
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM_HANDLE
_NAME objectHandle
_COMMENT handle for the loaded object
_TYPE TPM2B_NAME
_NAME name
_COMMENT Name of the loaded object
_INPUT_START TPM2_LoadExternal
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_LoadExternal
_TYPE TPM2B_SENSITIVE
_NAME inPrivate
_COMMENT the sensitive portion of the object (optional)
_TYPE TPM2B_PUBLIC+
_NAME inPublic
_COMMENT the public portion of the object
_TYPE TPMI_RH_HIERARCHY+
_NAME hierarchy
_COMMENT hierarchy with which the object area is associated
_OUTPUT_START TPM2_LoadExternal
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM_HANDLE
_NAME objectHandle
_COMMENT handle for the loaded object
_TYPE TPM2B_NAME
_NAME name
_COMMENT name of the loaded object
_INPUT_START TPM2_ReadPublic
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ReadPublic
_TYPE TPMI_DH_OBJECT
_NAME objectHandle
_COMMENT TPM handle of an object Auth Index: None
_OUTPUT_START TPM2_ReadPublic
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_PUBLIC
_NAME outPublic
_COMMENT structure containing the public area of an object
_TYPE TPM2B_NAME
_NAME name
_COMMENT name of the object
_TYPE TPM2B_NAME
_NAME qualifiedName
_COMMENT the Qualified Name of the object
_INPUT_START TPM2_ActivateCredential
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ActivateCredential
_TYPE TPMI_DH_OBJECT
_NAME activateHandle
_COMMENT handle of the object associated with certificate in credentialBlob Auth Index: 1 Auth Role: ADMIN
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT loaded key used to decrypt the TPMS_SENSITIVE in credentialBlob Auth Index: 2 Auth Role: USER
_TYPE TPM2B_ID_OBJECT
_NAME credentialBlob
_COMMENT the credential
_TYPE TPM2B_ENCRYPTED_SECRET
_NAME secret
_COMMENT keyHandle algorithm-dependent encrypted seed that protects credentialBlob
_OUTPUT_START TPM2_ActivateCredential
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_DIGEST
_NAME certInfo
_COMMENT the decrypted certificate information the data should be no larger than the size of the digest of the nameAlg associated with keyHandle
_INPUT_START TPM2_MakeCredential
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_MakeCredential
_TYPE TPMI_DH_OBJECT
_NAME handle
_COMMENT loaded public area, used to encrypt the sensitive area containing the credential key Auth Index: None
_TYPE TPM2B_DIGEST
_NAME credential
_COMMENT the credential information
_TYPE TPM2B_NAME
_NAME objectName
_COMMENT Name of the object to which the credential applies
_OUTPUT_START TPM2_MakeCredential
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ID_OBJECT
_NAME credentialBlob
_TYPE TPM2B_ENCRYPTED_SECRET
_NAME secret
_COMMENT the credential handle algorithm-dependent data that wraps the key that encrypts credentialBlob
_INPUT_START TPM2_Unseal
_TYPE TPMI_ST_COMMAND_TAG
_NAME Tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Unseal
_TYPE TPMI_DH_OBJECT
_NAME itemHandle
_COMMENT handle of a loaded data object Auth Index: 1 Auth Role: USER
_OUTPUT_START TPM2_Unseal
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_SENSITIVE_DATA
_NAME outData
_COMMENT unsealed data Size of outData is limited to be no more than 128 octets.
_INPUT_START TPM2_ObjectChangeAuth
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ObjectChangeAuth
_TYPE TPMI_DH_OBJECT
_NAME objectHandle
_COMMENT handle of the object Auth Index: 1 Auth Role: ADMIN
_TYPE TPMI_DH_OBJECT
_NAME parentHandle
_COMMENT handle of the parent Auth Index: None
_TYPE TPM2B_AUTH
_NAME newAuth
_COMMENT new authorization value
_OUTPUT_START TPM2_ObjectChangeAuth
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_PRIVATE
_NAME outPrivate
_COMMENT private area containing the new authorization value
_INPUT_START TPM2_Duplicate
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Duplicate
_TYPE TPMI_DH_OBJECT
_NAME objectHandle
_COMMENT loaded object to duplicate Auth Index: 1 Auth Role: DUP
_TYPE TPMI_DH_OBJECT+
_NAME newParentHandle
_COMMENT shall reference the public area of an asymmetric key Auth Index: None
_TYPE TPM2B_DATA
_NAME encryptionKeyIn
_COMMENT optional symmetric encryption key The size for this key is set to zero when the TPM is to generate the key. This parameter may be encrypted.
_TYPE TPMT_SYM_DEF_OBJECT+
_NAME symmetricAlg
_COMMENT definition for the symmetric algorithm to be used for the inner wrapper may be TPM_ALG_NULL if no inner wrapper is applied
_OUTPUT_START TPM2_Duplicate
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_DATA
_NAME encryptionKeyOut
_COMMENT If the caller provided an encryption key or if symmetricAlg was TPM_ALG_NULL, then this will be the Empty Buffer; otherwise, it shall contain the TPMgenerated, symmetric encryption key for the inner wrapper.
_TYPE TPM2B_PRIVATE
_NAME duplicate
_COMMENT private area that may be encrypted by encryptionKeyIn; and may be doubly encrypted
_TYPE TPM2B_ENCRYPTED_SECRET
_NAME outSymSeed
_COMMENT seed protected by the asymmetric algorithms of new parent (NP)
_INPUT_START TPM2_Rewrap
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Rewrap
_TYPE TPMI_DH_OBJECT+
_NAME oldParent
_COMMENT parent of object Auth Index: 1 Auth Role: User
_TYPE TPMI_DH_OBJECT+
_NAME newParent
_COMMENT new parent of the object Auth Index: None
_TYPE TPM2B_PRIVATE
_NAME inDuplicate
_COMMENT an object encrypted using symmetric key derived from inSymSeed
_TYPE TPM2B_NAME
_NAME name
_COMMENT the Name of the object being rewrapped
_TYPE TPM2B_ENCRYPTED_SECRET
_NAME inSymSeed
_COMMENT seed for symmetric key needs oldParent private key to recover the seed and generate the symmetric key
_OUTPUT_START TPM2_Rewrap
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_PRIVATE
_NAME outDuplicate
_TYPE TPM2B_ENCRYPTED_SECRET
_NAME outSymSeed
_COMMENT an object encrypted using symmetric key derived from outSymSeed seed for a symmetric key protected by newParent asymmetric key
_INPUT_START TPM2_Import
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Import
_TYPE TPMI_DH_OBJECT
_NAME parentHandle
_COMMENT the handle of the new parent for the object Auth Index: 1 Auth Role: USER
_TYPE TPM2B_DATA
_NAME encryptionKey
_COMMENT the optional symmetric encryption key used as the inner wrapper for duplicate If symmetricAlg is TPM_ALG_NULL, then this parameter shall be the Empty Buffer.
_TYPE TPM2B_PUBLIC
_NAME objectPublic
_COMMENT the public area of the object to be imported This is provided so that the integrity value for duplicate and the object attributes can be checked. NOTE
_TYPE TPM2B_PRIVATE
_NAME duplicate
_COMMENT Even if the integrity value of the object is not checked on input, the object Name is required to create the integrity value for the imported object. the symmetrically encrypted duplicate object that may contain an inner symmetric wrapper
_TYPE TPM2B_ENCRYPTED_SECRET
_NAME inSymSeed
_COMMENT symmetric key used to encrypt duplicate inSymSeed is encrypted/encoded using the algorithms of newParent.
_TYPE TPMT_SYM_DEF_OBJECT+
_NAME symmetricAlg
_COMMENT definition for the symmetric algorithm to use for the inner wrapper If this algorithm is TPM_ALG_NULL, no inner wrapper is present and encryptionKey shall be the Empty Buffer.
_OUTPUT_START TPM2_Import
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_PRIVATE
_NAME outPrivate
_COMMENT the sensitive area encrypted with the symmetric key of parentHandle
_INPUT_START TPM2_RSA_Encrypt
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_RSA_Encrypt
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT reference to public portion of RSA key to use for encryption Auth Index: None message to be encrypted
_TYPE TPM2B_PUBLIC_KEY_RSA
_NAME message
_TYPE TPMT_RSA_DECRYPT+
_NAME inScheme
_TYPE TPM2B_DATA
_NAME label
_COMMENT NOTE 1 The data type was chosen because it limits the overall size of the input to no greater than the size of the largest RSA public key. This may be larger than allowed for keyHandle. the padding scheme to use if scheme associated with keyHandle is TPM_ALG_NULL optional label L to be associated with the message Size of the buffer is zero if no label is present NOTE 2 See description of label above.
_OUTPUT_START TPM2_RSA_Encrypt
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_PUBLIC_KEY_RSA
_NAME outData
_COMMENT encrypted output
_INPUT_START TPM2_RSA_Decrypt
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_RSA_Decrypt
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT RSA key to use for decryption Auth Index: 1 Auth Role: USER
_TYPE TPM2B_PUBLIC_KEY_RSA
_NAME cipherText
_COMMENT NOTE
_TYPE TPMT_RSA_DECRYPT+
_NAME inScheme
_COMMENT the padding scheme to use if scheme associated with keyHandle is TPM_ALG_NULL
_TYPE TPM2B_DATA
_NAME label
_COMMENT label whose association with the message is to be verified cipher text to be decrypted An encrypted RSA data block is the size of the public modulus.
_OUTPUT_START TPM2_RSA_Decrypt
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_PUBLIC_KEY_RSA
_NAME message
_COMMENT decrypted output
_INPUT_START TPM2_ECDH_KeyGen
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ECDH_KeyGen
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT Handle of a loaded ECC key public area. Auth Index: None
_OUTPUT_START TPM2_ECDH_KeyGen
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ECC_POINT
_NAME zPoint
_COMMENT results of P ≔ h[de]Qs
_TYPE TPM2B_ECC_POINT
_NAME pubPoint
_COMMENT generated ephemeral public point (Qe)
_INPUT_START TPM2_ECDH_ZGen
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ECDH_ZGen
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT handle of a loaded ECC key Auth Index: 1 Auth Role: USER
_TYPE TPM2B_ECC_POINT
_NAME inPoint
_COMMENT a public key
_OUTPUT_START TPM2_ECDH_ZGen
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ECC_POINT
_NAME outPoint
_COMMENT X and Y coordinates of the product of the multiplication Z = (xZ , yZ) ≔ [hdS]QB
_INPUT_START TPM2_ECC_Parameters
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ECC_Parameters
_TYPE TPMI_ECC_CURVE
_NAME curveID
_COMMENT parameter set selector
_OUTPUT_START TPM2_ECC_Parameters
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMS_ALGORITHM_DETAIL_ECC
_NAME parameters
_COMMENT ECC parameters for the selected curve
_INPUT_START TPM2_ZGen_2Phase
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ZGen_2Phase handle of an unrestricted decryption key ECC The private key referenced by this handle is used as dS,A
_TYPE TPMI_DH_OBJECT
_NAME keyA
_TYPE TPM2B_ECC_POINT
_NAME inQsB
_COMMENT other party’s static public key (Qs,B = (Xs,B, Ys,B))
_TYPE TPM2B_ECC_POINT
_NAME inQeB
_COMMENT other party's ephemeral public key (Qe,B = (Xe,B, Ye,B))
_TYPE TPMI_ECC_KEY_EXCHANGE
_NAME inScheme
_COMMENT the key exchange scheme
_TYPE UINT16
_NAME counter
_COMMENT value returned by TPM2_EC_Ephemeral() Auth Index: 1 Auth Role: USER
_OUTPUT_START TPM2_ZGen_2Phase
_TYPE TPM_ST
_NAME tag
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ECC_POINT
_NAME outZ1
_COMMENT X and Y coordinates of the computed value (scheme dependent)
_TYPE TPM2B_ECC_POINT
_NAME outZ2
_COMMENT X and Y coordinates of the second computed value (scheme dependent) 16.7.3 1 2 3
_INPUT_START TPM2_EncryptDecrypt
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_EncryptDecrypt
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT the symmetric key used for the operation Auth Index: 1 Auth Role: USER
_TYPE TPMI_YES_NO
_NAME decrypt
_COMMENT if YES, then the operation is decryption; if NO, the operation is encryption
_TYPE TPMI_ALG_SYM_MODE+
_NAME mode
_COMMENT symmetric mode For a restricted key, this field shall match the default mode of the key or be TPM_ALG_NULL.
_TYPE TPM2B_IV
_NAME ivIn
_COMMENT an initial value as required by the algorithm
_TYPE TPM2B_MAX_BUFFER
_NAME inData
_COMMENT the data to be encrypted/decrypted
_OUTPUT_START TPM2_EncryptDecrypt
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_MAX_BUFFER
_NAME outData
_COMMENT encrypted output
_TYPE TPM2B_IV
_NAME ivOut
_COMMENT chaining value to use for IV in next round
_INPUT_START TPM2_Hash
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT Shall have at least one session
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Hash
_TYPE TPM2B_MAX_BUFFER
_NAME data
_COMMENT data to be hashed
_TYPE TPMI_ALG_HASH
_NAME hashAlg
_COMMENT algorithm for the hash being computed – shall not be TPM_ALG_NULL
_TYPE TPMI_RH_HIERARCHY+
_NAME hierarchy
_COMMENT hierarchy to use for the ticket (TPM_RH_NULL allowed)
_OUTPUT_START TPM2_Hash
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_DIGEST
_NAME outHash
_COMMENT results
_TYPE TPMT_TK_HASHCHECK
_NAME validation
_COMMENT ticket indicating that the sequence of octets used to compute outDigest did not start with TPM_GENERATED_VALUE will be a NULL ticket if the digest may not be signed with a restricted key
_INPUT_START TPM2_HMAC
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_HMAC
_TYPE TPMI_DH_OBJECT
_NAME handle
_COMMENT handle for the symmetric signing key providing the HMAC key Auth Index: 1 Auth Role: USER
_TYPE TPM2B_MAX_BUFFER
_NAME buffer
_COMMENT HMAC data
_TYPE TPMI_ALG_HASH+
_NAME hashAlg
_COMMENT algorithm to use for HMAC
_OUTPUT_START TPM2_HMAC
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_DIGEST
_NAME outHMAC
_COMMENT the returned HMAC in a sized buffer
_INPUT_START TPM2_GetRandom
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_GetRandom
_TYPE UINT16
_NAME bytesRequested
_COMMENT number of octets to return
_OUTPUT_START TPM2_GetRandom
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_DIGEST
_NAME randomBytes
_COMMENT the random octets
_INPUT_START TPM2_StirRandom
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_StirRandom {NV}
_TYPE TPM2B_SENSITIVE_DATA
_NAME inData
_COMMENT additional information
_OUTPUT_START TPM2_StirRandom
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_HMAC_Start
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_HMAC_Start
_TYPE TPMI_DH_OBJECT
_NAME handle
_COMMENT handle of an HMAC key Auth Index: 1 Auth Role: USER
_TYPE TPM2B_AUTH
_NAME auth
_COMMENT authorization value for subsequent use of the sequence
_TYPE TPMI_ALG_HASH+
_NAME hashAlg
_COMMENT the hash algorithm to use for the HMAC
_OUTPUT_START TPM2_HMAC_Start
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMI_DH_OBJECT
_NAME sequenceHandle
_COMMENT a handle to reference the sequence
_INPUT_START TPM2_HashSequenceStart
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_HashSequenceStart
_TYPE TPM2B_AUTH
_NAME auth
_COMMENT authorization value for subsequent use of the sequence
_TYPE TPMI_ALG_HASH+
_NAME hashAlg
_COMMENT the hash algorithm to use for the hash sequence An Event sequence starts if this is TPM_ALG_NULL.
_OUTPUT_START TPM2_HashSequenceStart
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMI_DH_OBJECT
_NAME sequenceHandle
_COMMENT a handle to reference the sequence
_INPUT_START TPM2_SequenceUpdate
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_SequenceUpdate
_TYPE TPMI_DH_OBJECT
_NAME sequenceHandle
_COMMENT handle for the sequence object Auth Index: 1 Auth Role: USER
_TYPE TPM2B_MAX_BUFFER
_NAME buffer
_COMMENT data to be added to hash
_OUTPUT_START TPM2_SequenceUpdate
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_SequenceComplete
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_SequenceComplete {F}
_TYPE TPMI_DH_OBJECT
_NAME sequenceHandle
_COMMENT authorization for the sequence Auth Index: 1 Auth Role: USER
_TYPE TPM2B_MAX_BUFFER
_NAME buffer
_COMMENT data to be added to the hash/HMAC
_TYPE TPMI_RH_HIERARCHY+
_NAME hierarchy
_COMMENT hierarchy of the ticket for a hash
_OUTPUT_START TPM2_SequenceComplete
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_DIGEST
_NAME result
_COMMENT the returned HMAC or digest in a sized buffer
_TYPE TPMT_TK_HASHCHECK
_NAME validation
_COMMENT ticket indicating that the sequence of octets used to compute outDigest did not start with TPM_GENERATED_VALUE This is a NULL Ticket when the session is HMAC.
_INPUT_START TPM2_EventSequenceComplete
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_EventSequenceComplete {NV F}
_TYPE TPMI_DH_PCR+
_NAME pcrHandle
_COMMENT PCR to be extended with the Event data Auth Index: 1 Auth Role: USER
_TYPE TPMI_DH_OBJECT
_NAME sequenceHandle
_COMMENT authorization for the sequence Auth Index: 2 Auth Role: USER
_TYPE TPM2B_MAX_BUFFER
_NAME buffer
_COMMENT data to be added to the Event
_OUTPUT_START TPM2_EventSequenceComplete
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPML_DIGEST_VALUES
_NAME results
_COMMENT list of digests computed for the PCR
_INPUT_START TPM2_Certify
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Certify
_TYPE TPMI_DH_OBJECT
_NAME objectHandle
_COMMENT handle of the object to be certified Auth Index: 1 Auth Role: ADMIN
_TYPE TPMI_DH_OBJECT+
_NAME signHandle
_COMMENT handle of the key used to sign the attestation structure Auth Index: 2 Auth Role: USER
_TYPE TPM2B_DATA
_NAME qualifyingData
_COMMENT user provided qualifying data
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for signHandle is TPM_ALG_NULL
_OUTPUT_START TPM2_Certify
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT .
_TYPE TPM2B_ATTEST
_NAME certifyInfo
_COMMENT the structure that was signed
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the asymmetric signature over certifyInfo using the key referenced by signHandle
_INPUT_START TPM2_CertifyCreation
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_CertifyCreation
_TYPE TPMI_DH_OBJECT+
_NAME signHandle
_COMMENT handle of the key that will sign the attestation block Auth Index: 1 Auth Role: USER
_TYPE TPMI_DH_OBJECT
_NAME objectHandle
_COMMENT the object associated with the creation data Auth Index: None
_TYPE TPM2B_DATA
_NAME qualifyingData
_COMMENT user-provided qualifying data
_TYPE TPM2B_DIGEST
_NAME creationHash
_COMMENT hash of the creation data produced by TPM2_Create() or TPM2_CreatePrimary()
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for signHandle is TPM_ALG_NULL
_TYPE TPMT_TK_CREATION
_NAME creationTicket
_COMMENT ticket produced by TPM2_Create() or TPM2_CreatePrimary()
_OUTPUT_START TPM2_CertifyCreation
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ATTEST
_NAME certifyInfo
_COMMENT the structure that was signed
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the signature over certifyInfo
_INPUT_START TPM2_Quote
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Quote
_TYPE TPMI_DH_OBJECT
_NAME signHandle
_COMMENT handle of key that will perform signature Auth Index: 1 Auth Role: USER
_TYPE TPM2B_DATA
_NAME qualifyingData
_COMMENT data supplied by the caller
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for signHandle is TPM_ALG_NULL
_TYPE TPML_PCR_SELECTION
_NAME PCRselect
_COMMENT PCR set to quote
_OUTPUT_START TPM2_Quote
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ATTEST
_NAME quoted
_COMMENT the quoted information
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the signature over quoted
_INPUT_START TPM2_GetSessionAuditDigest
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_GetSessionAuditDigest
_TYPE TPMI_RH_ENDORSEMENT
_NAME privacyAdminHandle
_COMMENT handle of the privacy administrator (TPM_RH_ENDORSEMENT) Auth Index: 1 Auth Role: USER
_TYPE TPMI_DH_OBJECT+
_NAME signHandle
_COMMENT handle of the signing key Auth Index: 2 Auth Role: USER
_TYPE TPMI_SH_HMAC
_NAME sessionHandle
_COMMENT handle of the audit session Auth Index: None
_TYPE TPM2B_DATA
_NAME qualifyingData
_COMMENT user-provided qualifying data – may be zero-length
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for signHandle is TPM_ALG_NULL
_OUTPUT_START TPM2_GetSessionAuditDigest
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ATTEST
_NAME auditInfo
_COMMENT the audit information that was signed
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the signature over auditInfo
_INPUT_START TPM2_GetCommandAuditDigest
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_GetCommandAuditDigest {NV}
_TYPE TPMI_RH_ENDORSEMENT
_NAME privacyHandle
_COMMENT handle of the privacy administrator (TPM_RH_ENDORSEMENT) Auth Index: 1 Auth Role: USER
_TYPE TPMI_DH_OBJECT+
_NAME signHandle
_COMMENT the handle of the signing key Auth Index: 2 Auth Role: USER
_TYPE TPM2B_DATA
_NAME qualifyingData
_COMMENT other data to associate with this audit digest
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for signHandle is TPM_ALG_NULL
_OUTPUT_START TPM2_GetCommandAuditDigest
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ATTEST
_NAME auditInfo
_COMMENT the auditInfo that was signed
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the signature over auditInfo
_INPUT_START TPM2_GetTime
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_GetTime
_TYPE TPMI_RH_ENDORSEMENT
_NAME privacyAdminHandle
_COMMENT handle of the privacy administrator (TPM_RH_ENDORSEMENT) Auth Index: 1 Auth Role: USER
_TYPE TPMI_DH_OBJECT+
_NAME signHandle
_COMMENT the keyHandle identifier of a loaded key that can perform digital signatures Auth Index: 2 Auth Role: USER
_TYPE TPM2B_DATA
_NAME qualifyingData
_COMMENT data to tick stamp
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for signHandle is TPM_ALG_NULL
_OUTPUT_START TPM2_GetTime
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT .
_TYPE TPM2B_ATTEST
_NAME timeInfo
_COMMENT standard TPM-generated attestation block
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the signature over timeInfo
_INPUT_START TPM2_Commit
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME paramSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Commit handle of the key that will be used in the signing operation
_TYPE TPMI_DH_OBJECT
_NAME signHandle
_COMMENT Auth Index: 1 Auth Role: USER
_TYPE TPM2B_ECC_POINT
_NAME P1
_COMMENT a point (M) on the curve used by signHandle
_TYPE TPM2B_SENSITIVE_DATA
_NAME s2
_COMMENT octet array used to derive x-coordinate of a base point
_TYPE TPM2B_ECC_PARAMETER
_NAME y2
_COMMENT y coordinate of the point associated with s2
_OUTPUT_START TPM2_Commit
_TYPE TPM_ST
_NAME tag
_COMMENT see 8
_TYPE UINT32
_NAME paramSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ECC_POINT
_NAME K
_COMMENT ECC point K ≔ [ds](x2, y2)
_TYPE TPM2B_ECC_POINT
_NAME L
_COMMENT ECC point L ≔ [r](x2, y2)
_TYPE TPM2B_ECC_POINT
_NAME E
_COMMENT ECC point E ≔ [r]P1
_TYPE UINT16
_NAME counter
_COMMENT least-significant 16 bits of commitCount
_INPUT_START TPM2_EC_Ephemeral
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME paramSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_EC_Ephemeral
_TYPE TPMI_ECC_CURVE
_NAME curveID
_COMMENT The curve for the computed ephemeral point
_OUTPUT_START TPM2_EC_Ephemeral
_TYPE TPM_ST
_NAME tag
_COMMENT see 8
_TYPE UINT32
_NAME paramSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_ECC_POINT
_NAME Q
_COMMENT ephemeral public key Q ≔ [r]G
_TYPE UINT16
_NAME counter
_COMMENT least-significant 16 bits of commitCount
_INPUT_START TPM2_VerifySignature
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_VerifySignature
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT handle of public key that will be used in the validation Auth Index: None
_TYPE TPM2B_DIGEST
_NAME digest
_COMMENT digest of the signed message
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT signature to be tested
_OUTPUT_START TPM2_VerifySignature
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMT_TK_VERIFIED
_NAME validation
_INPUT_START TPM2_Sign
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Sign
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT Handle of key that will perform signing Auth Index: 1 Auth Role: USER
_TYPE TPM2B_DIGEST
_NAME digest
_COMMENT digest to be signed
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for keyHandle is TPM_ALG_NULL
_TYPE TPMT_TK_HASHCHECK
_NAME validation
_COMMENT proof that digest was created by the TPM If keyHandle is not a restricted signing key, then this may be a NULL Ticket with tag = TPM_ST_CHECKHASH.
_OUTPUT_START TPM2_Sign
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the signature
_INPUT_START TPM2_SetCommandCodeAuditStatus
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_SetCommandCodeAuditStatus {NV}
_TYPE TPMI_RH_PROVISION
_NAME auth
_COMMENT TPM_RH_ENDORSEMENT or TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPMI_ALG_HASH+
_NAME auditAlg
_COMMENT hash algorithm for the audit digest; if TPM_ALG_NULL, then the hash is not changed
_TYPE TPML_CC
_NAME setList
_COMMENT list of commands that will be added to those that will be audited
_TYPE TPML_CC
_NAME clearList
_COMMENT list of commands that will no longer be audited
_OUTPUT_START TPM2_SetCommandCodeAuditStatus
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PCR_Extend
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PCR_Extend {NV}
_TYPE TPMI_DH_PCR+
_NAME pcrHandle
_COMMENT handle of the PCR Auth Handle: 1 Auth Role: USER
_TYPE TPML_DIGEST_VALUES
_NAME digests
_COMMENT list of tagged digest values to be extended
_OUTPUT_START TPM2_PCR_Extend
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT .
_INPUT_START TPM2_PCR_Event
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PCR_Event {NV}
_TYPE TPMI_DH_PCR+
_NAME pcrHandle
_COMMENT Handle of the PCR Auth Handle: 1 Auth Role: USER
_TYPE TPM2B_EVENT
_NAME eventData
_COMMENT Event data in sized buffer
_OUTPUT_START TPM2_PCR_Event
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPML_DIGEST_VALUES
_NAME digests
_COMMENT .
_INPUT_START TPM2_PCR_Read
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PCR_Read
_TYPE TPML_PCR_SELECTION
_NAME pcrSelectionIn
_COMMENT The selection of PCR to read
_OUTPUT_START TPM2_PCR_Read
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE UINT32
_NAME pcrUpdateCounter
_COMMENT the current value of the PCR update counter
_TYPE TPML_PCR_SELECTION
_NAME pcrSelectionOut
_COMMENT the PCR in the returned list
_TYPE TPML_DIGEST
_NAME pcrValues
_COMMENT the contents of the PCR indicated in pcrSelect as tagged digests
_INPUT_START TPM2_PCR_Allocate
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PCR_Allocate {NV}
_TYPE TPMI_RH_PLATFORM
_NAME authHandle
_COMMENT TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPML_PCR_SELECTION
_NAME pcrAllocation
_COMMENT the requested allocation
_OUTPUT_START TPM2_PCR_Allocate
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMI_YES_NO
_NAME allocationSuccess
_COMMENT YES if the allocation succeeded
_TYPE UINT32
_NAME maxPCR
_COMMENT maximum number of PCR that may be in a bank
_TYPE UINT32
_NAME sizeNeeded
_COMMENT number of octets required to satisfy the request
_TYPE UINT32
_NAME sizeAvailable
_COMMENT Number of octets available. Computed before the allocation.
_INPUT_START TPM2_PCR_SetAuthPolicy
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PCR_SetAuthPolicy {NV}
_TYPE TPMI_RH_PLATFORM
_NAME authHandle
_COMMENT TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPM2B_DIGEST
_NAME authPolicy
_COMMENT the desired authPolicy
_TYPE TPMI_ALG_HASH+
_NAME hashAlg
_COMMENT the hash algorithm of the policy
_TYPE TPMI_DH_PCR
_NAME pcrNum
_COMMENT the PCR for which the policy is to be set
_OUTPUT_START TPM2_PCR_SetAuthPolicy
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PCR_SetAuthValue
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PCR_SetAuthValue
_TYPE TPMI_DH_PCR
_NAME pcrHandle
_COMMENT handle for a PCR that may have an authorization value set Auth Index: 1 Auth Role: USER
_TYPE TPM2B_DIGEST
_NAME auth
_COMMENT the desired authorization value
_OUTPUT_START TPM2_PCR_SetAuthValue
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PCR_Reset
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PCR_Reset {NV}
_TYPE TPMI_DH_PCR
_NAME pcrHandle
_COMMENT the PCR to reset Auth Index: 1 Auth Role: USER
_OUTPUT_START TPM2_PCR_Reset
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PolicySigned
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicySigned
_TYPE TPMI_DH_OBJECT
_NAME authObject
_COMMENT handle for a public key that will validate the signature Auth Index: None
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_NONCE
_NAME nonceTPM
_COMMENT the policy nonce for the session If the nonce is not included in the authorization qualification, this field is the Empty Buffer.
_TYPE TPM2B_DIGEST
_NAME cpHashA
_COMMENT digest of the command parameters to which this authorization is limited This is not the cpHash for this command but the cpHash for the command to which this policy session will be applied. If it is not limited, the parameter will be the Empty Buffer.
_TYPE TPM2B_NONCE
_NAME policyRef
_COMMENT a reference to a policy relating to the authorization – may be the Empty Buffer Size is limited to be no larger than the nonce size supported on the TPM.
_TYPE INT32
_NAME expiration
_COMMENT time when authorization will expire, measured in seconds from the time that nonceTPM was generated If expiration is zero, a NULL Ticket is returned.
_TYPE TPMT_SIGNATURE
_NAME auth
_COMMENT signed authorization (not optional)
_OUTPUT_START TPM2_PolicySigned
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_TIMEOUT
_NAME timeout
_TYPE TPMT_TK_AUTH
_NAME policyTicket
_COMMENT implementation-specific time value, used to indicate to the TPM when the ticket expires NOTE If policyTicket is a NULL Ticket, then this shall be the Empty Buffer. produced if the command succeeds and expiration in the command was non-zero; this ticket will use the TPMT_ST_AUTH_SIGNED structure tag
_INPUT_START TPM2_PolicySecret
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicySecret
_TYPE TPMI_DH_ENTITY
_NAME authHandle
_COMMENT handle for an entity providing the authorization Auth Index: 1 Auth Role: USER
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_NONCE
_NAME nonceTPM
_COMMENT the policy nonce for the session If the nonce is not included in the authorization qualification, this field is the Empty Buffer.
_TYPE TPM2B_DIGEST
_NAME cpHashA
_COMMENT digest of the command parameters to which this authorization is limited This not the cpHash for this command but the cpHash for the command to which this policy session will be applied. If it is not limited, the parameter will be the Empty Buffer.
_TYPE TPM2B_NONCE
_NAME policyRef
_COMMENT a reference to a policy relating to the authorization – may be the Empty Buffer Size is limited to be no larger than the nonce size supported on the TPM.
_TYPE INT32
_NAME expiration
_COMMENT time when authorization will expire, measured in seconds from the time that nonceTPM was generated If expiration is zero, a NULL Ticket is returned.
_OUTPUT_START TPM2_PolicySecret
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_TIMEOUT
_NAME timeout
_COMMENT implementation-specific time value used to indicate to the TPM when the ticket expires; this ticket will use the TPMT_ST_AUTH_SECRET structure tag
_TYPE TPMT_TK_AUTH
_NAME policyTicket
_COMMENT produced if the command succeeds and expiration in the command was non-zero
_INPUT_START TPM2_PolicyTicket
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyTicket
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_TIMEOUT
_NAME timeout
_COMMENT time when authorization will expire The contents are TPM specific. This shall be the value returned when ticket was produced.
_TYPE TPM2B_DIGEST
_NAME cpHashA
_COMMENT digest of the command parameters to which this authorization is limited If it is not limited, the parameter will be the Empty Buffer.
_TYPE TPM2B_NONCE
_NAME policyRef
_COMMENT reference to a qualifier for the policy – may be the Empty Buffer
_TYPE TPM2B_NAME
_NAME authName
_COMMENT name of the object that provided the authorization
_TYPE TPMT_TK_AUTH
_NAME ticket
_COMMENT an authorization ticket returned by the TPM in response to a TPM2_PolicySigned() or TPM2_PolicySecret()
_OUTPUT_START TPM2_PolicyTicket
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PolicyOR
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyOR.
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPML_DIGEST
_NAME pHashList
_COMMENT the list of hashes to check for a match
_OUTPUT_START TPM2_PolicyOR
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PolicyPCR
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyPCR
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_DIGEST
_NAME pcrDigest
_COMMENT expected digest value of the selected PCR using the hash algorithm of the session; may be zero length
_TYPE TPML_PCR_SELECTION
_NAME pcrs
_COMMENT the PCR to include in the check digest
_OUTPUT_START TPM2_PolicyPCR
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PolicyLocality
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyLocality
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPMA_LOCALITY
_NAME locality
_COMMENT the allowed localities for the policy
_OUTPUT_START TPM2_PolicyLocality
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PolicyNV
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyNV
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index of the area to read Auth Index: None
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_OPERAND
_NAME operandB
_COMMENT the second operand
_TYPE UINT16
_NAME offset
_COMMENT the offset in the NV Index for the start of operand A
_TYPE TPM_EO
_NAME operation
_COMMENT the comparison to make
_OUTPUT_START TPM2_PolicyNV
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PolicyCounterTimer
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyCounterTimer
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_OPERAND
_NAME operandB
_COMMENT the second operand
_TYPE UINT16
_NAME offset
_COMMENT the offset in TPMS_TIME_INFO structure for the start of operand A
_TYPE TPM_EO
_NAME operation
_COMMENT the comparison to make
_OUTPUT_START TPM2_PolicyCounterTimer
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.10.3 1 2 3
_INPUT_START TPM2_PolicyCommandCode
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyCommandCode
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM_CC
_NAME code
_COMMENT the allowed commandCode
_OUTPUT_START TPM2_PolicyCommandCode
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.11.3 1 2
_INPUT_START TPM2_PolicyPhysicalPresence
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyPhysicalPresence
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_OUTPUT_START TPM2_PolicyPhysicalPresence
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.12.3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
_INPUT_START TPM2_PolicyCpHash
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyCpHash
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_DIGEST
_NAME cpHashA
_COMMENT the cpHash added to the policy
_OUTPUT_START TPM2_PolicyCpHash
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.13.3 1 2
_INPUT_START TPM2_PolicyNameHash
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyNameHash
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_DIGEST
_NAME nameHash
_COMMENT the digest to be added to the policy
_OUTPUT_START TPM2_PolicyNameHash
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.14.3 1 2
_INPUT_START TPM2_PolicyDuplicationSelect
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyDuplicationSelect
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_NAME
_NAME objectName
_COMMENT the Name of the object to be duplicated
_TYPE TPM2B_NAME
_NAME newParentName
_COMMENT the Name of the new parent
_TYPE TPMI_YES_NO
_NAME includeObject
_COMMENT if YES, the objectName will be included in the value in policySession→policyDigest
_OUTPUT_START TPM2_PolicyDuplicationSelect
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.15.3 1 2
_INPUT_START TPM2_PolicyAuthorize
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyAuthorize
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPM2B_DIGEST
_NAME approvedPolicy
_COMMENT digest of the policy being approved
_TYPE TPM2B_NONCE
_NAME policyRef
_COMMENT a policy qualifier
_TYPE TPM2B_NAME
_NAME keySign
_COMMENT Name of a key that can sign a policy addition
_TYPE TPMT_TK_VERIFIED
_NAME checkTicket
_COMMENT ticket validating that approvedPolicy and policyRef were signed by keySign
_OUTPUT_START TPM2_PolicyAuthorize
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.16.3 1 2 3
_INPUT_START TPM2_PolicyAuthValue
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyAuthValue
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_OUTPUT_START TPM2_PolicyAuthValue
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.17.3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
_INPUT_START TPM2_PolicyPassword
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyPassword
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_OUTPUT_START TPM2_PolicyPassword
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.18.3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
_INPUT_START TPM2_PolicyGetDigest
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyGetDigest
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session Auth Index: None
_OUTPUT_START TPM2_PolicyGetDigest
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_DIGEST
_NAME policyDigest
_COMMENT the current value of the policySession→policyDigest 25.19.3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
_INPUT_START TPM2_PolicyNvWritten
_TYPE TPMI_ST_COMMAND_TAG
_NAME Tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PolicyNvWritten
_TYPE TPMI_SH_POLICY
_NAME policySession
_COMMENT handle for the policy session being extended Auth Index: None
_TYPE TPMI_YES_NO
_NAME writtenSet
_COMMENT YES if NV Index is required to have been written NO if NV Index is required not to have been written
_OUTPUT_START TPM2_PolicyNvWritten
_TYPE TPM_ST
_NAME Tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 25.20.3 1 2
_INPUT_START TPM2_CreatePrimary
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_CreatePrimary
_TYPE TPMI_RH_HIERARCHY+
_NAME primaryHandle
_COMMENT TPM_RH_ENDORSEMENT, TPM_RH_OWNER, TPM_RH_PLATFORM+{PP}, or TPM_RH_NULL Auth Index: 1 Auth Role: USER
_TYPE TPM2B_SENSITIVE_CREATE
_NAME inSensitive
_COMMENT the sensitive data, see Part 1 Sensitive Values
_TYPE TPM2B_PUBLIC
_NAME inPublic
_COMMENT the public template
_TYPE TPM2B_DATA
_NAME outsideInfo
_COMMENT data that will be included in the creation data for this object to provide permanent, verifiable linkage between this object and some object owner data
_TYPE TPML_PCR_SELECTION
_NAME creationPCR
_COMMENT PCR that will be used in creation data
_OUTPUT_START TPM2_CreatePrimary
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM_HANDLE
_NAME objectHandle
_COMMENT Handle for created Primary Object
_TYPE TPM2B_PUBLIC
_NAME outPublic
_COMMENT the public portion of the created object
_TYPE TPM2B_CREATION_DATA
_NAME creationData
_COMMENT contains a TPMT_CREATION_DATA
_TYPE TPM2B_DIGEST
_NAME creationHash
_COMMENT digest of creationData using nameAlg of outPublic
_TYPE TPMT_TK_CREATION
_NAME creationTicket
_COMMENT ticket used by TPM2_CertifyCreation() to validate that the creation data was produced by the TPM
_TYPE TPM2B_NAME
_NAME name
_COMMENT the name of the created object
_INPUT_START TPM2_HierarchyControl
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_HierarchyControl {NV E}
_TYPE TPMI_RH_HIERARCHY
_NAME authHandle
_COMMENT TPM_RH_ENDORSEMENT, TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_ENABLES
_NAME enable
_COMMENT the enable being modified TPM_RH_ENDORSEMENT, TPM_RH_OWNER, TPM_RH_PLATFORM, or TPM_RH_PLATFORM_NV
_TYPE TPMI_YES_NO
_NAME state
_COMMENT YES if the enable should be SET, NO if the enable should be CLEAR
_OUTPUT_START TPM2_HierarchyControl
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_SetPrimaryPolicy
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_SetPrimaryPolicy {NV}
_TYPE TPMI_RH_HIERARCHY
_NAME authHandle
_COMMENT TPM_RH_ENDORSEMENT, TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPM2B_DIGEST
_NAME authPolicy
_COMMENT an authorization policy digest; may be the Empty Buffer If hashAlg is TPM_ALG_NULL, then this shall be an Empty Buffer.
_TYPE TPMI_ALG_HASH+
_NAME hashAlg
_COMMENT the hash algorithm to use for the policy If the authPolicy is an Empty Buffer, then this field shall be TPM_ALG_NULL.
_OUTPUT_START TPM2_SetPrimaryPolicy
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_ChangePPS
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ChangePPS {NV E}
_TYPE TPMI_RH_PLATFORM
_NAME authHandle
_COMMENT TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_OUTPUT_START TPM2_ChangePPS
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_ChangeEPS
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ChangeEPS {NV E}
_TYPE TPMI_RH_PLATFORM
_NAME authHandle
_COMMENT TPM_RH_PLATFORM+{PP} Auth Handle: 1 Auth Role: USER
_OUTPUT_START TPM2_ChangeEPS
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_Clear
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_Clear {NV E}
_TYPE TPMI_RH_CLEAR
_NAME authHandle
_COMMENT TPM_RH_LOCKOUT or TPM_RH_PLATFORM+{PP} Auth Handle: 1 Auth Role: USER
_OUTPUT_START TPM2_Clear
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_ClearControl
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ClearControl {NV}
_TYPE TPMI_RH_CLEAR
_NAME auth
_COMMENT TPM_RH_LOCKOUT or TPM_RH_PLATFORM+{PP} Auth Handle: 1 Auth Role: USER
_TYPE TPMI_YES_NO
_NAME disable
_COMMENT YES if the disableOwnerClear flag is to be SET, NO if the flag is to be CLEAR.
_OUTPUT_START TPM2_ClearControl
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_HierarchyChangeAuth
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_HierarchyChangeAuth {NV}
_TYPE TPMI_RH_HIERARCHY_AUTH
_NAME authHandle
_COMMENT TPM_RH_LOCKOUT, TPM_RH_ENDORSEMENT, TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPM2B_AUTH
_NAME newAuth
_COMMENT new authorization value
_OUTPUT_START TPM2_HierarchyChangeAuth
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_DictionaryAttackLockReset
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_DictionaryAttackLockReset {NV}
_TYPE TPMI_RH_LOCKOUT
_NAME lockHandle
_COMMENT TPM_RH_LOCKOUT Auth Index: 1 Auth Role: USER
_OUTPUT_START TPM2_DictionaryAttackLockReset
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_DictionaryAttackParameters
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_DictionaryAttackParameters {NV}
_TYPE TPMI_RH_LOCKOUT
_NAME lockHandle
_COMMENT TPM_RH_LOCKOUT Auth Index: 1 Auth Role: USER
_TYPE UINT32
_NAME newMaxTries
_COMMENT count of authorization failures before the lockout is imposed
_TYPE UINT32
_NAME newRecoveryTime
_COMMENT time in seconds before the authorization failure count is automatically decremented A value of zero indicates that DA protection is disabled.
_TYPE UINT32
_NAME lockoutRecovery
_COMMENT time in seconds after a lockoutAuth failure before use of lockoutAuth is allowed A value of zero indicates that a reboot is required.
_OUTPUT_START TPM2_DictionaryAttackParameters
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_PP_Commands
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_PP_Commands {NV}
_TYPE TPMI_RH_PLATFORM
_NAME auth
_COMMENT TPM_RH_PLATFORM+PP Auth Index: 1 Auth Role: USER + Physical Presence
_TYPE TPML_CC
_NAME setList
_COMMENT list of commands to be added to those that will require that Physical Presence be asserted
_TYPE TPML_CC
_NAME clearList
_COMMENT list of commands that will no longer require that Physical Presence be asserted
_OUTPUT_START TPM2_PP_Commands
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_SetAlgorithmSet
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_SetAlgorithmSet {NV}
_TYPE TPMI_RH_PLATFORM
_NAME authHandle
_COMMENT TPM_RH_PLATFORM Auth Index: 1 Auth Role: USER
_TYPE UINT32
_NAME algorithmSet
_COMMENT a TPM vendor-dependent value indicating the algorithm set selection
_OUTPUT_START TPM2_SetAlgorithmSet
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_FieldUpgradeStart
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_FieldUpgradeStart
_TYPE TPMI_RH_PLATFORM
_NAME authorization
_COMMENT TPM_RH_PLATFORM+{PP} Auth Index:1 Auth Role: ADMIN
_TYPE TPMI_DH_OBJECT
_NAME keyHandle
_COMMENT handle of a public area that contains the TPM Vendor Authorization Key that will be used to validate manifestSignature Auth Index: None
_TYPE TPM2B_DIGEST
_NAME fuDigest
_COMMENT digest of the first block in the field upgrade sequence
_TYPE TPMT_SIGNATURE
_NAME manifestSignature
_COMMENT signature over fuDigest using the key associated with keyHandle (not optional)
_OUTPUT_START TPM2_FieldUpgradeStart
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_FieldUpgradeData
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_FieldUpgradeData {NV}
_TYPE TPM2B_MAX_BUFFER
_NAME fuData
_COMMENT field upgrade image data
_OUTPUT_START TPM2_FieldUpgradeData
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMT_HA+
_NAME nextDigest
_COMMENT tagged digest of the next block TPM_ALG_NULL if field update is complete
_TYPE TPMT_HA
_NAME firstDigest
_COMMENT tagged digest of the first block of the sequence
_INPUT_START TPM2_FirmwareRead
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_FirmwareRead
_TYPE UINT32
_NAME sequenceNumber
_COMMENT the number of previous calls to this command in this sequence set to 0 on the first call
_OUTPUT_START TPM2_FirmwareRead
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_MAX_BUFFER
_NAME fuData
_COMMENT field upgrade image data
_INPUT_START TPM2_ContextSave
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT TPM_ST_NO_SESSIONS
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ContextSave
_TYPE TPMI_DH_CONTEXT
_NAME saveHandle
_COMMENT handle of the resource to save Auth Index: None
_OUTPUT_START TPM2_ContextSave
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMS_CONTEXT
_NAME context
_INPUT_START TPM2_ContextLoad
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT TPM_ST_NO_SESSIONS
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ContextLoad
_TYPE TPMS_CONTEXT
_NAME context
_COMMENT the context blob
_OUTPUT_START TPM2_ContextLoad
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMI_DH_CONTEXT
_NAME loadedHandle
_COMMENT the handle assigned to the resource after it has been successfully loaded
_INPUT_START TPM2_FlushContext
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT TPM_ST_NO_SESSIONS
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_TYPE TPMI_DH_CONTEXT
_NAME flushHandle
_COMMENT TPM_CC_FlushContext the handle of the item to flush NOTE This is a use of a handle as a parameter.
_OUTPUT_START TPM2_FlushContext
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_EvictControl
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_EvictControl {NV}
_TYPE TPMI_RH_PROVISION
_NAME auth
_COMMENT TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Handle: 1 Auth Role: USER
_TYPE TPMI_DH_OBJECT
_NAME objectHandle
_COMMENT the handle of a loaded object Auth Index: None
_TYPE TPMI_DH_PERSISTENT
_NAME persistentHandle
_COMMENT if objectHandle is a transient object handle, then this is the persistent handle for the object if objectHandle is a persistent object handle, then this shall be the same value as persistentHandle
_OUTPUT_START TPM2_EvictControl
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_ReadClock
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_COMMENT TPM_ST_NO_SESSIONS
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ReadClock
_OUTPUT_START TPM2_ReadClock
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMS_TIME_INFO
_NAME currentTime
_INPUT_START TPM2_ClockSet
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ClockSet {NV}
_TYPE TPMI_RH_PROVISION
_NAME auth
_COMMENT TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Handle: 1 Auth Role: USER
_TYPE UINT64
_NAME newTime
_COMMENT new Clock setting in milliseconds
_OUTPUT_START TPM2_ClockSet
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_ClockRateAdjust
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_ClockRateAdjust
_TYPE TPMI_RH_PROVISION
_NAME auth
_COMMENT TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Handle: 1 Auth Role: USER
_TYPE TPM_CLOCK_ADJUST
_NAME rateAdjust
_COMMENT Adjustment to current Clock update rate
_OUTPUT_START TPM2_ClockRateAdjust
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_GetCapability
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_GetCapability
_TYPE TPM_CAP
_NAME capability
_COMMENT group selection; determines the format of the response
_TYPE UINT32
_NAME property
_COMMENT further definition of information
_TYPE UINT32
_NAME propertyCount
_COMMENT number of properties of the indicated type to return
_OUTPUT_START TPM2_GetCapability
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPMI_YES_NO
_NAME moreData
_COMMENT flag to indicate if there are more values of this type
_TYPE TPMS_CAPABILITY_DATA
_NAME capabilityData
_COMMENT the capability data
_INPUT_START TPM2_TestParms
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_TestParms
_TYPE TPMT_PUBLIC_PARMS
_NAME parameters
_COMMENT algorithm parameters to be validated
_OUTPUT_START TPM2_TestParms
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_NV_DefineSpace
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_DefineSpace {NV}
_TYPE TPMI_RH_PROVISION
_NAME authHandle
_COMMENT TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPM2B_AUTH
_NAME auth
_COMMENT the authorization value
_TYPE TPM2B_NV_PUBLIC
_NAME publicInfo
_COMMENT the public parameters of the NV area
_OUTPUT_START TPM2_NV_DefineSpace
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_NV_UndefineSpace
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_UndefineSpace {NV}
_TYPE TPMI_RH_PROVISION
_NAME authHandle
_COMMENT TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index to remove from NV space Auth Index: None
_OUTPUT_START TPM2_NV_UndefineSpace
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_NV_UndefineSpaceSpecial
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_UndefineSpaceSpecial {NV}
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT Index to be deleted Auth Index: 1 Auth Role: ADMIN
_TYPE TPMI_RH_PLATFORM
_NAME platform
_COMMENT TPM_RH_PLATFORM + {PP} Auth Index: 2 Auth Role: USER
_OUTPUT_START TPM2_NV_UndefineSpaceSpecial
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_NV_ReadPublic
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_ReadPublic
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index Auth Index: None
_OUTPUT_START TPM2_NV_ReadPublic
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_NV_PUBLIC
_NAME nvPublic
_COMMENT the public area of the NV Index
_TYPE TPM2B_NAME
_NAME nvName
_COMMENT the Name of the nvIndex
_INPUT_START TPM2_NV_Write
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_Write {NV}
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index of the area to write Auth Index: None
_TYPE TPM2B_MAX_NV_BUFFER
_NAME data
_COMMENT the data to write
_TYPE UINT16
_NAME offset
_COMMENT the offset into the NV Area
_OUTPUT_START TPM2_NV_Write
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_NV_Increment
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_Increment {NV}
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index to increment Auth Index: None
_OUTPUT_START TPM2_NV_Increment
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_NV_Extend
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_Extend {NV}
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index to extend Auth Index: None
_TYPE TPM2B_MAX_NV_BUFFER
_NAME data
_COMMENT the data to extend
_OUTPUT_START TPM2_NV_Extend
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_INPUT_START TPM2_NV_SetBits
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_SetBits {NV}
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT NV Index of the area in which the bit is to be set Auth Index: None
_TYPE UINT64
_NAME bits
_COMMENT the data to OR with the current contents
_OUTPUT_START TPM2_NV_SetBits
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 33.10.3 1 2 3
_INPUT_START TPM2_NV_WriteLock
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_WriteLock {NV}
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index of the area to lock Auth Index: None
_OUTPUT_START TPM2_NV_WriteLock
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 33.11.3 1 2 3
_INPUT_START TPM2_NV_GlobalWriteLock
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_GlobalWriteLock
_TYPE TPMI_RH_PROVISION
_NAME authHandle
_COMMENT TPM_RH_OWNER or TPM_RH_PLATFORM+{PP} Auth Index: 1 Auth Role: USER
_OUTPUT_START TPM2_NV_GlobalWriteLock
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 33.12.3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
_INPUT_START TPM2_NV_Read
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_Read
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT the handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index to be read Auth Index: None
_TYPE UINT16
_NAME size
_COMMENT number of octets to read
_TYPE UINT16
_NAME offset
_COMMENT octet offset into the area This value shall be less than or equal to the size of the nvIndex data.
_OUTPUT_START TPM2_NV_Read
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_TYPE TPM2B_MAX_NV_BUFFER
_NAME data
_COMMENT the data read 33.13.3 1 2 3
_INPUT_START TPM2_NV_ReadLock
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_ReadLock
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT the handle indicating the source of the authorization value Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT the NV Index to be locked Auth Index: None
_OUTPUT_START TPM2_NV_ReadLock
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 33.14.3 1 2 3
_INPUT_START TPM2_NV_ChangeAuth
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_ChangeAuth {NV}
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT handle of the object Auth Index: 1 Auth Role: ADMIN
_TYPE TPM2B_AUTH
_NAME newAuth
_COMMENT new authorization value
_OUTPUT_START TPM2_NV_ChangeAuth
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT 33.15.3 1 2
_INPUT_START TPM2_NV_Certify
_TYPE TPMI_ST_COMMAND_TAG
_NAME tag
_TYPE UINT32
_NAME commandSize
_TYPE TPM_CC
_NAME commandCode
_COMMENT TPM_CC_NV_Certify
_TYPE TPMI_DH_OBJECT+
_NAME signHandle
_COMMENT handle of the key used to sign the attestation structure Auth Index: 1 Auth Role: USER
_TYPE TPMI_RH_NV_AUTH
_NAME authHandle
_COMMENT handle indicating the source of the authorization value for the NV Index Auth Index: 2 Auth Role: USER
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_COMMENT Index for the area to be certified Auth Index: None
_TYPE TPM2B_DATA
_NAME qualifyingData
_COMMENT user-provided qualifying data
_TYPE TPMT_SIG_SCHEME+
_NAME inScheme
_COMMENT signing scheme to use if the scheme for signHandle is TPM_ALG_NULL
_TYPE UINT16
_NAME size
_COMMENT number of octets to certify
_TYPE UINT16
_NAME offset
_COMMENT octet offset into the area This value shall be less than or equal to the size of the nvIndex data.
_OUTPUT_START TPM2_NV_Certify
_TYPE TPM_ST
_NAME tag
_COMMENT see clause 8
_TYPE UINT32
_NAME responseSize
_TYPE TPM_RC
_NAME responseCode
_COMMENT .
_TYPE TPM2B_ATTEST
_NAME certifyInfo
_COMMENT the structure that was signed
_TYPE TPMT_SIGNATURE
_NAME signature
_COMMENT the asymmetric signature over certifyInfo using the key referenced by signHandle 33.16.3 1 2 3 4
_END