AssetType

概述

提供关键资产存储服务中通用的枚举值、数据结构和错误码。

系统能力: SystemCapability.Security.Asset

起始版本: 11

汇总

文件

名称 描述
asset_type.h 定义关键资产存储服务中通用的枚举值、数据结构和错误码。

结构体

名称 描述
struct Asset_Blob 二进制数组类型,即不定长的字节数组。
union Asset_Value 关键资产属性内容。
struct Asset_Attr 关键资产属性。
struct Asset_Result 关键资产查询结果,用于定义一条关键资产。
struct Asset_ResultSet 关键资产查询结果集合,用于定义多条关键资产。

宏定义

名称 描述
ASSET_TAG_TYPE_MASK (0xF << 28) 用于获取关键资产属性类型的掩码。

枚举

名称 描述
Asset_TagType {
ASSET_TYPE_BOOL = 0x1 << 28,
ASSET_TYPE_NUMBER = 0x2 << 28,
ASSET_TYPE_BYTES = 0x3 << 28 }
关键资产属性的类型定义。
Asset_Tag {
ASSET_TAG_SECRET = ASSET_TYPE_BYTES | 0x01,
ASSET_TAG_ALIAS = ASSET_TYPE_BYTES | 0x02,
ASSET_TAG_ACCESSIBILITY = ASSET_TYPE_NUMBER | 0x03,
ASSET_TAG_REQUIRE_PASSWORD_SET = ASSET_TYPE_BOOL | 0x04,
ASSET_TAG_AUTH_TYPE = ASSET_TYPE_NUMBER | 0x05,
ASSET_TAG_AUTH_VALIDITY_PERIOD = ASSET_TYPE_NUMBER | 0x06,
ASSET_TAG_AUTH_CHALLENGE = ASSET_TYPE_BYTES | 0x07,
ASSET_TAG_AUTH_TOKEN = ASSET_TYPE_BYTES | 0x08,
ASSET_TAG_SYNC_TYPE = ASSET_TYPE_NUMBER | 0x10,
ASSET_TAG_IS_PERSISTENT = ASSET_TYPE_BOOL | 0x11,
ASSET_TAG_DATA_LABEL_CRITICAL_1 = ASSET_TYPE_BYTES | 0x20,
ASSET_TAG_DATA_LABEL_CRITICAL_2 = ASSET_TYPE_BYTES | 0x21,
ASSET_TAG_DATA_LABEL_CRITICAL_3 = ASSET_TYPE_BYTES | 0x22,
ASSET_TAG_DATA_LABEL_CRITICAL_4 = ASSET_TYPE_BYTES | 0x23,
ASSET_TAG_DATA_LABEL_NORMAL_1 = ASSET_TYPE_BYTES | 0x30,
ASSET_TAG_DATA_LABEL_NORMAL_2 = ASSET_TYPE_BYTES | 0x31,
ASSET_TAG_DATA_LABEL_NORMAL_3 = ASSET_TYPE_BYTES | 0x32,
ASSET_TAG_DATA_LABEL_NORMAL_4 = ASSET_TYPE_BYTES | 0x33,
ASSET_TAG_RETURN_TYPE = ASSET_TYPE_NUMBER | 0x40,
ASSET_TAG_RETURN_LIMIT = ASSET_TYPE_NUMBER | 0x41,
ASSET_TAG_RETURN_OFFSET = ASSET_TYPE_NUMBER | 0x42,
ASSET_TAG_RETURN_ORDERED_BY = ASSET_TYPE_NUMBER | 0x43,
ASSET_TAG_CONFLICT_RESOLUTION = ASSET_TYPE_NUMBER | 0x44
}
关键资产属性的名称。
Asset_ResultCode {
ASSET_SUCCESS = 0,
ASSET_PERMISSION_DENIED = 201,
ASSET_INVALID_ARGUMENT = 401,
ASSET_SERVICE_UNAVAILABLE = 24000001,
ASSET_NOT_FOUND = 24000002,
ASSET_DUPLICATED = 24000003,
ASSET_ACCESS_DENIED = 24000004,
ASSET_STATUS_MISMATCH = 24000005,
ASSET_OUT_OF_MEMORY = 24000006,
ASSET_DATA_CORRUPTED = 24000007,
ASSET_DATABASE_ERROR = 24000008,
ASSET_CRYPTO_ERROR = 24000009,
ASSET_IPC_ERROR = 24000010,
ASSET_BMS_ERROR = 24000011,
ASSET_ACCOUNT_ERROR = 24000012,
ASSET_ACCESS_TOKEN_ERROR = 24000013,
ASSET_FILE_OPERATION_ERROR = 24000014,
ASSET_GET_SYSTEM_TIME_ERROR = 24000015,
ASSET_LIMIT_EXCEEDED = 24000016,
ASSET_UNSUPPORTED = 24000017
}
调用ASSET返回的结果码。
Asset_Accessibility {
ASSET_ACCESSIBILITY_DEVICE_POWERED_ON = 0,
ASSET_ACCESSIBILITY_DEVICE_FIRST_UNLOCKED = 1,
ASSET_ACCESSIBILITY_DEVICE_UNLOCKED = 2
}
基于锁屏状态的访问控制类型。
Asset_AuthType { ASSET_AUTH_TYPE_NONE = 0x00,
ASSET_AUTH_TYPE_ANY = 0xFF }
关键资产支持的用户认证类型。
Asset_SyncType {
ASSET_SYNC_TYPE_NEVER = 0,
ASSET_SYNC_TYPE_THIS_DEVICE = 1 << 0,
ASSET_SYNC_TYPE_TRUSTED_DEVICE = 1 << 1
}
关键资产支持的同步类型。
Asset_ConflictResolution {
ASSET_CONFLICT_OVERWRITE = 0,
ASSET_CONFLICT_THROW_ERROR = 1
}
新增关键资产时的冲突(如:别名相同)处理策略。
Asset_ReturnType {
ASSET_RETURN_ALL = 0,
ASSET_RETURN_ATTRIBUTES = 1
}
关键资产查询返回的结果类型。

宏定义说明

ASSET_TAG_TYPE_MASK

#define ASSET_TAG_TYPE_MASK   (0xF << 28)

描述

用于获取关键资产属性类型的掩码。

起始版本: 11

枚举类型说明

Asset_Accessibility

enum Asset_Accessibility

描述

基于锁屏状态的访问控制类型。

起始版本: 11

枚举值 描述
ASSET_ACCESSIBILITY_DEVICE_POWERED_ON 开机后可访问。
ASSET_ACCESSIBILITY_DEVICE_FIRST_UNLOCKED 首次解锁后可访问。
ASSET_ACCESSIBILITY_DEVICE_UNLOCKED 解锁时可访问。

Asset_AuthType

enum Asset_AuthType

描述

关键资产支持的用户认证类型。

起始版本: 11

枚举值 描述
ASSET_AUTH_TYPE_NONE 访问关键资产前无需用户认证。
ASSET_AUTH_TYPE_ANY 任意一种用户认证方式(PIN码、人脸、指纹等)通过后,均可访问关键资产。

Asset_ConflictResolution

enum Asset_ConflictResolution

描述

新增关键资产时的冲突(如:别名相同)处理策略。

起始版本: 11

枚举值 描述
ASSET_CONFLICT_OVERWRITE 覆盖原本的关键资产。
ASSET_CONFLICT_THROW_ERROR 抛出异常,由业务进行后续处理。

Asset_ResultCode

enum Asset_ResultCode

描述

调用ASSET返回的结果码。

起始版本: 11

枚举值 描述
ASSET_SUCCESS 表示操作成功。
ASSET_PERMISSION_DENIED 表示调用者没有权限。
ASSET_INVALID_ARGUMENT 表示参数错误。
ASSET_SERVICE_UNAVAILABLE 表示关键资产服务不可用。
ASSET_NOT_FOUND 表示未找到关键资产。
ASSET_DUPLICATED 表示关键资产已存在。
ASSET_ACCESS_DENIED 表示拒绝访问关键资产。
ASSET_STATUS_MISMATCH 表示锁屏状态不匹配。
ASSET_OUT_OF_MEMORY 表示系统内存不足。
ASSET_DATA_CORRUPTED 表示关键资产损坏。
ASSET_DATABASE_ERROR 表示数据库操作失败。
ASSET_CRYPTO_ERROR 表示算法库操作失败。
ASSET_IPC_ERROR 表示进程通信错误。
ASSET_BMS_ERROR 表示包管理服务异常。
ASSET_ACCOUNT_ERROR 表示账号系统异常。
ASSET_ACCESS_TOKEN_ERROR 表示访问控制服务异常。
ASSET_FILE_OPERATION_ERROR 表示文件操作失败。
ASSET_GET_SYSTEM_TIME_ERROR 表示获取系统时间失败。
ASSET_LIMIT_EXCEEDED 表示缓存数量超限。
ASSET_UNSUPPORTED 表示该子功能不支持。

Asset_ReturnType

enum Asset_ReturnType

描述

关键资产查询返回的结果类型。

起始版本: 11

枚举值 描述
ASSET_RETURN_ALL 返回关键资产明文及属性。
ASSET_RETURN_ATTRIBUTES 返回关键资产属性,不含关键资产明文。

Asset_SyncType

enum Asset_SyncType

描述

关键资产支持的同步类型。

起始版本: 11

枚举值 描述
ASSET_SYNC_TYPE_NEVER 不允许同步关键资产。
ASSET_SYNC_TYPE_THIS_DEVICE 只在本设备进行同步,如仅在本设备还原的备份场景。
ASSET_SYNC_TYPE_TRUSTED_DEVICE 只在可信设备间进行同步,如克隆场景。

Asset_Tag

enum Asset_Tag

描述

关键资产属性的名称。

起始版本: 11

枚举值 描述
ASSET_TAG_SECRET 表示用户敏感数据,如口令、令牌等,其值为bytes类型。
ASSET_TAG_ALIAS 表示一个关键资产的标识,其值为bytes类型。
ASSET_TAG_ACCESSIBILITY 表示关键资产何时可访问,其值为uint32_t类型。
ASSET_TAG_REQUIRE_PASSWORD_SET 表示关键资产是否在设备是否设置了锁屏密码时可用,其值为bool类型。
ASSET_TAG_AUTH_TYPE 表示关键资产需要的用户认证类型,其值为uint32_t类型。
ASSET_TAG_AUTH_VALIDITY_PERIOD 表示用户认证的有效时间,其值为uint32_t类型,单位为秒。
ASSET_TAG_AUTH_CHALLENGE 表示认证时防重放用的挑战值,其值为bytes类型。
ASSET_TAG_AUTH_TOKEN 表示用户认证后获取到的认证令牌,其值为bytes类型。
ASSET_TAG_SYNC_TYPE 表示关键资产的同步类型,其值为uint32_t类型。
ASSET_TAG_IS_PERSISTENT 表示关键资产是否需持久化存储,其值为bool类型。
仅在调用OH_Asset_Add函数时传入该属性需要校验权限。
需要权限: ohos.permission.STORE_PERSISTENT_DATA
ASSET_TAG_DATA_LABEL_CRITICAL_1 表示一个用户可自定义传入的字段,该字段不可被更新,其值为bytes类型。
ASSET_TAG_DATA_LABEL_CRITICAL_2 表示一个用户可自定义传入的字段,该字段不可被更新,其值为bytes类型。
ASSET_TAG_DATA_LABEL_CRITICAL_3 表示一个用户可自定义传入的字段,该字段不可被更新,其值为bytes类型。
ASSET_TAG_DATA_LABEL_CRITICAL_4 表示一个用户可自定义传入的字段,该字段不可被更新,其值为bytes类型。
ASSET_TAG_DATA_LABEL_NORMAL_1 表示一个用户可自定义传入的字段,该字段可被更新,其值为bytes类型。
ASSET_TAG_DATA_LABEL_NORMAL_2 表示一个用户可自定义传入的字段,该字段可被更新,其值为bytes类型。
ASSET_TAG_DATA_LABEL_NORMAL_3 表示一个用户可自定义传入的字段,该字段可被更新,其值为bytes类型。
ASSET_TAG_DATA_LABEL_NORMAL_4 表示一个用户可自定义传入的字段,该字段可被更新,其值为bytes类型。
ASSET_TAG_RETURN_TYPE 表示查询关键资产时的返回类型,其值为uint32_t类型。
ASSET_TAG_RETURN_LIMIT 表示查询关键资产时的最大返回数量,其值为uint32_t类型。
ASSET_TAG_RETURN_OFFSET 表示查询关键资产时的偏移量,其值为uint32_t类型。
ASSET_TAG_RETURN_ORDERED_BY 表示查询关键资产时的排序依据,其值为uint32_t类型。
ASSET_TAG_CONFLICT_RESOLUTION 表示增加关键资产时的冲突处理策略,其值为uint32_t类型。

Asset_TagType

enum Asset_TagType

描述

关键资产属性的类型定义。

起始版本: 11

枚举值 描述
ASSET_TYPE_BOOL 标识关键资产属性的类型是bool。
ASSET_TYPE_NUMBER 标识关键资产属性的类型是uint32_t。
ASSET_TYPE_BYTES 标识关键资产属性的类型是byte数组。