TPM 程序设计基础 1-2-2 :旧的 PCR 命令

Old PCR Commands

旧的 PCR 命令。

  • 注意:本文只提供相关函数的说明、定义、参数、返回值、注释等的简单翻译,对于更多信息、疑问或错误之处,请阅读原英文文档。

Tspi_TPM_GetEvent

《TSS V1.2.pdf》 P282 4.3.4.12.1 Tspi_TPM_GetEvent

信息说明开始
该方法为给定的PCR指标和事件数提供PCR事件。
信息说明结束

定义
	TSS_RESULT Tspi_TPM_GetEvent 
	(
        TSS_HTPM hTPM, // in
        UINT32 ulPcrIndex, // in
        UINT32 ulEventNumber, // in
        TSS_PCR_EVENT* pPcrEvent // out
	);


参数
    hTPM
    	TPM对象的句柄
    ulPcrIndex
    	指标要求PCR。
    ulEventNumber
    	要请求的事件的索引。
    pPcrEvent
    	接收PCR事件数据。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR

注释

Tspi_TPM_GetEvents

《TSS V1.2.pdf》 P283 4.3.4.12.2 Tspi_TPM_GetEvents

信息说明开始
该方法为给定的指标提供特定数量的PCR事件。
信息说明结束

定义
	TSS_RESULT Tspi_TPM_GetEvents
	(
        TSS_HTPM hTPM, // in
        UINT32 ulPcrIndex, // in
        UINT32 ulStartNumber, // in
        UINT32* pulEventNumber, // in, out
        TSS_PCR_EVENT** prgPcrEvents // out
	);

参数
    hTPM
    	TPM对象的句柄
    ulPcrIndex
    	指标要求PCR。
    ulStartNumber
    	请求的第一个事件的索引。
    pulEventNumber
    	[IN]请求元素的数量。[OUT]在prgpcre参数中接收返回的事件数据结构的数量
    prgPcrEvents
    	接收指向PCR事件数据数组的指针。如果为空,则只在pulEventNumber参数中返回元素的数量。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR

注释
Tspi_TPM_GetEvents方法为请求的事件数据分配一个内存块。必须使用Tspi_Context_FreeMemory方法释放该内存。

Tspi_TPM_GetEventLog

《TSS V1.2.pdf》 P285 4.3.4.12.3 Tspi_TPM_GetEventLog

信息说明开始
此方法提供整个事件日志。
信息说明结束

定义
	TSS_RESULT Tspi_TPM_GetEventLog
	(
        TSS_HTPM hTPM, // in
        UINT32* pulEventNumber, // out
        TSS_PCR_EVENT** prgPcrEvents // out
	);

参数
    hTPM
    	TPM对象的句柄
    pulEventNumber
    	在prgpcre参数中接收返回的事件数据结构的数量
    prgPcrEvents
    	接收指向PCR事件数据数组的指针。如果为空,则只在pulEventNumber参数中返回元素的数量。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR

注释
Tspi_TPM_GetEventLog方法为请求的事件数据分配一个内存块。必须使用Tspi_Context_FreeMemory方法释放该内存。

Tspi_TPM_Quote

《TSS V1.2.pdf》 P286 4.3.4.12.4 Tspi_TPM_Quote

信息说明开始
该方法引用了一个TCG系统。
信息说明结束

定义
	TSS_RESULT Tspi_TPM_Quote
	(
        TSS_HTPM hTPM, // in
        TSS_HKEY hIdentKey, // in
        TSS_HPCRS hPcrComposite, // in
        TSS_VALIDATION* pValidationData // in, out
	);

参数
    hTPM
    	TPM对象的句柄
    hIdentKey
    	签名密钥对象的句柄
    hPcrComposite
    	PCR复合物的句柄;结构类型必须是TSS_PCRS_STRUCT_INFO。[在]选定的pcr中引用
    pValidationData
    	验证数据结构[IN]提供了计算签名所需的外部数据信息。在成功完成命令后,该结构提供一个包含验证数据的缓冲区和一个包含验证数据的缓冲区。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR

注释
在调用该方法之前,必须在PcrComposite对象中设置关于应该引用哪些pcr的所需信息。在返回时,集合的每个元素都有其pcrValue集。
如果在hPcrComposite对象中使用的结构类型不是TSS_PCRS_STRUCT_INFO,那么将返回错误TSS_E_INVALID_OBJ_ACCESS。
返回签名是在TCG 1.1b主规范中定义的TCPA_QUOTE_INFO结构上计算的。
Tspi_TPM_Quote方法为请求的验证数据分配内存块。必须使用Tspi_Context_FreeMemory方法释放该内存。

Tspi_TPM_PcrExtend

《TSS V1.2.pdf》 P288 4.3.4.12.5 Tspi_TPM_PcrExtend

信息说明开始
该方法扩展PCR寄存器并写入PCR事件日志。
信息说明结束

定义
	TSS_RESULT Tspi_TPM_PcrExtend
	(
        TSS_HTPM hTPM, // in
        UINT32 ulPcrIndex, // in
        UINT32 ulPcrDataLength,   // in
        BYTE*   pbPcrData, // in
        TSS_PCR_EVENT* pPcrEvent, // in
        UINT32* pulPcrValueLength, // out
        BYTE** prgbPcrValue // out
	);

参数
    hTPM
    	TPM对象的句柄
    ulPcrIndex
    	PCR指标延长。
    ulPcrDataLength
    	参数包含要扩展的数据长度。
    pbPcrData
    	指向PCR扩展操作的数据blob的数据指针。如果pPcrEvent不为空,则该数据将用于根据节中TSS_PCR_EVENT结构的rgbPcrValue参数的描述创建的散列。如果pPcrEvent是本节中TSS_PCR_EVENT结构的参数。如果pPcrEvent为空,则该数据将被扩展到TPM中,而不会被TSP触及。
    pPcrEvent
    	指向包含事件项信息的TSS_PCR_EVENT结构的指针。如果该指针为空,则不创建任何事件项,且该函数仅执行扩展操作。如果非空,这个结构的成员将由TSP根据章节中的规则设置。
    pulPcrValueLength
    	接收prgbPcrValue参数的长度(以字节为单位)。
    prgbPcrValue
		接收一个指针,该指针指向在扩展操作之后包含PCR数据的内存块。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR

注释
Tspi_TPM_PcrExtend方法为prgbPcrValue数据分配一个内存块。
必须使用Tspi_Context_FreeMemory方法释放该内存。

Tspi_TPM_PcrRead

《TSS V1.2.pdf》 P290 4.3.4.12.6 Tspi_TPM_PcrRead

信息说明开始
该方法读取PCR寄存器。
信息说明结束

定义
	TSS_RESULT Tspi_TPM_PcrRead
	(
        TSS_HTPM hTPM, // in
        UINT32 ulPcrIndex, // in
        UINT32* pulPcrValueLength, // out
        BYTE** prgbPcrValue // out
	);

参数
    hTPM
        TPM对象的句柄
    ulPcrIndex
    	指数PCR读。
    pulPcrValueLength
    	接收prgbPcrValue参数的长度(以字节为单位)。
    prgbPcrValue
    	接收一个指向包含PCR数据的内存块的指针。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR

注释
Tspi_TPM_PcrRead方法为prgbPcrValue数据分配一个内存块。
必须使用Tspi_Context_FreeMemory方法释放该内存。
posted @ 2020-04-29 10:38  Yogile  阅读(772)  评论(0编辑  收藏  举报