TPM 程序设计基础 1-2-3 :Tspi_PcrComposite 类定义

Tspi_PcrComposite Class Definition

Tspi_PcrComposite 类定义

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

Tspi_SetAttribUint32

《TSS V1.2.pdf》 P292 4.3.4.14.1 Tspi_SetAttribUint32

信息说明开始
该方法设置PcrComposite对象的32位属性。
信息说明结束

定义
定义见4.3.2节。

参数
有关说明请参见第4.3.2节。

定义属性
    Flag
    	TSS_TSPATTRIB_PCRS_INFO
    SubFlag
    	 TSS_TSPATTRIB _PCRSINFO_PCRSTRUCT
    Attribute
    	TSS__PCRS_STRUCT XX
    Description
    	值,表示PCR结构的类型,如2.3.2.31所定义。
    	
返回值
See section 4.3.2 for description.

注释
在调用以下方法来设置PcrComposite对象中的值之后,TSS_TSPATTRIB_PCRS_INFO标志的属性不能被设置:Tspi_PcrComposite_SelectPcrIndex()、Tspi_PcrComposite_SelectPcrIndexEx()、Tspi_PcrComposite_SetPcrValue()、Tspi_PcrComposite_SetPcrLocality();尝试这样做将导致返回TSS_E_INVALID_ATTRIB_FLAG。

Tspi_GetAttribUint32

《TSS V1.2.pdf》 P293 4.3.4.14.2 Tspi_GetAttribUint32

信息说明开始
该方法获取PcrComposite对象的32位属性。
信息说明结束

定义
定义见4.3.3.1.2节。

参数
说明见4.3.3.1.2节。

定义属性
    Flag
    	TSS_TSPATTRIB_PCRS_INFO
    SubFlag
    	 TSS_TSPATTRIB _PCRSINFO_PCRSTRUCT
    Attribute
    	TSS__PCRS_STRUCT_XX
    Description
    	值,表示PCR结构的类型,如2.3.2.31所定义。

返回值
说明见4.3.3.1.2节。

注释

Tspi_PcrComposite_SelectPcrInde

在PCR复合对象中选择一个PCR指标

《TSS V1.2.pdf》 P294 4.3.4.14.3 Tspi_PcrComposite_SelectPcrInde

信息说明开始
该方法使用1.1 TCPA_PCR_INFO结构在PCR复合对象中选择一个PCR指标。PCR复合对象必须使用函数Tspi_Context_CreateObject()创建。使用的一个例子是在调用Tspi_TPM_Quote()之前选择PCR寄存器。
信息说明结束

定义
	TSS_RESULT Tspi_PcrComposite_SelectPcrIndex 
	(
        TSS_HPCRS hPcrComposite, // in 
        UINT32 ulPcrIndex // in 
	);

参数
	hPcrComposite
		处理PCR复合对象实例,其中应该选择索引。
	ulPcrIndex
		这个参数表示要选择的PCR指标。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR
注释
PCR复合对象必须由Tspi_Context_CreateObject()方法创建,并设置为使用1.1 TCPA_PCR_INFO结构。此方法的一个使用示例是在调用Tspi_TPM_Quote()之前选择PCR寄存器。在同一个PCR复合对象上多次调用该方法,可以选择多个指标不同的PCR。
如果PcrComposite对象使用的不是1.1 TCPA_PCR_INFO结构,则该函数将返回TSS_E_INVALID_OBJ_ACCESS。

Tspi_PcrComposite_SetPcrValue

给定PCR指数的摘要设置在PCR复合对象中

《TSS V1.2.pdf》 P295 4.3.4.14.4 Tspi_PcrComposite_SetPcrValue

信息说明开始
该方法将给定PCR指数的摘要设置在PCR复合对象中。
信息说明结束

定义
	TSS_RESULT Tspi_PcrComposite_SetPcrValue 
	(
        TSS_HPCRS hPcrComposite, // in 
        UINT32 ulPcrIndex, // in 
        UINT32 ulPcrValueLength, // in 
        BYTE* rgbPcrValue // in 
	);

参数
	hPcrComposite
		处理PCR复合对象实例,其中应该设置PCR值。
	ulPcrIndex
		该参数指示要设置的PCR指标。
	ulPcrValueLength
		rgbPcrValue参数的长度(以字节为单位)
	rgbPcrValue
		指向内存的指针,其中包含ulPcrIndex表示的PCR应设置的实际值。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERROR

注释
使用的一个例子是在调用Tspi_Key_CreateKey()之前准备一个PCR复合对象。PCR复合对象必须是由Tspi_Context_CreateObject()方法创建的。在同一个PCR复合对象上多次调用该方法,可以设置多个指标不同的PCR。
该方法可用于在PCR复合对象中设置PCR值,而不考虑PCR结构的类型(TCPA_PCR_INFO、TCPA_PCR_INFO_LONG、TCPA_PCR_INFO_SHORT)。
当使用TCPA_PCR_INFO_LONG结构时,该方法设置DigestAtRelease的PCR值。

Tspi_PcrComposite_GetPcrValue

返回PCR复合对象中给定PCR索引的摘要值

《TSS V1.2.pdf》 P296 4.3.4.14.5 Tspi_PcrComposite_GetPcrValue

信息说明开始
该方法返回PCR复合对象中给定PCR索引的摘要值。
信息说明结束

定义
	TSS_RESULT Tspi_PcrComposite_GetPcrValue 
	(
        TSS_HPCRS hPcrComposite, // in 
        UINT32 ulPcrIndex, // in 
        UINT32* pulPcrValueLength, // out 
        BYTE** prgbPcrValue // out 
	);

参数
	hPcrComposite
		处理PCR复合对象实例,从该实例返回PCR值。
	ulPcrIndex
		该参数表示PCR要读取的指标。
	pulPcrValueLength
		接收prgbPcrValue参数的长度(以字节为单位)。
	prgbPcrValue
		成功完成后,该参数接收一个指向内存块的指针,其中包含ulPcrIndex表示的PCR值。

返回值
	TSS_SUCCESS
	TSS_E_INVALID_HANDLE
	TSS_E_BAD_PARAMETER
	TSS_E_INTERNAL_ERRO

注释
使用此方法的一个示例是在Tspi_TPM_Quote()调用后检索PCR的值。在一个PCR复合对象上多次调用该方法,可以检索到多个不同索引的PCR阀值。
无论PCR结构的类型(TCPA_PCR_INFO、TCPA_PCR_INFO_LONG、TCPA_PCR_INFO_SHORT)如何,都可以使用该方法获得PCR复合对象的PCR值。
当使用TCPA_PCR_INFO_LONG结构时,此方法获取DigestAtRelease的PCR值。
Tspi_PcrComposite_GetPcrValue方法为prgbPcrValue数据分配一个内存块。必须使用Tspi_Context_FreeMemory方法释放该内存。

猜你喜欢

转载自www.cnblogs.com/Yogile/p/12800644.html