首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TPM2.0密钥句柄的正确导出(在TSS.MSR .NET中)

TPM2.0密钥句柄的正确导出(在TSS.MSR .NET中)
EN

Stack Overflow用户
提问于 2022-04-17 11:28:46
回答 1查看 162关注 0票数 1

最近,我一直在研究TPM2.0技术,并且在我们假设应用程序重新运行之后,我正试图找出如何保存keyhendle。我想我需要使用TPM2_ContextSave,因为这个函数封装并加密了所有的blobs和诸如此类的东西,这样只有创建上下文的TPM才能读取它。因此,这应该是将“键”存储在文件中的正确方法。

如果您以后需要使用此密钥进行解密或签名(PC重新启动,应用程序重新运行),TPM2_ContextLoad应该给您上下文(如果您正在加载密钥句柄)。这和我从可信计算集团文档得到的一样多。

TSS.MSR是一个带有.NET变体的API。我的问题是Tpm2ContextSaveRequestTpm2ContextLoadRequest

Tpm2ContextSaveRequest有一个TpmHandle构造函数。因此,这个结构应该可以写入文件,然后再读取。

然而,Tpm2ContextLoadRequest只有Context毒蛇。

Context还有一些其他的构造函数,它们需要一些其他的TpmHandleulong,就在这一点上,我对正在发生的事情感到困惑。

如何通过应用程序重新运行来保持我的句柄?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-19 13:37:34

我已经找到了答案,所以如果有一个可怜的灵魂偶然发现了这个问题,那就是:

您不应该使用Tpm2ContextLoadRequest和保存等价物。如果您想使用上下文作为媒介,请使用Tpm2方法ContextSaveContextLoad,但我还没有找到如何存储这些对象。

接下来要注意的是使用EvictControl可以生成的持久密钥。然后,您要做的是导出您的句柄ID (uint memberVar)。重新运行应用程序并分配这个ID应该为签名、解密等提供一个有效的参考。

关于更多细节,我已经实现了解决方案这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71901494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档