Main
Documentation
Download
Examples
TSPI API
Links

TSPI interface

For the C-programmer, the MTM patches adds a set of Tspi functions to the TrouSerS interface. These contain no new defined types in relation to the TrouSerS TSS, all new data (with respect to TPM) is represented in binary form only (the definition of good data types for the MTM structures would be an excellent further contribution). The API follows exactly the user tools commands as well as the specification functionality, so the purpose of each individual function should be self-evident in that context. The communication context handling is directly inherited from the TPM TSS.

TSS_RESULT Tspi_MTM_InstallRIM
(
   TSS_HTPM hTPM, // in
   UINT32 ulRimCertSize, // in
   BYTE * rimCertData, // in
   UINT32 * outCertSize, // out
   BYTE ** outCertData // out
);

TSS_RESULT Tspi_MTM_VerifyRIMCert
(
   TSS_HTPM hTPM, // in
   UINT32 ulRimCertSize, // in
   BYTE * rimCertData, // in
   UINT32 hVerificationKey // in
);

TSS_RESULT Tspi_MTM_VerifyRIMCertAndExtend
(
   TSS_HTPM hTPM, // in
   UINT32 ulRimCertSize, // in
   BYTE * rimCertData, // in
   UINT32 hVerificationKey, // in
   TCPA_PCRVALUE * pPcrValue // out
);

TSS_RESULT Tspi_MTM_LoadVerificationKey
(
   TSS_HTPM hTPM, // in
   UINT32 hParentKey, // in
   UINT32 verificationKeySize,// in
   BYTE * verificationKeyData,// in
   UINT32 * hVerificationKey, // out
   BYTE * loadMethod // out
);

TSS_RESULT Tspi_MTM_LoadVerificationRootKeyDisable
(
   TSS_HTPM hTPM // in
);

TSS_RESULT Tspi_MTM_SetVerifiedPCRSelection
(
   TSS_HTPM hTPM, // in
   TCPA_PCR_SELECTION * selection // in
);

TSS_RESULT Tspi_MTM_IncrementBootstrapCounter
(
   TSS_HTPM hTPM, // in
   UINT32 ulRimCertSize, // in
   BYTE * rimCertData, // in
   UINT32 hKey // in
);



Updated: 25.2.2008