Tbsi_Get_OwnerAuth 函数 (tbs.h)

如果信息在本地注册表中可用,则检索 TPM 的所有者授权。

语法

TBS_RESULT Tbsi_Get_OwnerAuth(
  [in]            TBS_HCONTEXT       hContext,
  [in]            TBS_OWNERAUTH_TYPE ownerauthType,
  [out, optional] PBYTE              pOutputBuf,
  [in, out]       PUINT32            pOutputBufLen
);

参数

[in] hContext

从上一次调用 Tbsi_Context_Create 函数获取的 TBS 句柄。

[in] ownerauthType

指示所有者身份验证类型的无符号 32 位整数。

含义
TBS_OWNERAUTH_TYPE_FULL
1
所有者授权已满。
TBS_OWNERAUTH_TYPE_ADMIN
2
注意 仅限 TPM 1.2

所有者授权是管理员。

TBS_OWNERAUTH_TYPE_USER
3
注意 仅限 TPM 1.2

所有者授权是用户。

TBS_OWNERAUTH_TYPE_ENDORSEMENT
4
注意 仅限 TPM 1.2

所有者授权是认可授权。

TBS_OWNERAUTH_TYPE_ENDORSEMENT_20
12
注意 TPM 2.0 及更高版本

所有者授权是认可授权。

TBS_OWNERAUTH_TYPE_STORAGE_20
13
注意 TPM 2.0 及更高版本

所有者授权是管理员。

[out, optional] pOutputBuf

指向用于接收 TPM 所有者授权信息的缓冲区的指针。

[in, out] pOutputBufLen

输入时指定输出缓冲区的大小(以字节为单位)的整数。 成功返回后,此值设置为 TPM ownerAuth 的实际大小(以字节为单位)。

返回值

如果函数成功,该函数将返回 TBS_SUCCESS

如果函数失败,它将返回指示错误的 TBS 返回代码。

返回代码/值 说明
TBS_SUCCESS
0 (0x0)
函数成功。
TBS_E_OWNERAUTH_NOT_FOUND
2150121493 (0x80284015)
找不到请求的 TPM ownerAuth 值。
TBS_E_BAD_PARAMETER
2150121474 (0x80284002)
请求的 TPM ownerAuth 值与 TPM 版本不匹配。

注解

还有其他授权值(也称为委派 Blob)派生自完整的 TPM ownerAuth,允许执行一部分 TPM 功能。 管理员可以配置应通过组策略本地存储在注册表中的 ownerAuth 级别,并从此 API 调用中获取相同的级别。

如果通过 组策略 启用 ownerAuth 的 Active Directory 备份,则默认级别的 ownerAuth 设置为委托,这意味着从本地注册表中删除完全所有者身份验证并存储在 Active Directory 中。 在这种情况下,只有委派 Blob 存储在注册表中。 不过,可以将 ownerAuth 存储的级别显式配置为“完全”,从而使 TPM ownerAuth 在注册表中本地可用。

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 tbs.h
Library Tbs.lib
DLL Tbs.dll