kmc-func-15
net吧
全部回复
仅看楼主
level 3
1.日 期 : 2016年3月13日
作 者 : l00171031
修改内容 : 新生成函数
*****************************************************************************/
WSEC_ERR_T KMC_PRI_ReadKsfSafety(KMC_KSF_MEM_STRU** ppKeystore)
{
KMC_KSF_MEM_STRU* pRead[KMC_KSF_NUM] = {WSEC_NULL_PTR};
WSEC_INT32 aMkNum[KMC_KSF_NUM] = {-1 , -1};
WSEC_UINT32 i, nAimAt = 0;
WSEC_UINT32 ultarget = KMC_KSF_NUM + 1;
KMC_KSF_RK_STRU *pRk = WSEC_NULL_PTR;
WSEC_ERR_T nTemp, nRet = WSEC_ERR_KMC_READ_MK_FAIL , nTemp2 = WSEC_SUCCESS;
WSEC_ERR_T nRootKeyReadTemp[KMC_KSF_NUM] = {0};
WSEC_BOOL bFileExist = WSEC_FALSE;
WSEC_BOOL bFirstTouch = WSEC_TRUE;
KMC_KSF_RK_STRU* pRkCheck = WSEC_NULL_PTR;
WSEC_CHAR* pszTargetFile = WSEC_NULL_PTR;
KMC_KSF_ONEKSF_CORRUPT_NTF_STRU stcorrupt = {0};
WSEC_ASSERT(ppKeystore);
return_oper_if(!ppKeystore, WSEC_LOG_E("Invalid input ppKeystore pointer"), WSEC_ERR_INVALID_ARG);
/* 申请资源 */
for (i = 0; i < KMC_KSF_NUM; i++)
{
pRead[i] = (KMC_KSF_MEM_STRU*)WSEC_MALLOC(sizeof(KMC_KSF_MEM_STRU));
break_oper_if(!pRead[i], WSEC_LOG_E4MALLOC(sizeof(KMC_KSF_MEM_STRU)), nTemp2 = WSEC_ERR_MALLOC_FAIL);
}
if (nTemp2 != WSEC_SUCCESS) /* 资源没全申请成功, 则释放 */
{
for (i = 0; i < KMC_KSF_NUM; i++)
{
WSEC_FREE(pRead[i]);
}
return nTemp2;
}
/*1. 判断文件是否存在,不存在则需要创建,要判断rootkey的合法性*/
pRkCheck = (KMC_KSF_RK_STRU*)WSEC_MALLOC(sizeof(KMC_KSF_RK_STRU));
if(!pRkCheck)
{
WSEC_LOG_E4MALLOC(sizeof(KMC_KSF_RK_STRU));
nRet = WSEC_ERR_MALLOC_FAIL;
goto ExitPort;
}
2016年08月02日 08点08分 1
1