使用Tbsip_Submit_Command玩我的 TPM 芯片,我可以看到 Windows 分析了我发送给它的帧。
为了简单起见,我使用了 shutdown 命令。
例如,我尝试在参数中发送带有 TPM_SU_CLEAR 的 TPM_CC_Shutdown。所以帧是=> 80 01 00 00 00 0C 00 00 01 45 00 00
为了使其更详细和解释:
80 01 是 TPM_ST_NO_SESSIONS 00 00 00 0C 帧大小 00 00 01 45 TPM_CC_Shutdown 00 00 是 TPM_SU_CLEAR
Windows 回复我 => 80 01 00 00 00 0A 80 28 04 00
再次使其更详细:
80 01 是 TPM_ST_NO_SESSIONS 00 00 00 0命令的大小 80 28 04 00 错误代码 0x80280400 => TPM_E_COMMAND_BLOCKED
我在这里找到了那个错误代码。如此明显的 Windows 打断了我并放弃了我的命令。我可以理解它不希望关闭 TPM 电源,但是对于要创建主键并将其保存在芯片内的命令,我得到了相同的结果。
所以我有一个芯片,但如果我想直接使用它我不能,我不得不使用 Cryptography API: Next Generation 但在我的情况下我不能。
有人有什么可以帮助我的吗?也许我可以直接与编码驱动程序的芯片通信并绕过 Windows 层(如果有人知道如何做到这一点)?或者是否可以在注册表中配置一个值,让 Windows 让我用我的 TPM 芯片做我想做的事?