1.The TCG Software Stack (TSS)
1.1General Introduction
1.2Introduction to the TSS
1.3TSS functions defined are not exclusive
1.4Platform Architecture
1.4.1Platform Modes
1.4.2Procedure Calls
1.4.2.1Local Procedure Call (LPC)
1.4.2.2Remote Procedure Call (RPC)
1.5Trust Boundaries
1.6Privacy Boundaries
1.7OS Dependency
1.8Roles
1.8.1TPM Owner
1.8.2TPM User
1.8.3Platform Administrator
1.8.4Platform User
1.8.5Operator
1.8.6Public
1.9TSS Architecture
1.9.1TCG Service Provider (TSP)
1.9.1.1TSP Interface (TSPI)
1.9.1.2TSP Context Manager (TSPCM)
1.9.1.3TSP Cryptographic Functions (TSPCF)
1.9.2TCG Core Services (TCS)
1.9.2.1TCS Interface (Tcsi)
1.9.2.2TCS Context Manager (TCSCM)
1.9.2.3TCS Key & Credential Manager (TCSKCM)
1.9.2.4TCS Event Manager (TCSEM)
1.9.2.5TCS TPM Parameter Block Generator (TcsipBG)
1.9.3TCG Device Driver Library (TDDL)
1.9.3.1TDDL Interface (Tddli)
1.9.4TPM Device Driver (TDD)
1.9.4.1TDD Interface (TDDI)
1.9.5Remote Procedure Calls
1.9.5.1Command Filtering
1.9.5.2Stateless
1.9.5.3Stateful
1.9.6Cryptographic Infrastructures
2.Common Environment
2.1Naming Conventions
2.2Abbreviations
2.3Definitions
2.3.1Data Types
2.3.2Defined Constants
2.3.2.1Object Type Definitions
2.3.2.2Object Initialization Definitions
2.3.2.3Attribute Definitions for a Context Object
2.3.2.4Attribute Definitions for a TPM Object
2.3.2.5Attribute Definitions for a Policy Object
2.3.2.6Attribute Definitions for a Key Object
2.3.2.7Attribute Definitions for a Data Object
2.3.2.8Attribute definitions for NV objects
2.3.2.9Attribute definitions for MigData objects
2.3.2.10Attribute Definitions for Hash Objects
2.3.2.11Attribute Definitions for a PcrComposite Object
2.3.2.12Attribute Definitions for DelFamily Objects
2.3.2.13Attribute Definitions for DAA Objects
2.3.2.14Policy Definitions for Secret Mode
2.3.2.15Policy Definition for Secret Lifetime
2.3.2.16TPM Status Flags Definitions
2.3.2.17Algorithm ID Definitions
2.3.2.18Capability Flag Definitions
2.3.2.19Sub-Capability Flag Definitions
2.3.2.20Persistent Storage Flag Definitions
2.3.2.21Migration Scheme Definitions
2.3.2.22Key Size Definitions
2.3.2.23Key Type Flags
2.3.2.24Key Structure Types
2.3.2.25Key Authorization
2.3.2.26Key Encryption Scheme Definitions
2.3.2.27Key Signature Scheme Definitions
2.3.2.28PCR Structure Types
2.3.2.29Event Type Definitions
2.3.2.30Well Known Secret
2.4Return Codes
2.4.1Return Codes Scheme
2.4.2Common Return Code Defines
2.4.3Common Return Code Rules
2.5OS Specific Considerations
2.5.1OS Specific Error Information:
2.5.1.1Windows Operating System:
2.5.1.1.1COM Error Codes:
2.5.1.1.2ErrorSample
2.5.2Unicode considerations
2.6Structures
2.6.1TSS_VERSION
2.6.2TSS_PCR_EVENT
2.6.3TSS_EVENT_CERT
2.6.4TSS_UUID
2.6.5TSS_KM_KEYINFO
2.6.6TSS_KM_KEYINFO2
2.6.7TSS_VALIDATION
2.6.8TPM_COUNTER_VALUE
2.6.9TSS_CALLBACK
3.DAA Structures
3.1TSS_DAA_PK
3.2TSS_DAA_PK_PROOF
3.3TSS_DAA_SK
3.4TSS_DAA_AR_PK
3.5TSS_DAA_AR_SK
3.6TSS_DAA_CRED_ISSUER
3.7TSS_DAA_CREDENTIAL
3.8TSS_DAA_CREDENTIAL_REQUEST
3.9TSS_DAA_SELECTED_ATTRIB
3.10TSS_DAA_SIGNATURE
3.11TSS_DAA_SIGN_CALLBACK
3.12TSS_DAA_SIGN_DATA
3.13TSS_DAA_ATTRIB_COMMIT
3.14TSS_DAA_PSEUDONYM
3.15TSS_DAA_PSEUDONYM_PLAIN
3.16TSS_DAA_PSEUDONYM_ENCRYPTED
3.17TSS_DAA_IDENTITY_PROOF
3.18TSS_DAA_JOIN_SESSION
3.19TSS_DAA_JOIN_ISSUER_SESSION
3.20DAA Error codes
3.21NonVolatile Memory Functions Definitions-Object Type Definitions
3.22Key Management
3.22.1TSS Load Key Command Flow
3.22.2TSS Load Key Flow Diagram
3.22.3Key Handles
3.23Portable Data
3.23.2Portable Data Format Conversion Functions
3.23.2.1Tspi_EncodeDER_TssBlob
3.23.2.2Tspi_DecodeBER_TssBlob
4.TCG Service Provider (TSP)
4.1Theory of Operation
4.1.1Functional Overview
4.1.2Interface Design
4.1.2.1Classes
4.1.2.2Object Relationship
4.1.3Authorization Data Handling
4.1.3.1Secrets Handled by Service Provider
4.1.3.2Secrets Handled by Application
4.1.4Implementation Considerations
4.1.5User Interface Elements
4.1.6Runtime Considerations
4.2TSPI-specific Return Code Defines
4.3Interface Description
4.3.1Syntax
4.3.2Calling Conventions regarding Memory Management
4.3.3Classes and Methods
4.3.3.1Common Methods Definition
4.3.3.1.1Tspi_SetAttribUint32
4.3.3.1.2Tspi_GetAttribUint32
4.3.3.1.3Tspi_SetAttribData
4.3.3.1.4Tspi_GetAttribData
4.3.3.1.5Tspi_ChangeAuth
4.3.3.1.6Tspi_ChangeAuthAsym
4.3.3.1.7Tspi_GetPolicyObject
4.3.3.2Tspi_Context Class Definition
4.3.3.2.1Tspi_Context_Create
4.3.3.2.2Tspi_Context_Close
4.3.3.2.3Tspi_SetAttribUint32
4.3.3.2.4Tspi_GetAttribUint32
4.3.3.2.5Tspi_SetAttribData
4.3.3.2.6Tspi_GetAttribData
4.3.3.2.7Tspi_Context_Connect
4.3.3.2.8Tspi_Context_FreeMemory
4.3.3.2.9Tspi_Context_GetDefaultPolicy
4.3.3.2.10Tspi_Context_CreateObject
4.3.3.2.11Tspi_Context_CloseObject
4.3.3.2.12Tspi_Context_GetCapability
4.3.3.2.13Tspi_Context_GetTPMObject
4.3.4 Encryption Transport Session
4.3.4.1Extensions of TSP-Context-Object
4.3.4.1.1Tspi_SetAttribUint32
4.3.4.1.2Tspi_GetAttribUint32
4.3.4.1.3Tspi_Context_SetTransEncryptionKey
4.3.4.1.4Tspi_Context_CloseSignTransport
4.3.4.2Finding, Loading, and Registering Keys in a Context
4.3.4.2.1Tspi_Context_LoadKeyByBlob
4.3.4.2.2Tspi_Context_LoadKeyByUUID
4.3.4.2.3Tspi_Context_RegisterKey
4.3.4.2.4Tspi_Context_UnregisterKey
4.3.4.2.5Tspi_Context_GetKeyByUUID
4.3.4.2.6Tspi_Context_GetKeyByPublicInfo
4.3.4.2.7Tspi_Context_GetRegisteredKeysByUUID
4.3.4.2.8Tspi_Context_GetRegisteredKeysByUUID2
4.3.4.2.9Tspi_TPM_KeyControlOwner
4.3.4.3TSS_PLATFORM_CLASS
4.3.4.4TSPI_Policy Class Definition
4.3.4.4.1Tspi_SetAttribUint32
4.3.4.4.2Tspi_GetAttribUint32
4.3.4.4.3Tspi_SetAttribData
4.3.4.4.4Tspi_GetAttribData
4.3.4.4.5Tspi_Policy_SetSecret
4.3.4.4.6Tspi_Policy_FlushSecret
4.3.4.4.7Tspi_Policy_AssignToObject
4.3.4.5Tspi_TPM_Class Definition
4.3.4.5.1Tspi_SetAttribUint32
4.3.4.5.2Tspi_GetAttribUint32
4.3.4.5.3Tspi_SetAttribData
4.3.4.5.4Tspi_GetAttribData
4.3.4.6Identity Management
4.3.4.6.1Tspi_TPM_CreateEndorsementKey
4.3.4.6.2Tspi_TPM_GetPubEndorsementKey
4.3.4.6.3Tspi_TPM_CollateIdentityRequest
4.3.4.6.4Tspi_TPM_ActivateIdentity
4.3.4.7New EK commands:
4.3.4.7.1Tspi_TPM_CreateRevocableEndorsementKey
4.3.4.7.2Tspi_TPM_RevokeEndorsementKey
4.3.4.8Setup and Takedown Commands
4.3.4.8.1Tspi_TPM_TakeOwnership
4.3.4.8.2Tspi_TPM_ClearOwner
4.3.4.8.3Tspi_TPM_CreateMaintenanceArchive
4.3.4.8.4Tspi_TPM_KillMaintenanceFeature
4.3.4.8.5Tspi_TPM_LoadMaintenancePubKey
4.3.4.8.6Tspi_TPM_CheckMaintenancePubKey
4.3.4.8.7Tspi_TPM_SetOperatorAuth
4.3.4.9TPM Get and Set Status Commands
4.3.4.9.1Tspi_TPM_SetStatus
4.3.4.9.2Tspi_TPM_GetStatus
4.3.4.10Get TPM Capabilities
4.3.4.10.1Tspi_TPM_GetCapability
4.3.4.10.2Tspi_TPM_GetCapabilitySigned
4.3.4.11Test Commands
4.3.4.11.1Tspi_TPM_SelfTestFull
4.3.4.11.2Tspi_TPM_CertifySelfTest
4.3.4.11.3Tspi_TPM_GetTestResult
4.3.4.12Random Numbers
4.3.4.12.1Tspi_TPM_GetRandom
4.3.4.12.2Tspi_TPM_StirRandom
4.3.4.13Old PCR Commands
4.3.4.13.1Tspi_TPM_GetEvent
4.3.4.13.2Tspi_TPM_GetEvents
4.3.4.13.3Tspi_TPM_GetEventLog
4.3.4.13.4Tspi_TPM_Quote
4.3.4.13.5Tspi_TPM_PcrExtend
4.3.4.13.6Tspi_TPM_PcrRead
4.3.4.14Tspi_Data Class Definition for Seal and PCRs
4.3.4.14.1 Tspi_GetAttribUint32 / Tspi_SetAttribUint32
4.3.4.15Tspi_PcrComposite Class Definition
4.3.4.15.1Tspi_SetAttribUint32
4.3.4.15.2Tspi_GetAttribUint32
4.3.4.15.3Tspi_PcrComposite_SelectPcrIndex
4.3.4.15.4Tspi_PcrComposite_SetPcrValue
4.3.4.15.5Tspi_PcrComposite_GetPcrValue
4.3.4.16New PCR commands:
4.3.4.16.1Tspi_TPM_PcrReset
4.3.4.16.2Tspi_Data_Seal
4.3.4.16.3Tspi_Data_SealX
4.3.4.16.4Tspi_TPM_Quote2
4.3.4.16.5Tspi_PcrComposite_SetPcrLocality
4.3.4.16.6Tspi_PcrComposite_GetPcrLocality
4.3.4.16.7Tspi_PcrComposite_GetCompositeHash
4.3.4.16.8Tspi_PcrComposite_SelectPcrIndexEx
4.3.4.17Keys: Create, load, manage
4.3.4.17.1Tspi_ChangeAuth
4.3.4.17.2Tspi_GetPolicyObject
4.3.4.18Tspi_Key Class Definition
4.3.4.18.1Tspi_SetAttribUint32
4.3.4.18.2Tspi_GetAttribUint32
4.3.4.18.3Tspi_SetAttribData
4.3.4.18.4Tspi_GetAttribData
4.3.4.18.5Tspi_Key_LoadKey
4.3.4.18.6Tspi_Key_UnloadKey
4.3.4.18.7Tspi_Key_GetPubKey
4.3.4.18.8Tspi_Key_CertifyKey
4.3.4.18.9Tspi_Key_CreateKey
4.3.4.18.10Tspi_Key_WrapKey
4.3.4.18.11Tspi_TPM_AuthorizeMigrationTicket
4.3.4.18.12Tspi_Key_CreateMigrationBlob
4.3.4.18.13Tspi_Key_ConvertMigrationBlob
4.3.4.18.14Tspi_ChangeAuth
4.3.4.18.15Tspi_ChangeAuthAsym
4.3.4.18.16Tspi_GetPolicyObject
4.3.4.19CMK commands:
4.3.4.19.1Tspi_TPM_CMKSetRestrictions
4.3.4.19.2Tspi_TPM_CMKApproveMA
4.3.4.19.3Tspi_TPM_CMKCreateTicket
4.3.4.20Tspi_MigData Class Definition
4.3.4.20.1Tspi_SetAttribUint32
4.3.4.20.2Tspi_GetAttribUint32
4.3.4.20.3Tspi_SetAttribData
4.3.4.20.4Tspi_GetAttribData
4.3.4.20.5Tspi_Key_MigrateKey
4.3.4.20.6Tspi_Key_CMKCreateBlob
4.3.4.20.7Tspi_Key_CMKConvertMigration
4.3.4.21Tspi_Hash Class Definition
4.3.4.21.1Tspi_SetAttribData
4.3.4.21.2Tspi_Hash_Sign
4.3.4.21.3Tspi_Hash_VerifySignature
4.3.4.21.4Tspi_Hash_SetHashValue
4.3.4.21.5Tspi_Hash_GetHashValue
4.3.4.21.6Tspi_Hash_UpdateHashValue
4.3.4.22Tspi_Data Class Definition
4.3.4.22.1Tspi_SetAttribUint32
4.3.4.22.2Tspi_GetAttribUint32
4.3.4.22.3Tspi_SetAttribData
4.3.4.22.4Tspi_GetAttribData
4.3.4.22.5Tspi_Data_Bind
4.3.4.22.6Tspi_Data_Unbind
4.3.4.22.7Tspi_Data_Unseal
4.3.4.22.8Tspi_ChangeAuth
4.3.4.22.9Tspi_ChangeAuthAsym
4.3.4.22.10Tspi_GetPolicyObject
4.3.4.23Monotonic Counter functions
4.3.4.23.1Tspi_TPM_ReadCurrentCounter
4.3.4.24Time Stamping Function Definitions
4.3.4.24.1Tspi_TPM_ReadCurrentTicks
4.3.4.24.2Tspi_Hash_TickStampBlob
4.3.4.25DIR Commands
4.3.4.25.1Tspi_TPM_DirWrite
4.3.4.25.2Tspi_TPM_DirRead
4.3.4.26Tspi_NV Class Definition
4.3.4.26.1Tspi_SetAttribUint32
4.3.4.26.2Tspi_GetAttribUint32
4.3.4.26.3Tspi_SetAttribData
4.3.4.26.4Tspi_GetAttribData
4.3.4.26.5Tspi_NV_DefineSpace
4.3.4.26.6Tspi_NV_ReleaseSpace
4.3.4.26.7Tspi_NV_WriteValue
4.3.4.26.8Tspi_NV_ReadValue
4.3.4.27GPIO
4.3.4.28Delegation TSPI functions
4.3.4.28.1Tspi_SetAttribUint32
4.3.4.28.2Tspi_GetAttribUint32
4.3.4.28.3Tspi_SetAttribData
4.3.4.28.4Tspi_GetAttribData
4.3.4.28.5Tspi_TPM_Delegate_AddFamily
4.3.4.28.6Tspi_TPM_Delegate_GetFamily
4.3.4.28.7Tspi_TPM_Delegate_InvalidateFamily
4.3.4.28.8Tspi_TPM_Delegate_CreateDelegation
4.3.4.28.9Tspi_TPM_Delegate_CacheOwnerDelegation
4.3.4.28.10Tspi_TPM_Delegate_UpdateVerificationCount
4.3.4.28.11Tspi_TPM_Delegate_VerifyDelegation
4.3.4.28.12Tspi_TPM_Delegate_ReadTables
4.3.4.29DAA Commands
4.3.4.29.1Introduction
4.3.4.29.2Components
4.3.4.30DAA Protocols
4.3.4.30.1DAA Join
4.3.4.30.2Limitation
4.3.4.30.3DAA Sign
4.3.4.30.4Keys of DAA Issuer
4.3.4.30.5Notation
4.3.4.30.6Join Protocol
4.3.4.30.7Sign Protocol
4.3.4.30.8Definitions
4.3.4.30.9Lengths
4.3.4.30.10Input to hash functions
4.3.4.31DAA Functions
4.3.4.31.1Tspi_SetAttribUint32
4.3.4.31.2Tspi_GetAttribUint32
4.3.4.31.3Tspi_SetAttribData
4.3.4.31.4Tspi_GetAttribData
4.3.4.31.5Tspi_TPM_DAA_JoinInit
4.3.4.31.6Tspi_TPM_DAA_JoinCreateDaaPubKey
4.3.4.31.7Tspi_TPM_DAA_JoinStoreCredential
4.3.4.31.8Tspi_TPM_DAA_Sign
4.3.4.31.9Tspi_DAA_IssuerKeyVerification
4.3.4.31.10Tspi_DAA_IssueSetup
4.3.4.31.11Tspi_DAA_IssueInit
4.3.4.31.12Tspi_DAA_IssueCredential
4.3.4.31.13Tspi_DAA_VerifyInit
4.3.4.31.14Tspi_DAA_VerifySignature
4.3.4.31.15Tspi_DAA_RevokeSetup
4.3.4.31.16Tspi_DAA_ARDecrypt
4.3.4.32Audit Commands:
4.3.4.32.1New Attribute Definitions for a TPM Object
4.3.4.32.2Tspi_SetAttribUint32
4.3.4.32.3Tspi_TPM_GetAuditDigest
4.3.4.32.4Tspi_TPM_SetOrdinalAuditStatus
4.3.4.33Callback Function Definitions
4.3.4.33.1Tspicb_CallbackHMACAuth
4.3.4.33.2Tspicb_CallbackXorEnc
4.3.4.33.3Tspicb_CallbackTakeOwnership
4.3.4.33.4Tspicb_CallbackSealxMask
4.3.4.33.5Tspicb_CallbackChangeAuthAsym
4.3.4.33.6Tspicb_CollateIdentity
4.3.4.33.7Tspicb_ActivateIdentity
4.3.4.33.8Tspicb_DAA_Sign
4.3.4.33.9Tspicb_DAA_VerifySignature
4.3.4.34Platform Class Command
4.3.4.34.1Tspi_TPM_ReturnPlatformClass
5.TCG Core Services (TCS)
5.1.1TCS Memory Manager
5.1.2TCS Data Marshalling
5.1.3TCS Interface Dynamics
5.2TCS-specific Return Code Defines
5.3TSPI-specific Return code Rules
5.4Structures and Definitions
5.4.1Data Types of the Tcsi
5.4.2TCS_LOADKEY_INFO
5.5TCS Context Manager
5.5.1TCS Context Manager Functions and Operations
5.5.2TCS Context Manager Interface
5.5.2.1Tcsi_OpenContext
5.5.2.2Tcsi_CloseContext
5.5.2.3Tcsi_FreeMemory
5.5.2.4Tcsi_GetCapability
5.6TCS Key and Credential Manager
5.6.1TCS Key & Credential Manager Functions and Operations
5.6.1.1TCS Key Manager
5.6.1.2TCS Key Cache Manager
5.6.1.3TCS Credential Management
5.6.2TCS Key and Credential Manager Interface
5.6.2.1Interfaces
5.6.2.2Key Registration
5.6.2.2.1Tcsi_RegisterKey
5.6.2.2.2Tcsip_UnregisterKey
5.6.2.2.3Tcsip_KeyControlOwner
5.6.2.3TCS Get Key Hierarchy Information
5.6.2.3.1Tcsi_EnumRegisteredKeys
5.6.2.3.2Tcsi_GetRegisteredKey
5.6.2.3.3Tcsi_GetRegisteredKeyBlob
5.6.2.3.4Tcsip_GetRegisteredKeyByPublicInfo
5.6.2.4TCS Loading a Key
5.6.2.4.1Tcsip_LoadKeyByBlob
5.6.2.4.2Tcsip_LoadKeyByUUID
5.6.2.4.3Tcsip_EvictKey
5.6.2.5TCS Creating a Key
5.6.2.5.1Tcsip_CreateWrapKey
5.6.2.6TCS Working with Keys
5.6.2.6.1Tcsip_GetPubKey
5.6.2.6.2Tcsip_OwnerReadInternalPub
5.6.2.7TCS Credential Management
5.6.2.7.1Tcsip_MakeIdentity
5.6.3TCS Use Models
5.6.3.1TCS Load Key by UUID
5.7TCS Event Manager
5.7.1TCS Event Manager Functions and Operations
5.7.2TCS Event Manager Interface
5.7.2.1TCS Event Manager Interface Structures and Definitions
5.7.2.1.1TCS The Event Log
5.7.2.2TCS Event Manager Interface Functions
5.7.2.2.1Tcsi_LogPcrEvent
5.7.2.2.2Tcsi_GetPcrEvent
5.7.2.2.3Tcsi_GetPcrEventsByPcr
5.7.2.2.4Tcsi_GetPcrEventLog
5.8TCS TPM Parameter Block Generator
5.8.1TCS TPM Parameter Block Generator Functions and Operations
5.8.2TCS TPM Parameter Block Generator Interface
5.8.2.1Functions
5.8.2.2TPM Ownership, Authorization, and Identity
5.8.2.2.1Tcsip_SetOwnerInstall
5.8.2.2.2Tcsip_TakeOwnership
5.8.2.2.3Tcsip_OIAP
5.8.2.2.4Tcsip_OSAP
5.8.2.2.5Tcsip_ChangeAuth
5.8.2.2.6Tcsip_ChangeAuthOwner
5.8.2.2.7Tcsip_ChangeAuthAsymStart
5.8.2.2.8Tcsip_ChangeAuthAsymFinish
5.8.2.2.9Tcsip_TerminateHandle
5.8.2.2.10Tcsip_ActivateTPMIdentity
5.8.2.3TCS Context
5.8.2.3.1Tcsi_GetCapability (Versioning, Platform-Type)
5.8.2.4Transport Protection
5.8.2.4.1Tcsip_EstablishTransport
5.8.2.4.2Tcsip_ExecuteTransport
5.8.2.4.3Tcsip_ReleaseTransportSigned
5.8.2.5TPM Mandatory
5.8.2.5.1Tcsip_Extend
5.8.2.5.2Tcsip_PcrRead
5.8.2.5.3Tcsip_Quote
5.8.2.5.4Tcsip_Quote2
5.8.2.5.5Tcsip_DirWriteAuth
5.8.2.6Tcsip_DirRead
5.8.2.6.1Tcsip_Seal
5.8.2.6.2Tcsip_Unseal
5.8.2.6.3Tcsip_UnBind
5.8.2.6.4Tcsip_Sealx
5.8.2.6.5Tcsip_LoadKey2ByBlob
5.8.2.6.6Tcsip_CreateMigrationBlob
5.8.2.6.7Tcsip_ConvertMigrationBlob
5.8.2.6.8Tcsip_AuthorizeMigrationKey
5.8.2.6.9Tcsip_SetOperatorAuth
5.8.2.7TPM Cryptographic Capabilities
5.8.2.7.1Tcsip_CertifyKey
5.8.2.7.2Tcsip_CertifyKey2
5.8.2.7.3Tcsip_Sign
5.8.2.7.4Tcsip_GetRandom
5.8.2.7.5Tcsip_StirRandom
5.8.2.7.6Tcsip_GetCapability
5.8.2.7.7Tcsip_GetCapabilitySigned
5.8.2.7.8Tcsip_GetCapabilityOwner
5.8.2.7.9Tcsip_CreateEndorsementKeyPair
5.8.2.7.10Tcsip_ReadPubek
5.8.2.7.11Tcsip_DisablePubekRead
5.8.2.7.12Tcsip_OwnerReadPubek
5.8.2.8TPM Self-Test and Management
5.8.2.8.1Tcsip_SelfTestFull
5.8.2.8.2Tcsip_CertifySelfTest
5.8.2.8.3Tcsip_ContinueSelfTest
5.8.2.8.4Tcsip_GetTestResult
5.8.2.8.5Tcsip_OwnerSetDisable
5.8.2.8.6Tcsip_OwnerClear
5.8.2.8.7Tcsip_DisableOwnerClear
5.8.2.8.8Tcsip_ForceClear
5.8.2.8.9Tcsip_DisableForceClear
5.8.2.8.10Tcsip_PhysicalDisable
5.8.2.8.11Tcsip_PhysicalEnable
5.8.2.8.12Tcsip_PhysicalSetDeactivated
5.8.2.8.13Tcsip_SetTempDeactivated
5.8.2.8.14Tcsip_SetTempDeactivated2
5.8.2.8.15Tcsip_PhysicalPresence
5.8.2.8.16Tcsip_FieldUpgrade
5.8.2.8.17Tcsip_SetRedirection
5.8.2.9Delegation
5.8.2.9.1Tcsip_DSAP
5.8.2.9.2Tcsip_Delegate_Manage
5.8.2.9.3Tcsip_Delegate_CreateKeyDelegation
5.8.2.9.4Tcsip_Delegate_CreateOwnerDelegation
5.8.2.9.5Tcsip_Delegate_LoadOwnerDelegation
5.8.2.9.6Tcsip_Delegate_UpdateVerificationCount
5.8.2.9.7Tcsip_Delegate_VerifyDelegation
5.8.2.9.8Tcsip_Delegate_ReadTable
5.8.2.10NVRAM
5.8.2.10.1Tcsip_NV_DefineOrReleaseSpace
5.8.2.10.2Tcsip_NV_WriteValue
5.8.2.10.4Tcsip_NV_WriteValueAuth
5.8.2.10.5Tcsip_NV_ReadValue
5.8.2.10.6Tcsip_NV_ReadValueAuth
5.8.2.11TPM Optional
5.8.2.11.1Tcsip_CreateMaintenanceArchive
5.8.2.11.2Tcsip_LoadMaintenanceArchive
5.8.2.11.3Tcsip_KillMaintenanceArchive
5.8.2.11.4Tcsip_LoadManufacturerMaintenancePub
5.8.2.11.5Tcsip_ReadManufacturerMaintenancePub
5.8.2.12New EK Commands
5.8.2.12.1Tcsip_CreateRevocableEndorsementKeyPair
5.8.2.12.2Tcsip_RevokeEndorsementKeyPair
5.8.2.13Section 2: New PCR commands:
5.8.2.13.1Tcsip_PcrReset
5.8.2.14Monotonic Counter TCS functions
5.8.2.14.1Tcsip_ReadCounter
5.8.2.14.2Tcsip_CreateCounter
5.8.2.14.3Tcsip_IncrementCounter
5.8.2.14.4Tcsip_ReleaseCounter
5.8.2.14.5Tcsip_ReleaseCounterOwner
5.8.2.15Time Stamping Function Definitions
5.8.2.15.1Tcsip_TPM_ReadCurrentTicks
5.8.2.15.2Tcsip_TickStampBlob
5.8.2.16DAA Commands
5.8.2.16.1Tcsip_TPM_DAA_Join
5.8.2.16.2Tcsip_TPM_DAA_Sign
5.8.2.17CMK commands:
5.8.2.17.1Tcsip_MigrateKey
5.8.2.17.2Tcsip_CMK_SetRestrictions
5.8.2.17.3Tcsip_CMK_ApproveMA
5.8.2.17.4Tcsip_CMK_CreateKey
5.8.2.17.5Tcsip_CMK_CreateTicket
5.8.2.17.6Tcsip_CMK_CreateBlob
5.8.2.17.7Tcsip_CMK_ConvertMigration
5.8.2.18TPM Set/Get Capability Commands
5.8.2.18.1Tcsip_SetCapability
5.8.2.19Audit Commands:
5.8.2.19.1Tcsip _GetAuditDigest
5.8.2.19.2Tcsip _GetAuditDigestSigned
5.8.2.19.3Tcsip _SetOrdinalAuditStatus
6.TCG Device Driver Library (TDDL)
6.1TDDL Architecture
6.2Memory Management
6.3TDDL Error Code Defines
6.4TDDL-specific Return code Rules
6.5TDDL Interface
6.5.1Tddli_Open
6.5.2Tddli_Close
6.5.3Tddli_Cancel
6.5.4Tddli_GetCapability
6.5.5Tddli_SetCapability
6.5.6Tddli_GetStatus
6.5.7Tddli_TransmitData
6.5.8Tddli_PowerManagement
6.5.9Tddli_PowerManagementControl
7.Flow Chart
8.Administration Functions
8.1Locality Administration
8.1.1Tcsi_Admin_TSS_SessionsPerLocality
8.1.2 Tcsi_Admin_TSS_MaxTimePerLocality
9.References
10.APPENDIX 2. TSP Function Authorization Usage