如何使用 fTPM 生成 SRK 的子对称密钥?

问题描述

我正在学习 fTPM 并学习如何使用它。现在,我想用 fTPM 生成一个对称密钥,但我不知道如何写 TPM_PUBLIC,templ 应该如何设置?

TPMT_PUBLIC primTempl(TPM_ALG_ID::SHA1,// Key nameAlg
    TPMA_OBJECT::decrypt | TPMA_OBJECT::restricted | TPMA_OBJECT::userWithAuth
    | TPMA_OBJECT::fixedParent | TPMA_OBJECT::fixedTPM | TPMA_OBJECT::sensitiveDataOrigin,null,TPMS_RSA_PARMS(Aes128Cfb,TPMS_NULL_ASYM_SCHEME(),2048,65537),TPM2B_PUBLIC_KEY_RSA());

TPMS_SENSITIVE_CREATE sensCreate;
auto storagePrimary = tpm.CreatePrimary(TPM_RH::OWNER,sensCreate,primTempl,null);
TPM_HANDLE& hPrim = storagePrimary.handle;

qDebug() << QString::fromStdString(storagePrimary.outPublic.ToString(false));


TPMT_PUBLIC templ(TPM_ALG_ID::ECB,TPMA_OBJECT::encrypt | TPMA_OBJECT::decrypt
    | TPMA_OBJECT::sensitiveDataOrigin,// No policy
        // PKCS1.5: How the signing will be performed
    null,null);

auto newECBKey = tpm.Create(hPrim,templ,null);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)