如何找到一个空闲的TPM句柄来保存新的密钥对对象?

问题描述 投票:0回答:1

我是 TPM 新手,目前正在从事一个涉及使用 tpm 生成和存储多个密钥对的项目。我想知道如何找到可用于保存新密钥对对象的可用 TPM 句柄。我搜索了有关此主题的信息,但尚未找到明确的答案。以下是我的一些具体问题:

  1. 如何以编程方式确定 TPM 句柄是否指向空白区域并且可以自由用于保存新的密钥对对象?

  2. Go-TPM 包中是否有任何特定的函数或方法可以帮助我完成此任务?

  3. 在选择用于存储密钥对的 TPM 句柄时,我应该注意哪些注意事项或最佳实践?

我非常感谢任何指导、代码示例或相关文档的参考,它们可以帮助我了解如何找到可用的 TPM 句柄以在 tpm 中保存新的密钥对对象。提前感谢您的帮助。

这是我尝试过的:

  1. 使用特定句柄(如 0x81010001 或 0x81010002)手动创建密钥对。

  2. 尝试将密钥对保存在 TPM 持久内存中。

go cryptography handle tpm key-pair
1个回答
0
投票

我不知道 Go TPM 库,但从低级别的角度来看,您可以使用 TPM2_GetCapability 命令,使用 TPM_CAP_HANDLES (0x00000001) 作为功能参数,0x81000000 作为属性参数,例如 32 作为 propertyCount 参数。

这将返回持久对象句柄范围内已分配句柄的列表,选择不在列表中且在 0x81000000 - 0x817FFFFF 范围内的索引。

© www.soinside.com 2019 - 2024. All rights reserved.