【发布时间】:2019-09-20 13:21:13
【问题描述】:
我正在尝试通过电源循环在 TPM2 中保存少量数据。这样这个小字符串只会被绑定到一台特定的机器上。这是我的工作。
# put data in file that is to be sealed
echo "my sealed data" > seal.dat
# create a primary key
tpm2_createprimary -c primary.ctx
# create a child key in public and private parts
tpm2_create -C primary.ctx -u obj.pub -r obj.priv
# create a sealed object
tpm2_create -C primary.ctx -i seal.dat -u obj.pub -r obj.priv
# load the private and public portions into the TPM
tpm2_load -C primary.ctx -u obj.pub -r obj.priv -c key.ctx
# unseal the data
tpm2_unseal -c key.ctx
但如果我输入电源循环后: 'tpm2_unseal -c key.ctx' 我收到以下错误:
警告:esys:src/tss2-esys/api/Esys_ContextLoad.c:279:Esys_ContextLoad_Finish() 收到 TPM 错误 错误:esys:src/tss2-esys/api/Esys_ContextLoad.c:93:Esys_ContextLoad() Esys 完成错误代码 (0x000001df) 错误:Esys_ContextLoad(0x1DF) - tpm:parameter(1):完整性检查失败 错误:无效的项目句柄授权 错误:无法运行 tpm2_unseal
如果有什么不同,我正在使用 tpm_server(模拟器)。
那么将一个小字符串加载到 tpm2 并具有断电持久性的最佳方法是什么?
【问题讨论】:
标签: tpm