嵌入式开发论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 77|回复: 1

main函数连续调用两次ta出现opensession错误

[复制链接]

2

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2018-12-29 11:58:20 | 显示全部楼层 |阅读模式
针对basicAlg_use这个demo code。我发现分别执行./basicAlg rsa1024 enc和./basicAlg rsa1024 dec都是成功的,但是如果我修改了CryptoVerifyCaTest.c,想要一次性执行加密,然后执行解密,出现如下错误:(其他两个连续调用ta没什么问题,是不是rsa这个第一次调用ta有什么地方没清理掉?)详见图片
ERR [7901] TEEC:TEEC_OpenSession:522: TEE_IOC_OPEN_SESSION failed
OpenSession failed, ReturnCode=0xffff0000, ReturnOrigin=0x2

在CryptoVerifyCaTest.c,我修改了这个函数,所以只要执行./basicAlg rsa1024 xxx,就能执行rsa加密,然后执行rsa解密
void l_Rsa_Test(CHAR* operFlag, EN_RSA_KEY_TYPE keyType, CHAR* output, UINT32 outputLen)
{
    RsaCaPara l_rsaPara;
    l_rsaPara.m_pOutput = output;
    l_rsaPara.m_OutputLen = outputLen;
    l_rsaPara.Rsa_Elect = keyType;


        l_rsaPara.m_pInput = g_RsaPaddingRaw1;
        l_rsaPara.m_InputLen = sizeof(g_RsaPaddingRaw1);
        l_rsaPara.cmdId = CMD_RSA_ENC_PKCS1_OPER;
  TF("CA send to TA data just like follow:\n");
  g_CA_PrintfBuffer(l_rsaPara.m_pInput, l_rsaPara.m_InputLen);
  g_CryptoVerifyCa_Rsa(l_rsaPara);

        l_rsaPara.m_pInput = g_RsaPcks1Dec1;
        l_rsaPara.m_InputLen = 128U;
        l_rsaPara.cmdId = CMD_RSA_DEC_PKCS1_OPER;

     TF("CA send to TA data just like follow:\n");
     g_CA_PrintfBuffer(l_rsaPara.m_pInput, l_rsaPara.m_InputLen);
     g_CryptoVerifyCa_Rsa(l_rsaPara);
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

59

主题

64

帖子

255

积分

版主

Rank: 7Rank: 7Rank: 7

积分
255
发表于 2018-12-29 22:46:52 | 显示全部楼层
出现这个错误是因为在调用完第一次之后, g_TaskInitFlag的值会被设置成1,而在调用完第一次之后会调用TEEC_FinalizeContext函数,导致CA与TA之间的context被clear掉,
也即是说执行完第一次之后,CA与TA之间的所有关系起始已经没有了。你可以在cryptoverifyca.c文件中的g_CryptoVerifyCa_Rsa函数中增加如下修改来满足你的需求
    cleanup_2:
        TEEC_FinalizeContext(&g_TaskContext);
+       g_TaskInitFlag = -1;
    cleanup_1:
        return l_RetVal;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|TEE and Virtualization

GMT+8, 2019-3-22 19:56 , Processed in 0.099211 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表