TPM 程序设计基础 1-2-1 :Tspi_Context 类定义
Tspi_Context Class Definition
Tspi_Context 类定义
- 注意:本文只提供相关函数的说明、定义、参数、返回值、注释等的简单翻译,对于更多信息、疑问或错误之处,请阅读原英文文档。
Tspi_Context_Create
《TSS V1.2.pdf》 P182-183 4.3.3.2.1 Tspi_Context_Create
信息说明开始
此方法返回新上下文对象的句柄。在各种函数中使用上下文句柄将资源分配给它。
信息说明结束
定义
TSS_RESULT Tspi_Context_Create
(
TSS_HCONTEXT* phContext // out
);
参数
phContext
接收创建的上下文对象的句柄。
返回值
TSS_SUCCESS
TSS_E_INTERNAL_ERROR
Tspi_Context_Close
《TSS V1.2.pdf》 P184 4.3.3.2.2 Tspi_Context_Close
信息说明开始
此方法销毁上下文并释放所有分配的资源。
信息说明结束
定义
TSS_RESULT Tspi_Context_Close
(
TSS_HCONTEXT hContext // in
);
参数
hContext
要关闭的上下文对象的hContext句柄。
返回值
TSS_SUCCESS
TSS_E_INVALID_HANDLE
TSS_E_INTERNAL_ERROR
Tspi_Context_Connect
《TSS V1.2.pdf》 P191 4.3.3.2.7 Tspi_Context_Connect
信息说明开始
此方法建立到本地或远程TSS系统的连接。
信息说明结束
定义
TSS_RESULT Tspi_Context_Connect
(
TSS_HCONTEXT hContext, // in
TSS_UNICODE* wszDestination // in
);
参数
hContext
上下文对象的句柄
wszDestination
指向空终止的TSS_UNICODE字符串的指针,该字符串指定要连接的远程系统。如果为空,则上下文对象绑定到本地系统。
返回值
TSS_SUCCESS
TSS_E_INVALID_HANDLE
TSS_E_NO_CONNECTION
TSS_E_INTERNAL_ERROR
Tspi_Context_GetDefaultPolicy
《TSS V1.2.pdf》 P193 4.3.3.2.9 Tspi_Context_GetDefaultPolicy
信息说明开始
此方法提供上下文的默认策略对象。每个上下文(一个)。
信息说明结束
定义
TSS_RESULT Tspi_Context_GetDefaultPolicy
(
TSS_HCONTEXT hContext, // in
TSS_HPOLICY* phPolicy // out
);
参数
hContext
上下文对象的句柄
phPolicy
接收绑定到上下文的默认策略对象的句柄。
返回值
TSS_SUCCESS
TSS_E_INVALID_HANDLE
TSS_E_INTERNAL_ERROR
Tspi_Context_CreateObject
《TSS V1.2.pdf》 P194 4.3.3.2.10 Tspi_Context_CreateObject
信息说明开始
此方法创建并初始化指定类型的空对象,并返回对该对象寻址的句柄。对象被绑定到一个已经打开的上下文。
信息说明结束
定义
TSS_RESULT Tspi_Context_CreateObject
(
TSS_HCONTEXT hContext, // in
TSS_FLAG objectType, // in
TSS_FLAG initFlags, // in
TSS_HOBJECT* phObject // out
);
参数
hContext
上下文对象的句柄
objectType
指示要创建的对象类型的标志(参见2.3.2.1节)。
initFlags
表示对象的默认属性的标志(参见2.3.2.2节)。
phObject
接收创建对象的句柄。
返回值
TSS_SUCCESS
TSS_E_INVALID_HANDLE
TSS_E_INVALID_OBJECT_TYPE
TSS_E_INVALID_OBJECT_INIT_FLAG
TSS_E_BAD_PARAMETER
TSS_E_INTERNAL_ERROR
TSS_E_ENC_INVALID_TYPE
TSS_E_HASH_INVALID_ALG
Tspi_Context_CloseObject
《TSS V1.2.pdf》 P195 4.3.3.2.11 Tspi_Context_CloseObject
信息说明开始
此方法将销毁与对象句柄关联的对象。对象中所有分配的资源也被释放。
信息说明结束
定义
TSS_RESULT Tspi_Context_CloseObject
(
TSS_HCONTEXT hContext, // in
TSS_HOBJECT hObject // in
);
参数
hContext
上下文对象的句柄
hObject
被关闭对象的句柄。
返回值
TSS_SUCCESS
TSS_E_INVALID_HANDLE
TSS_E_INTERNAL_ERROR
Tspi_Context_GetTPMObject
《TSS V1.2.pdf》 P200 4.3.3.2.13 Tspi_Context_GetTPMObject
信息说明开始
此方法检索上下文的TPM对象。对于给定的上下文,该对象只有一个实例,并且隐式地表示TPM所有者。
信息说明结束
定义
TSS_RESULT Tspi_Context_GetTpmObject
(
TSS_HCONTEXT hContext, // in
TSS_HTPM* phTPM // out
);
参数
hContext
上下文对象的句柄
phTPM
接收绑定到上下文的TPM对象的句柄。
返回值
TSS_SUCCESS
TSS_E_INVALID_HANDLE
TSS_E_BAD_PARAMETER
TSS_E_INTERNAL_ERROR
Tspi_Context_LoadKeyByUUID
《TSS V1.2.pdf》 P208 4.3.4.2.2 Tspi_Context_LoadKeyByUUID
信息说明开始
该方法使用UUID根据密钥管理器中包含的信息创建密钥对象,并将密钥加载到TPM中。持久存储提供了加载父键所需的所有信息,以加载与给定UUID关联的键。在将此命令与可能需要授权的父键一起使用时,需要考虑一些微妙的情况。如果注册的密钥都不需要授权,则应用程序可以使用下面指定的Tspi_Context_LoadKeyByUUID(),不会出现错误或警告。如果一个已注册的密钥需要授权,并且应用程序知道已注册的密钥堆栈,那么它必须通过Tspi_Context_GetKeyByUUID()从密钥数据库获取密钥,为密钥分配一个策略,然后通过Tspi_Key_LoadKey()加载密钥。如果一个已注册的密钥需要授权,而应用程序不知道密钥堆栈,那么它必须首先通过调用Tspi_Context_GetRegisteredKeysByUUID()从密钥数据库检索密钥堆栈信息,然后按照上面的段落进行操作。
信息说明结束
定义
TSS_RESULT Tspi_Context_LoadKeyByUUID
(
TSS_HCONTEXT hContext, // in
TSS_FLAG persistentStorageType, // in
TSS_UUID uuidData, // in
TSS_HKEY* phKey // out
);
参数
hContext
上下文对象的句柄
persistentStorageType
表示持久存储的标志(参见2.3.2.22节)。
uuidData
密钥在持久存储(TSP或已连接的TCS)中注册时所使用的密钥的UUID。
phKey
接收表示已加载密钥的密钥对象的句柄。
返回值
TSS_SUCCESS
TSS_E_INVALID_HANDLE
TSS_E_BAD_PARAMETER
TSS_E_PS_KEY_NOTFOUND
TSS_E_INTERNAL_ERROR