level 3
一只阿北Dy
楼主
pstHmacHead->ulHmacLen = ulHmacLen;
pstHmacHead->ulHmacAlgId = ulHmacAlgId;
*pulKeyLen = ulKeyLen;
*pulIVLen = ulIVLen;
*pulHmacKeyLen = ulHmacKeyLen;
return WSEC_SUCCESS;
}
/*****************************************************************************
函 数 名 : SDP_GetWorkKeyByIDHash
功能描述 : 字节序转换,对hmac头进行转换
输入参数 : ulDomain 域,ulKeyId ,密钥的ID, aucHash 密钥的hash,
ulIterCount 密钥的迭代轮数,目前都是一轮。
pucSalt 迭代需要的盐值
ulSaltLen 盐值的长度。
ulKeyLen 密钥的长度
输出参数 :pucKey 生成的密钥
输入输出:
返 回 值 : 错误码
修改历史 :
1.日 期 : 2016年1月31日
作 者 : l00171031
修改内容 : 新生成函数
*****************************************************************************/
WSEC_ERR_T SDP_GetWorkKeyByIDHash(
WSEC_UINT32 ulDomain,
WSEC_UINT32 ulKeyId,
WSEC_BYTE *aucHash,
WSEC_UINT32 ulIterCount,
WSEC_BYTE *pucSalt,
WSEC_UINT32 ulSaltLen,
WSEC_BYTE *pucKey,
WSEC_UINT32 ulKeyLen
)
{
WSEC_BYTE szMasterKey[WSEC_MK_LEN_MAX];
WSEC_ERR_T ulRet = WSEC_SUCCESS;
WSEC_UINT32 ulMkLen = 0;
/* check input */
return_err_if_para_invalid("SDP_GetWorkKeyByIDHash", pucSalt && pucKey && (ulSaltLen > 0) && (ulKeyLen > 0) && (ulIterCount > 0));
/* get Master Key */
ulMkLen = sizeof(szMasterKey);
ulRet = KMC_InnerGetMkByIDHash(ulDomain, ulKeyId, aucHash, szMasterKey, &ulMkLen);
return_oper_if((WSEC_SUCCESS != ulRet), WSEC_LOG_E("[SDP] KMC get MK failed."), ulRet);