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方法释放该内存。
作者:Yogile
出处:https://www.cnblogs.com/Yogile/p/12800644.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
分类:
《可信计算基础》
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构