Win32_Tpm 类的 IsCommandBlocked 方法

Win32_Tpm 类的 IsCommandBlocked 方法指示是否阻止具有指定序号的设备命令在平台上运行。

语法

uint32 IsCommandBlocked(
  [in]  uint32 CommandOrdinal,
  [out] uint32 IsCommandBlocked
);

参数

CommandOrdinal [in]

类型: uint32

一个整数值,该值指定设备上的命令。

含义
TPM_ActivateIdentity
122 (0x7A)
允许 TPM 所有者解包允许解密证明标识密钥 (AIK) 凭据的会话密钥,从而保证凭据对 TPM 有效。
TPM_AuthorizeMigrationKey
43 (0x2B)
允许 TPM 所有者创建迁移授权票证,以便用户无需 TPM 所有者参与即可迁移密钥。
TPM_CertifyKey
50 (0x32)
使用另一个密钥的公共部分对加载的密钥进行认证。 TPM 标识密钥只能验证无法迁移的密钥,而签名和旧密钥可以验证所有密钥。
TPM_CertifyKey2
51 (0x33)
基于TPM_CertifyKey,但TPM_CertifyKey2包括额外的参数,用于认证可认证的迁移密钥 (CMK) 。
TPM_CertifySelfTest
82 (0x52)
执行完整的自测试,如果测试通过,则返回经过身份验证的值。 此值未在 TPM v1.2 中升级。 默认情况下会阻止此值。
TPM_ChangeAuth
12 (0xC)
允许实体的所有者 (例如 TPM 密钥) 更改该实体的授权值。
TPM_ChangeAuthAsymFinish
15 (0xF)
通过建立与 TPM 的传输会话并执行TPM_ChangeAuth来取代。 默认情况下会阻止此值。
TPM_ChangeAuthAsymStart
14 (0xE)
通过建立与 TPM 的传输会话并执行TPM_ChangeAuth来取代。 默认情况下会阻止此值。
TPM_ChangeAuthOwner
16 (0x10)
允许 TPM 所有者更改 TPM 所有者授权值或存储根密钥 (SRK) 授权值。
TPM_CMK_ApproveMA
29 (0x1D)
允许 TPM 所有者为一个或多个迁移选择或迁移颁发机构创建授权票证,以便用户可以使用 TPM_CMK_CreateKey) 创建可认证的迁移密钥 (,而无需 TPM 所有者参与。
TPM_CMK_ConvertMigration
36 (0x24)
创建一个可认证的迁移密钥 BLOB ,该 BLOB 可以使用 TPM_LoadKey2 命令加载到另一个平台上,给定随机数,并且可认证迁移密钥的迁移 BLOB (使用 TPM_CMK_CreateBlob) 生成。
TPM_CMK_CreateBlob
27 (0x1B)
允许知道可认证迁移密钥的迁移授权票证的实体 (通过使用 TPM_AuthorizeMigrationKey) 创建将密钥移动到新平台或父密钥所需的迁移 BLOB。
TPM_CMK_CreateKey
19 (0x13)
生成并创建安全的非对称可认证的迁移密钥,给定使用 TPM_CMK_ApproveMA) 生成的一个或多个迁移选择或迁移颁发机构的授权票证 (。
TPM_CMK_CreateTicket
18 (0x12)
允许 TPM 所有者使用提供的公钥为可认证的迁移密钥创建签名验证票证。
TPM_CMK_SetRestrictions
28 (0x1C)
允许 TPM 所有者指定可认证的迁移密钥的用法。
TPM_ContinueSelfTest
83 (0x53)
通知 TPM 它可能会完成所有 TPM 函数的自测试。
TPM_ConvertMigrationBlob
42 (0x2A)
创建可以使用 TPM_LoadKey2 命令加载到另一个平台上的 密钥 BLOB ,给定随机数,并且密钥的迁移 BLOB (使用 TPM_CreateMigrationBlob) 生成。
TPM_CreateCounter
220 (0xDC)
允许 TPM 所有者创建新的单调计数器,向该计数器分配授权值,将 TPM 的内部计数器值递增 1,并将新计数器的起始值设置为更新的内部值。
TPM_CreateEndorsementKeyPair
120 (0x78)
如果此密钥尚不存在,则创建 TPM 认可密钥。
TPM_CreateMaintenanceArchive
44 (0x2C)
允许 TPM 所有者创建维护存档,以便迁移 TPM 持有的所有数据,包括存储根密钥 (SRK) 、TPM 所有者授权以及无法使用其他功能迁移的密钥。
TPM_CreateMigrationBlob
40 (0x28)
允许知道密钥迁移授权票证的实体创建将迁移密钥移动到新平台或父密钥所需的迁移 BLOB。
TPM_CreateRevocableEK
127 (0x7F)
使用指定是否可以重置认可密钥的选项创建 EK (EK) 的 TPM 认可密钥,如果可以重置,则重置此密钥所需的授权值 (TPM) 。 这是一个可选命令,如果平台制造商支持,可能会公开拒绝服务 (DOS) 攻击。
TPM_CreateWrapKey
31 (0x1F)
生成并创建安全的非对称密钥。
TPM_DAA_JOIN
41 (0x29)
允许 TPM 所有者在特定 DAA 颁发机构的 TPM 中建立直接匿名证明 (DAA) 参数。
TPM_DAA_SIGN
49 (0x31)
允许 TPM 所有者使用直接匿名证明 (DAA) 对数据进行签名。
TPM_Delegate_CreateKeyDelegation
212 (0xD4)
允许密钥的所有者委托使用该密钥的权限。
TPM_Delegate_CreateOwnerDelegation
213 (0xD5)
允许 TPM 所有者委托权限以运行通常需要所有者授权的命令。
TPM_Delegate_LoadOwnerDelegation
216 (0xD8)
允许 TPM 所有者将委托表的一行加载到 TPM 的非易失存储中。 此命令不能用于将密钥委派 BLOB 加载到 TPM 中。
TPM_Delegate_Manage
210 (0xD2)
允许 TPM 所有者管理委派系列表。 必须先运行此命令至少一次,然后才能执行该系列表的委派命令。
TPM_Delegate_ReadTable
219 (0xDB)
读取存储在 TPM 上的系列和委托表的公共内容。
TPM_Delegate_UpdateVerification
209 (0xD1)
允许 TPM 所有者更新委派实体,以便 TPM 继续接受该实体。
TPM_Delegate_VerifyDelegation
214 (0xD6)
解释委托 BLOB 并返回该 BLOB 当前是否有效。
TPM_DirRead
26 (0x1A)
被TPM_NV_ReadValue和TPM_NV_ReadValueAuth取代。 默认情况下会阻止此值。
TPM_DirWriteAuth
25 (0x19)
被TPM_NV_WriteValue和TPM_NV_WriteValueAuth取代。 默认情况下会阻止此值。
TPM_DisableForceClear
94 (0x5E)
禁用 TPM_ForceClear 命令的运行,直到平台重启。
TPM_DisableOwnerClear
92 (0x5C)
允许 TPM 所有者永久禁用运行 TPM_OwnerClear 命令的功能。 使用后,清除 TPM 的唯一方法需要执行 TPM_ForceClear 命令。
TPM_DisablePubekRead
126 (0x7E)
由TPM_TakeOwnership使用 TPM_ReadPubek (EK) 自动禁用读取认可密钥的公共部分来取代。 默认情况下会阻止此值。
TPM_DSAP
17 (0x11)
为Delegate-Specific授权协议 (DSAP) 生成授权会话句柄,用于安全地将委派的授权数据传递给 TPM,以及 TPM 跟踪此授权会话句柄所需的信息。
TPM_EstablishTransport
230 (0xE6)
建立一个传输会话,该会话可用于使用 TPM_ExecuteTransport) 将共享机密、加密密钥和会话日志保密传输到 TPM (。
TPM_EvictKey
34 (0x22)
被TPM_FlushSpecific取代。 默认情况下会阻止此值。
TPM_ExecuteTransport
231 (0xE7)
将包装的 TPM 命令传递到传输会话中的 TPM。 TPM 解包命令,然后运行命令。
TPM_Extend
20 (0x14)
将新的摘要添加到指定的平台配置寄存器 (PCR) ,并返回此扩展摘要。
TPM_FieldUpgrade
170 (0xAA)
允许制造商升级 TPM 功能。 此命令特定于 TPM 制造商。
TPM_FlushSpecific
186 (0xBA)
从 TPM 刷新指定的资源句柄。
TPM_ForceClear
93 (0x5D)
清除 TPM。 此命令需要在平台中存在物理状态,并且不能由操作系统运行。
TPM_GetAuditDigest
133 (0x85)
返回 TPM 审核摘要。
TPM_GetAuditDigestSigned
134 (0x86)
返回已签名的 TPM 审核摘要和当前审核命令的列表。
TPM_GetAuditEvent
130 (0x82)
出于安全考虑,删除了 。 默认情况下会阻止此值。
TPM_GetAuditEventSigned
131 (0x83)
出于安全考虑,删除了 。 默认情况下会阻止此值。
TPM_GetCapability
101 (0x65)
返回 TPM 信息。
TPM_GetCapabilityOwner
102 (0x66)
出于安全考虑,删除了 。 默认情况下会阻止此值。
TPM_GetCapabilitySigned
100 (0x64)
出于安全考虑,删除了 。 默认情况下会阻止此值。
TPM_GetOrdinalAuditStatus
140 (0x8C)
出于安全考虑,删除了 。 默认情况下会阻止此值。
TPM_GetPubKey
33 (0x21)
允许已加载密钥的所有者获取该密钥的公钥值。
TPM_GetRandom
70 (0x46)
从 TPM 随机数生成器返回指定长度的随机数据。
TPM_GetTestResult
84 (0x54)
提供有关自检结果的制造商特定和诊断信息。
TPM_GetTick
241 (0xF1)
返回 TPM 的当前时钟周期计数。
TSC_PhysicalPresence
1073741834 (0x4000000A)
指示平台中存在物理状态。 此命令不能由操作系统运行。
TSC_ResetEstablishmentBit
1073741835 (0x4000000B)
指示平台上是否发生了用于创建受信任操作系统的特殊序列。
TPM_IncrementCounter
221 (0xDD)
允许计数器的所有者将计数器递增 1,并返回此更新的值。
TPM_Init
151 (0x97)
在启动过程中,平台首先向 TPM 发送命令。 此命令不能由软件运行。
TPM_KeyControlOwner
35 (0x23)
允许 TPM 所有者控制存储在 TPM 密钥缓存中的密钥的某些属性。
TPM_KillMaintenanceFeature
46 (0x2E)
允许 TPM 所有者使用 TPM_CreateMaintenanceArchive) 阻止创建维护存档 (。 此操作在通过使用 TPM_TakeOwnership) (设置新的 TPM 所有者之前有效。
TPM_LoadAuthContext
183 (0xB7)
被TPM_LoadContext取代。 默认情况下会阻止此值。
TPM_LoadContext
185 (0xB9)
将以前保存的上下文加载到 TPM 中。
TPM_LoadKey
32 (0x20)
被TPM_LoadKey2取代。 默认情况下会阻止此值。
TPM_LoadKey2
65 (0x41)
将密钥加载到 TPM 中以供进一步使用, (例如,包装、解包、绑定、取消绑定、密封、解封、签名) 。
TPM_LoadKeyContext
181 (0xB5)
被TPM_LoadContext取代。 默认情况下会阻止此值。
TPM_LoadMaintenanceArchive
45 (0x2D)
允许 TPM 所有者加载使用 TPM_CreateMaintenanceArchive) 生成的维护存档 (。 加载后,存储根密钥 (SRK) 的授权值设置为与 TPM 所有者授权相同。
TPM_LoadManuMaintPub
47 (0x2F)
将平台制造商的公钥加载到 TPM 中,以便在维护过程中使用。 此命令只能运行一次,应在平台交付之前运行。
TPM_MakeIdentity
121 (0x79)
允许 TPM 所有者生成证明标识密钥 (AIK) ,该密钥可用于对 TPM 内部生成的信息进行签名。
TPM_MigrateKey
37 (0x25)
允许 TPM 将通过使用 TPM_CreateMigrationBlob 生成的 BLOB (迁移到目标,或者通过使用给定的公钥重新加密将 BLOB TPM_CMK_CreateBlob) 迁移到目标。
TPM_NV_DefineSpace
204 (0xCC)
允许 TPM 所有者为 TPM 上的非易失存储区域定义空间。 此定义包括写入和读取该区域的访问要求。
TPM_NV_ReadValue
207 (0xCF)
从定义的非易失性存储区域进行读取。
TPM_NV_ReadValueAuth
208 (0xD0)
在给定该区域所需的授权的情况下,从定义的非易失性存储区域进行读取。
TPM_NV_WriteValue
205 (0xCD)
将指定值写入定义的非易失存储区域。
TPM_NV_WriteValueAuth
206 (0xCE)
给定该区域所需的授权,将指定的值写入定义的非易失性存储区域。
TPM_OIAP
10 (0xA)
为Object-Independent授权协议生成授权会话句柄, (用于将授权数据安全地传递到 TPM 的 OIAP) ,以及 TPM 跟踪此授权会话句柄所需的信息。
TPM_OSAP
11 (0xB)
为Object-Specific授权协议生成授权会话句柄, (OSAP) ,用于将授权数据安全地传递到 TPM,以及 TPM 跟踪此授权会话句柄所需的信息。
TPM_OwnerClear
91 (0x5B)
允许 TPM 所有者清除 TPM。
TPM_OwnerReadInternalPub
129 (0x81)
允许 TPM 所有者 (EK) 或存储根密钥 (SRK) 返回 TPM 认可密钥的公共部分。
TPM_OwnerReadPubek
125 (0x7D)
被TPM_OwnerReadInternalPub取代。 默认情况下会阻止此值。
TPM_OwnerSetDisable
110 (0x6E)
允许 TPM 所有者启用或禁用 TPM。
TPM_PCR_Reset
200 (0xC8)
将指定的平台配置寄存器 (PCR) 重置为其默认状态。
TPM_PcrRead
21 (0x15)
返回指定平台配置寄存器的内容 (PCR) 。
TPM_PhysicalDisable
112 (0x70)
禁用 TPM。 此命令需要平台的物理存在,不能由操作系统运行。
TPM_PhysicalEnable
111 (0x6F)
启用 TPM。 此命令需要平台的物理存在,不能由操作系统运行。
TPM_PhysicalSetDeactivated
114 (0x72)
激活或停用 TPM。 此命令需要平台的物理存在,不能由操作系统运行。
TPM_Quote
22 (0x16)
返回一个有符号的摘要,该摘要是指定平台配置寄存器的内容 (PCR) 和一些指定的外部数据的组合。 摘要使用加载的密钥进行签名。
TPM_Quote2
62 (0x3E)
类似于 命令TPM_Quote包含位置信息,以提供当前平台配置的更完整视图。
TPM_ReadCounter
222 (0xDE)
返回指定计数器的值。
TPM_ReadManuMaintPub
48 (0x30)
返回使用 TPM_LoadManuMaintPub) 加载 (平台制造商公共维护密钥的摘要。
TPM_ReadPubek
124 (0x7C)
返回 TPM 认可密钥的公共部分。 获取 TPM 的所有权时,将禁用此命令。
TPM_ReleaseCounter
223 (0xDF)
允许计数器的所有者释放指定的计数器。 计数器的后续读取或增量不会成功。
TPM_ReleaseCounterOwner
224 (0xE0)
允许 TPM 所有者释放指定的计数器。 计数器的后续读取或增量不会成功。
TPM_ReleaseTransportSigned
232 (0xE8)
完成传输会话。 如果启用日志记录,此命令将返回会话期间执行的所有操作的哈希以及哈希的数字签名。
TPM_Reset
90 (0x5A)
释放与现有授权会话关联的所有资源。 TPM v1.2 中未升级TPM_Reset。 默认情况下会阻止此值。
TPM_ResetLockValue
64 (0x40)
重置用于防止 TPM 授权值受到攻击的机制。
TPM_RevokeTrust
128 (0x80)
清除使用 (TPM_CreateRevocableEK) 生成的可吊销 TPM 认可密钥,并重置 TPM(鉴于此重置的必要授权值和此命令的平台支持)。 此命令需要平台的物理存在,不能由操作系统运行。
TPM_SaveAuthContext
182 (0xB6)
被TPM_SaveContext取代。 默认情况下会阻止此值。
TPM_SaveContext
184 (0xB8)
将已加载的资源保存在 TPM 之外。 成功运行此命令后,TPM 会自动释放会话的内部内存,但保留密钥。
TPM_SaveKeyContext
180 (0xB4)
被TPM_SaveContext取代。 默认情况下会阻止此值。
TPM_SaveState
152 (0x98)
警告 TPM 保存某些状态信息。
TPM_Seal
23 (0x17)
允许软件保护机密,以便仅在验证指定的平台配置时释放机密。
TPM_Sealx
61 (0x3D)
允许软件保护机密,以便仅在验证指定的平台配置时释放机密。 机密必须加密。
TPM_SelfTestFull
80 (0x50)
测试 TPM 的所有内部函数。 任何故障都会导致 TPM 进入故障模式。
TPM_SetCapability
63 (0x3F)
允许 TPM 所有者在 TPM 中设置值。
TPM_SetOperatorAuth
116 (0x74)
定义操作员授权值。 此命令需要平台的物理存在,不能由操作系统运行。
TPM_SetOrdinalAuditStatus
141 (0x8D)
允许 TPM 所有者为给定的命令编号设置审核标志。
TPM_SetOwnerInstall
113 (0x71)
允许或禁止插入所有者的功能。 此命令需要平台的物理存在,不能由操作系统运行。
TPM_SetOwnerPointer
117 (0x75)
设置对 TPM 在执行 OIAP 或 OSAP 会话时使用的所有者授权的引用。 此命令应仅用于为不支持 DSAP 的旧代码提供所有者委派功能。
TPM_SetRedirection
154 (0x9A)
允许 TPM 通过重定向输出直接与连接的安全处理器通信。
TPM_SetTempDeactivated
115 (0x73)
允许平台的操作员停用 TPM,直到平台的下一个启动。 操作员必须在平台上具有物理存在,或者提供使用命令TPM_SetOperatorAuth定义的操作员授权值。
TPM_SHA1Complete
162 (0xA2)
完成挂起的 SHA-1 摘要过程并返回生成的 SHA-1 哈希输出。
TPM_SHA1CompleteExtend
163 (0xA3)
完成挂起的 SHA-1 摘要过程,返回生成的 SHA-1 哈希输出,并将此哈希合并到平台配置寄存器 (PCR) 。
TPM_SHA1Start
160 (0xA0)
启动计算 SHA-1 摘要的过程。 此命令后必须运行 TPM_SHA1Update 命令,否则 SHA-1 进程将失效。
TPM_SHA1Update
161 (0xA1)
将完整的数据块输入到挂起的 SHA-1 摘要 (使用 TPM_SHA1Start) 启动。
TPM_Sign
60 (0x3C)
使用加载的签名密钥对数据进行签名,并返回生成的数字签名。
TPM_Startup
153 (0x99)
必须在TPM_Init后调用的命令,以将有关所发生的重置类型的其他平台信息传输到 TPM。
TPM_StirRandom
71 (0x47)
将熵添加到 TPM 随机数生成器状态。
TPM_TakeOwnership
13 (0xD)
使用派生自所有者密码的新所有者授权值获取 TPM 的所有权。 在运行此命令之前必须满足的其他条件中,必须启用并激活 TPM。
TPM_Terminate_Handle
150 (0x96)
被TPM_FlushSpecific取代。 默认情况下会阻止此值。
TPM_TickStampBlob
242 (0xF2)
使用加载的签名密钥,使用 TPM 的当前计时周期计数对指定的摘要进行签名。
TPM_UnBind
30 (0x1E)
解密以前使用 TPM 绑定密钥的公共部分加密的数据。
TPM_Unseal
24 (0x18)
如果完整性、平台配置和授权检查成功,则释放以前由 TPM 密封的机密。

 

IsCommandBlocked [out]

类型: uint32

一个位图值,该值指定是阻止命令通过阻止命令的默认列表、阻止命令的本地列表运行,还是通过使用组策略。

含义
0
不会阻止该命令。
1
通过阻止命令的默认列表阻止该命令。
2
通过阻止的命令的本地列表阻止该命令。
4
通过阻止的命令组策略列表阻止该命令。
5
阻止命令通过阻止命令的默认列表和阻止命令组策略列表运行。
6
阻止命令通过阻止命令的本地列表和阻止命令的组策略列表运行。
7
阻止命令通过阻止命令的默认列表、阻止命令的本地列表以及阻止命令组策略列表运行。

 

可以组合位值以完全指定阻止命令的内容。 例如,如果命令被阻止命令的默认列表阻止 (值 1) ,并通过阻止命令的组策略列表 (值 4) 则组合将由值为 5 的 IsCommandBlocked 指示。

返回值

类型: uint32

可以返回所有 Win32 错误。

返回代码/值 说明
S_OK
0 (0x0)
方法成功。

 

备注

此方法读取以下注册表项:

  • 组策略阻止的 TPM 命令列表:

    KEY_LOCAL_MACHINE\软件\政策\微软\Tpm\BlockedCommands\列表

  • 阻止的 TPM 命令的默认列表:

    KEY_LOCAL_MACHINE\软件\微软\Tpm\BlockedCommands\列表

  • 组策略设置忽略阻止的 TPM 命令的默认列表:

    KEY_LOCAL_MACHINE\软件\政策\微软\Tpm\BlockedCommands\IgnoreDefaultList

  • 阻止的 TPM 命令的本地列表:

    KEY_LOCAL_MACHINE\系统\CurrentControlSet\服务\SharedAccess\参数\Tpm\BlockedCommands\列表

  • 组策略设置忽略阻止的 TPM 命令的本地列表:

    KEY_LOCAL_MACHINE\软件\政策\微软\Tpm\BlockedCommands\IgnoreLocalList

方法返回值可以派生如下:

  • 假设 IsCommandBlockedTemp 是一个 3 位值,最初设置为 0。
  • 如果忽略阻止的 TPM 命令的默认列表的组策略设置不存在或为 0,并且与阻止的 TPM 命令的默认列表对应的注册表项中的值为 CommandOrdinal,则 IsCommandBlockedTemp 的最小有效位设置为 1。
  • 如果忽略阻止 TPM 命令本地列表的组策略设置不存在或为 0,并且与阻止的 TPM 命令的本地列表对应的注册表项中的值为 CommandOrdinal,则 IsCommandBlockedTemp 的第二个最小有效位设置为 1。
  • 如果注册表项中与阻止的 TPM 命令组策略列表对应的值为 CommandOrdinal,则 IsCommandBlockedTemp 的最有效位设置为 1。
  • IsCommandBlocked 返回 IsCommandBlockedTemp

托管对象格式 (MOF) 文件包含 Windows Management Instrumentation (WMI) 类的定义。 MOF 文件未作为 Windows SDK 的一部分安装。 使用 服务器管理器添加关联角色时,它们安装在服务器上。 有关 MOF 文件的详细信息,请参阅 托管对象格式 (MOF)

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
命名空间
Root\CIMV2\Security\MicrosoftTpm
MOF
Win32_tpm.mof
DLL
Win32_tpm.dll

另请参阅

Win32_Tpm