在Windows中使用TPM密封数据

我想在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.这个项目还提供libtpmutilities.这是我所知道的较轻的实现之一.

您还可以尝试TrouSerS for Windows是否足够稳定以满足您的需求.那里有一个高级TSS API.

如果Java是一个选项,请查看jTSS.它支持Windows.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...