AssetApi

概述

提供用户短敏感数据的安全存储及管理能力,包括新增、删除、更新、查询等。 其中,短敏感数据可以是密码类(账号/密码)、Token类(应用凭据)、其他关键明文(如银行卡号)等长度较短的用户敏感数据。

系统能力: SystemCapability.Security.Asset

起始版本: 11

汇总

文件

名称 描述
asset_api.h 声明用于访问关键资产的接口。

函数

名称 描述
int32_t OH_Asset_Add (const Asset_Attr *attributes, uint32_t attrCnt) 新增一条关键资产。
int32_t OH_Asset_Remove (const Asset_Attr *query, uint32_t queryCnt) 删除符合条件的一条或多条关键资产。
int32_t OH_Asset_Update (const Asset_Attr *query, uint32_t queryCnt, const Asset_Attr *attributesToUpdate, uint32_t updateCnt) 更新符合条件的一条关键资产。
int32_t OH_Asset_PreQuery (const Asset_Attr *query, uint32_t queryCnt, Asset_Blob *challenge) 查询的预处理,用于需要用户认证的关键资产。
int32_t OH_Asset_Query (const Asset_Attr *query, uint32_t queryCnt, Asset_ResultSet *resultSet) 查询一条或多条符合条件的关键资产。
int32_t OH_Asset_PostQuery (const Asset_Attr *handle, uint32_t handleCnt) 查询的后置处理,用于需要用户认证的关键资产。
Asset_Attr * OH_Asset_ParseAttr (const Asset_Result *result, Asset_Tag tag) 解析查询结果,并获取指定的属性值。
void OH_Asset_FreeBlob (Asset_Blob *blob) 释放挑战值所占用的内存。
void OH_Asset_FreeResultSet (Asset_ResultSet *resultSet) 释放查询结果所占用的内存。

函数说明

OH_Asset_Add()

int32_t OH_Asset_Add (const Asset_Attr * attributes, uint32_t attrCnt )

描述 新增一条关键资产。

起始版本: 11

参数:

名称 描述
attributes 待新增关键资产的属性集合。
attrCnt 待新增关键资产的属性数量。

返回:

如果操作成功,则返回ASSET_SUCCESS;否则返回错误码。

OH_Asset_FreeBlob()

void OH_Asset_FreeBlob (Asset_Blob * blob)

描述 释放挑战值所占用的内存。

起始版本: 11

参数:

名称 描述
blob 从OH_Asset_PreQuery获取的挑战值。

OH_Asset_FreeResultSet()

void OH_Asset_FreeResultSet (Asset_ResultSet * resultSet)

描述 释放查询结果所占用的内存。

起始版本: 11

参数:

名称 描述
resultSet 从OH_Asset_Query得到的查询结果列表。

OH_Asset_ParseAttr()

Asset_Attr* OH_Asset_ParseAttr (const Asset_Result * result, Asset_Tag tag )

描述 解析查询结果,并获取指定的属性值。

起始版本: 11

参数:

名称 描述
result 从OH_Asset_Query中获取的查询结果。
tag 待获取的属性标签。

返回:

如果操作成功,则以Asset_Attr的形式返回属性,该属性不需要业务进行释放;否则返回NULL。

OH_Asset_PostQuery()

int32_t OH_Asset_PostQuery (const Asset_Attr * handle, uint32_t handleCnt )

描述 查询的后置处理,用于需要用户认证的关键资产。

起始版本: 11

参数:

名称 描述
handle 待处理的查询句柄,当前包含OH_Asset_PreQuery执行成功返回的挑战值。
handleCnt 句柄属性集合中元素的个数。

返回:

如果操作成功,则返回ASSET_SUCCESS;否则返回错误码。

OH_Asset_PreQuery()

int32_t OH_Asset_PreQuery (const Asset_Attr * query, uint32_t queryCnt, Asset_Blob * challenge )

描述 查询的预处理,用于需要用户认证的关键资产。

起始版本: 11

参数:

名称 描述
query 关键资产的查询条件。
queryCnt 关键资产查询条件的个数。
challenge 挑战值,在后续调用OH_Asset_Query时使用。

返回:

如果操作成功,则返回ASSET_SUCCESS;否则返回错误码。

OH_Asset_Query()

int32_t OH_Asset_Query (const Asset_Attr * query, uint32_t queryCnt, Asset_ResultSet * resultSet )

描述 查询一条或多条符合条件的关键资产。

起始版本: 11

参数:

名称 描述
query 关键资产的查询条件。
queryCnt 关键资产查询条件的个数。
resultSet 查询结果列表。

返回:

如果操作成功,则返回ASSET_SUCCESS;否则返回错误码。

OH_Asset_Remove()

int32_t OH_Asset_Remove (const Asset_Attr * query, uint32_t queryCnt )

描述 删除符合条件的一条或多条关键资产。

起始版本: 11

参数:

名称 描述
query 待删除关键资产的搜索条件。
queryCnt 待删除关键资产搜索条件的个数。

返回:

如果操作成功,则返回ASSET_SUCCESS;否则返回错误码。

OH_Asset_Update()

int32_t OH_Asset_Update (const Asset_Attr * query, uint32_t queryCnt, const Asset_Attr * attributesToUpdate, uint32_t updateCnt )

描述 更新符合条件的一条关键资产。

起始版本: 11

参数:

名称 描述
query 待更新关键资产的搜索条件。
queryCnt 待更新关键资产搜索条件的个数。
attributesToUpdate 待更新关键资产的属性集合。
updateCnt 待更新关键资产的属性数量。

返回:

如果操作成功,则返回ASSET_SUCCESS;否则返回错误码。