TEE_Result KM_OpenKey(void *objId, size_t objId_size, TEE_ObjectHandle *hndl);
-TEE_Result KM_ImportKey(TEE_ObjectHandle hndl, uint32_t tee_key_type, void *buffer,
- uint32_t *buffer_size);
void KM_DestroyKey(void *objId, uint32_t objId_size);
return ret;
}
-TEE_Result KM_ImportKey(TEE_ObjectHandle hndl, uint32_t tee_key_type, void *buffer,
- uint32_t *buffer_size)
-{
- TEE_Result ret = TEE_SUCCESS;
- if (NULL == buffer) {
- LOG("Buffer ptr is NULL.");
- return TEE_ERROR_BAD_PARAMETERS;
- }
-
- switch (tee_key_type) {
- case TEE_TYPE_DES:
- case TEE_TYPE_DES3:
- case TEE_TYPE_AES:
- ret = TEE_GetObjectBufferAttribute(hndl, TEE_ATTR_SECRET_VALUE, buffer, buffer_size);
- break;
- case TEE_TYPE_RSA_KEYPAIR:
- // TODO copy generated key for RSA
- default:
- LOG("Can't generate key. Unknown key type=%d.", tee_key_type);
- ret = TEE_ERROR_BAD_PARAMETERS;
- }
- if (TEE_SUCCESS != ret) {
- LOG("Getting object has failed with=%x for type=%d", ret, tee_key_type);
- }
- return ret;
-}
-
void KM_DestroyKey(void *objId, uint32_t objId_size)
{
TEE_Result ret = TEE_SUCCESS;