我想在Windows中执行TPM Seal操作.我熟悉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.
您可以使用
TPM Base Sevices将命令发送到TPM.所以你需要自己组装命令.
TPM命令,结构和流程在3 documents中定义:
> Part 1 – Design Principles
> Part 2 – Structures of the TPM
> Part 3 – Commands
首先,您需要确定要发送的命令.然后你必须在第3部分中查找命令的引用并组装所需的结构,如第2部分所述.
例如,TPM_seal命令在第3部分的第72页的第10.1节中定义.第1331行显示了命令的外观.发出命令后,您可以根据第1332行评估返回的结构.(所有数字均适用于修订版116.)
这可能非常棘手.但是,您可以查看其他实现.如果你只需要一些命令就不那么难了,特别是当你可以确定某些角落不会发生时.
我建议你先看看IBM’s software TPM.这个项目还提供libtpm和utilities.这是我所知道的较轻的实现之一.
您还可以尝试TrouSerS for Windows是否足够稳定以满足您的需求.那里有一个高级TSS API.