在Windows中使用TPM密封数据[已关闭]

igsr9ssn  于 2023-05-19  发布在  Windows
关注(0)|答案(2)|浏览(118)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受答复。

要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于Stack Overflow来说是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describe the problem和到目前为止为解决它所做的工作。
8年前关闭。
Improve this question
我想在Windows中执行TPM密封操作。我熟悉C编程,但不知道我会使用什么库。
我现在被以下两个问题困扰着:
我可以使用以下命令执行此操作吗?WMI和PowerShell脚本?这个http://msdn.microsoft.com/en-us/library/windows/desktop/aa446799(v=vs.85).aspx表示我可以使用TBS来提交命令,但是我不知道如何在例如WMI。
我可以使用Windows 7 SDK中的tbs.h/tbs.lib来执行TPM_Seal操作吗?
有没有一个像http://trousers.sourceforge.net/这样的TSS API,我可以从一些C
代码中调用它?
我这样做的方法并不是什么大不了的事情,但我正在Windows上使用TPM 1. 2,而且我所有的客户端都是Windows。

shyt4zoc

shyt4zoc1#

更新2023-05:此答案涵盖TPM 1.2,可能已过时

您可以使用TPM Base Sevices向TPM发送命令。所以你需要自己组装命令。
TPM命令、结构和流程在3 documents中定义:

首先,您需要确定要发送的命令。然后,您必须在第3部分中查找命令的引用,并按照第2部分中的描述组装所需的结构。
例如,TPM_seal命令在第3部分第72页的第10.1节中定义。第1331行向您展示了该命令的外观。在发出命令后,您可以根据第1332行评估返回的结构。(所有编号均适用于修订版116。)
这真的很棘手。但是,您可以查看其他实现。如果你只需要几个命令,这并不难,特别是当你可以确保一些角落的情况不会发生。
我建议你先看看IBM's software TPM。该项目还提供了libtpm和一些实用程序。这是我所知道的较轻的实现之一。
您还可以尝试TrouSerS for Windows是否足够稳定以满足您的需求。这样你就有了一个高级的TSS API。
如果Java是一个选项,请查看jTSS。它支持Windows。

相关问题