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
posted @ 2020-04-29 10:30  Yogile  阅读(707)  评论(0编辑  收藏  举报