电子发烧友网

电脑版
提示:原网页已由神马搜索转码, 内容由www.elecfans.com提供.
会员中心
创作中心
发布

鸿蒙开发接口安全:【@ohos.security.huks (通用密钥库系统)】

jf_46214456来源:jf_46214456 作者:jf_46214456 2024-06-05 17:40772次阅读

通用密钥库系统

说明
开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模块首批接口从APIversion 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

向应用提供密钥库能力,包括密钥管理及密钥的密码学操作等功能。 HUKS所管理的密钥可以由应用导入或者由应用调用HUKS接口生成。

导入模块

import huks from '@ohos.security.huks'

HuksErrorCode

表示错误码的枚举。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_SUCCESS
0
表示成功。
HUKS_FAILURE
-1
表示失败。
HUKS_ERROR_BAD_STATE
-2
表示错误的状态。
HUKS_ERROR_INVALID_ARGUMENT
-3
表示无效的数据。
HUKS_ERROR_NOT_SUPPORTED
-4
表示不支持。
HUKS_ERROR_NO_PERMISSION
-5
表示没有许可。
HUKS_ERROR_INSUFFICIENT_DATA
-6
表示数据不足。
HUKS_ERROR_BUFFER_TOO_SMALL
-7
表示缓冲区太小。
HUKS_ERROR_INSUFFICIENT_MEMORY
-8
表示内存不足。
HUKS_ERROR_COMMUNICATION_FAILURE
-9
表示通讯失败。
HUKS_ERROR_STORAGE_FAILURE
-10
表示存储故障。
HUKS_ERROR_HARDWARE_FAILURE
-11
表示硬件故障。
HUKS_ERROR_ALREADY_EXISTS
-12
表示已经存在。
HUKS_ERROR_NOT_EXIST
-13
表示不存在。
HUKS_ERROR_NULL_POINTER
-14
表示空指针。
HUKS_ERROR_FILE_SIZE_FAIL
-15
表示文件大小失败。
HUKS_ERROR_READ_FILE_FAIL
-16
表示读取文件失败。
HUKS_ERROR_INVALID_PUBLIC_KEY
-17
表示无效的公钥。
HUKS_ERROR_INVALID_PRIVATE_KEY
-18
表示无效的私钥。
HUKS_ERROR_INVALID_KEY_INFO
-19
表示无效的密钥信息
HUKS_ERROR_HASH_NOT_EQUAL
-20
表示哈希不相等。
HUKS_ERROR_MALLOC_FAIL
-21
表示MALLOC 失败。
HUKS_ERROR_WRITE_FILE_FAIL
-22
表示写文件失败。
HUKS_ERROR_REMOVE_FILE_FAIL
-23
表示删除文件失败。
HUKS_ERROR_OPEN_FILE_FAIL
-24
表示打开文件失败。
HUKS_ERROR_CLOSE_FILE_FAIL
-25
表示关闭文件失败。
HUKS_ERROR_MAKE_DIR_FAIL
-26
表示创建目录失败。
HUKS_ERROR_INVALID_KEY_FILE
-27
表示无效的密钥文件。
HUKS_ERROR_IPC_MSG_FAIL
-28
表示IPC 信息失败。
HUKS_ERROR_REQUEST_OVERFLOWS
-29
表示请求溢出。
HUKS_ERROR_PARAM_NOT_EXIST
-30
表示参数不存在。
HUKS_ERROR_CRYPTO_ENGINE_ERROR
-31
表示CRYPTO ENGINE错误。
HUKS_ERROR_COMMUNICATION_TIMEOUT
-32
表示通讯超时。
HUKS_ERROR_IPC_INIT_FAIL
-33
表示IPC 初始化失败。
HUKS_ERROR_IPC_DLOPEN_FAIL
-34
表示IPC DLOPEN 失败。
HUKS_ERROR_EFUSE_READ_FAIL
-35
表示EFUSE 读取失败。
HUKS_ERROR_NEW_ROOT_KEY_MATERIAL_EXIST
-36
表示存在新的根密钥材料。
HUKS_ERROR_UPDATE_ROOT_KEY_MATERIAL_FAIL
-37
表示更新根密钥材料失败。
HUKS_ERROR_VERIFICATION_FAILED
-38
表示验证证书链失败。
HUKS_ERROR_CHECK_GET_ALG_FAIL
-100
表示检查获取 ALG 失败。
HUKS_ERROR_CHECK_GET_KEY_SIZE_FAIL
-101
表示检查获取密钥大小失败。
HUKS_ERROR_CHECK_GET_PADDING_FAIL
-102
表示检查获取填充失败。
HUKS_ERROR_CHECK_GET_PURPOSE_FAIL
-103
表示检查获取目的失败。
HUKS_ERROR_CHECK_GET_DIGEST_FAIL
-104
表示检查获取摘要失败。
HUKS_ERROR_CHECK_GET_MODE_FAIL
-105
表示检查获取模式失败。
HUKS_ERROR_CHECK_GET_NONCE_FAIL
-106
表示检查获取随机数失败。
HUKS_ERROR_CHECK_GET_AAD_FAIL
-107
表示检查获取 AAD 失败。
HUKS_ERROR_CHECK_GET_IV_FAIL
-108
表示检查 GET IV 失败。
HUKS_ERROR_CHECK_GET_AE_TAG_FAIL
-109
表示检查获取 AE 标记失败。
HUKS_ERROR_CHECK_GET_SALT_FAIL
-110
表示检查获取SALT失败。
HUKS_ERROR_CHECK_GET_ITERATION_FAIL
-111
表示检查获取迭代失败。
HUKS_ERROR_INVALID_ALGORITHM
-112
表示无效的算法
HUKS_ERROR_INVALID_KEY_SIZE
-113
表示无效的密钥大小。
HUKS_ERROR_INVALID_PADDING
-114
表示无效的填充。
HUKS_ERROR_INVALID_PURPOSE
-115
表示无效的目的。
HUKS_ERROR_INVALID_MODE
-116
表示无效模式。
HUKS_ERROR_INVALID_DIGEST
-117
表示无效的摘要。
HUKS_ERROR_INVALID_SIGNATURE_SIZE
-118
表示签名大小无效。
HUKS_ERROR_INVALID_IV
-119
表示无效的 IV。
HUKS_ERROR_INVALID_AAD
-120
表示无效的 AAD。
HUKS_ERROR_INVALID_NONCE
-121
表示无效的随机数。
HUKS_ERROR_INVALID_AE_TAG
-122
表示无效的 AE 标签
HUKS_ERROR_INVALID_SALT
-123
表示无效SALT。
HUKS_ERROR_INVALID_ITERATION
-124
表示无效的迭代。
HUKS_ERROR_INVALID_OPERATION
-125
表示无效操作。
HUKS_ERROR_INTERNAL_ERROR
-999
表示内部错误。
HUKS_ERROR_UNKNOWN_ERROR
-1000
表示未知错误。

HuksKeyPurpose

表示密钥用途。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_KEY_PURPOSE_ENCRYPT
1
表示密钥用于对明文进行加密操作。
HUKS_KEY_PURPOSE_DECRYPT
2
表示密钥用于对密文进行解密操作。
HUKS_KEY_PURPOSE_SIGN
4
表示密钥用于对数据进行签名。
HUKS_KEY_PURPOSE_VERIFY
8
表示密钥用于验证签名后的数据。
HUKS_KEY_PURPOSE_DERIVE
16
表示密钥用于派生密钥。
HUKS_KEY_PURPOSE_WRAP
32
表示密钥用于加密导入。
HUKS_KEY_PURPOSE_UNWRAP
64
表示密钥加密导出。
HUKS_KEY_PURPOSE_MAC
128
表示密钥用于生成mac消息验证码。
HUKS_KEY_PURPOSE_AGREE
256
表示密钥用于进行密钥协商。

HuksKeyDigest

表示摘要算法。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_DIGEST_NONE
0
表示无摘要算法。
HUKS_DIGEST_MD5
1
表示MD5摘要算法。
HUKS_DIGEST_SHA1
10
表示SHA1摘要算法。
HUKS_DIGEST_SHA224
11
表示SHA224摘要算法。
HUKS_DIGEST_SHA256
12
表示SHA256摘要算法。
HUKS_DIGEST_SHA384
13
表示SHA384摘要算法。
HUKS_DIGEST_SHA512
14
表示SHA512摘要算法。

HuksKeyPadding

表示补齐算法。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_PADDING_NONE
0
表示不使用补齐算法。
HUKS_PADDING_OAEP
1
表示使用OAEP补齐算法。
HUKS_PADDING_PSS
2
表示使用PSS补齐算法。
HUKS_PADDING_PKCS1_V1_5
3
表示使用PKCS1_V1_5补齐算法。
HUKS_PADDING_PKCS5
4
表示使用PKCS5补齐算法。
HUKS_PADDING_PKCS7
5
表示使用PKCS7补齐算法。

HuksCipherMode

表示加密模式。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_MODE_ECB
1
表示使用ECB加密模式。
HUKS_MODE_CBC
2
表示使用CBC加密模式。
HUKS_MODE_CTR
3
表示使用CTR加密模式。
HUKS_MODE_OFB
4
表示使用OFB加密模式。
HUKS_MODE_CCM
31
表示使用CCM加密模式。
HUKS_MODE_GCM
32
表示使用GCM加密模式。

HuksKeySize

表示密钥长度。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_RSA_KEY_SIZE_512
512
表示使用RSA算法的密钥长度为512bit。
HUKS_RSA_KEY_SIZE_768
768
表示使用RSA算法的密钥长度为768bit。
HUKS_RSA_KEY_SIZE_1024
1024
表示使用RSA算法的密钥长度为1024bit。
HUKS_RSA_KEY_SIZE_2048
2048
表示使用RSA算法的密钥长度为2048bit。
HUKS_RSA_KEY_SIZE_3072
3072
表示使用RSA算法的密钥长度为3072bit。
HUKS_RSA_KEY_SIZE_4096
4096
表示使用RSA算法的密钥长度为4096bit。
HUKS_ECC_KEY_SIZE_224
224
表示使用ECC算法的密钥长度为224bit。
HUKS_ECC_KEY_SIZE_256
256
表示使用ECC算法的密钥长度为256bit。
HUKS_ECC_KEY_SIZE_384
384
表示使用ECC算法的密钥长度为384bit。
HUKS_ECC_KEY_SIZE_521
521
表示使用ECC算法的密钥长度为521bit。
HUKS_AES_KEY_SIZE_128
128
表示使用AES算法的密钥长度为128bit。
HUKS_AES_KEY_SIZE_192
196
表示使用AES算法的密钥长度为196bit。
HUKS_AES_KEY_SIZE_256
256
表示使用AES算法的密钥长度为256bit。
HUKS_AES_KEY_SIZE_512
512
表示使用AES算法的密钥长度为512bit。
HUKS_CURVE25519_KEY_SIZE_256
256
表示使用CURVE25519算法的密钥长度为256bit。
HUKS_DH_KEY_SIZE_2048
2048
表示使用DH算法的密钥长度为2048bit。
HUKS_DH_KEY_SIZE_3072
3072
表示使用DH算法的密钥长度为3072bit。
HUKS_DH_KEY_SIZE_4096
4096
表示使用DH算法的密钥长度为4096bit。

HuksKeyAlg

表示密钥使用的算法。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_ALG_RSA
1
表示使用RSA算法。
HUKS_ALG_ECC
2
表示使用ECC算法。
HUKS_ALG_DSA
3
表示使用DSA算法。
HUKS_ALG_AES
20
表示使用AES算法。
HUKS_ALG_HMAC
50
表示使用HMAC算法。
HUKS_ALG_HKDF
51
表示使用HKDF算法。
HUKS_ALG_PBKDF2
52
表示使用PBKDF2算法。
HUKS_ALG_ECDH
100
表示使用ECDH算法。
HUKS_ALG_X25519
101
表示使用X25519算法。
HUKS_ALG_ED25519
102
表示使用ED25519算法。
HUKS_ALG_DH
103
表示使用DH算法。

HuksKeyGenerateType

表示生成密钥的类型。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_KEY_GENERATE_TYPE_DEFAULT
0
默认生成的密钥。
HUKS_KEY_GENERATE_TYPE_DERIVE
1
派生生成的密钥。
HUKS_KEY_GENERATE_TYPE_AGREE
2
协商生成的密钥。

HuksKeyFlag

表示密钥的产生方式。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_KEY_FLAG_IMPORT_KEY
1
表示通过导入公钥接口导入的密钥。
HUKS_KEY_FLAG_GENERATE_KEY
2
表示通过生成密钥接口生成的密钥。
HUKS_KEY_FLAG_AGREE_KEY
3
表示通过生成密钥协商接口生成的密钥。
HUKS_KEY_FLAG_DERIVE_KEY
4
表示通过生成密钥派生接口生成的密钥。

HuksKeyStorageType

表示密钥存储方式。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_STORAGE_TEMP
0
表示通过本地直接管理密钥。
HUKS_STORAGE_PERSISTENT
1
表示通过HUKS service管理密钥。

HuksSendType

表示发送Tag的方式。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_SEND_TYPE_ASYNC
0
表示异步发送TAG。
HUKS_SEND_TYPE_SYNC
1
表示同步发送TAG。

HuksTagType

表示Tag的数据类型。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_TAG_TYPE_INVALID
0<< 28
表示非法的Tag类型。
HUKS_TAG_TYPE_INT
1<< 28
表示该Tag的数据类型为int类型的number。
HUKS_TAG_TYPE_UINT
2<< 28
表示该Tag的数据类型为uint类型的number。
HUKS_TAG_TYPE_ULONG
3<< 28
表示该Tag的数据类型为bigint。
HUKS_TAG_TYPE_BOOL
4<< 28
表示该Tag的数据类型为boolean。
HUKS_TAG_TYPE_BYTES
5<< 28
表示该Tag的数据类型为Uint8Array。

HuksTag

表示调用参数的Tag。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

名称
说明
HUKS_TAG_INVALID
HuksTagType.HUKS_TAG_TYPE_INVALID
0
HUKS_TAG_ALGORITHM
HUKS_TAG_TYPE_UINT
1
HUKS_TAG_PURPOSE
HuksTagType.HUKS_TAG_TYPE_UINT
2
HUKS_TAG_KEY_SIZE
HuksTagType.HUKS_TAG_TYPE_UINT
3
HUKS_TAG_DIGEST
HuksTagType.HUKS_TAG_TYPE_UINT
4
HUKS_TAG_PADDING
HuksTagType.HUKS_TAG_TYPE_UINT
5
HUKS_TAG_BLOCK_MODE
HuksTagType.HUKS_TAG_TYPE_UINT
6
HUKS_TAG_KEY_TYPE
HuksTagType.HUKS_TAG_TYPE_UINT
7
HUKS_TAG_ASSOCIATED_DATA
HuksTagType.HUKS_TAG_TYPE_BYTES
8
HUKS_TAG_NONCE
HuksTagType.HUKS_TAG_TYPE_BYTES
9
HUKS_TAG_IV
HuksTagType.HUKS_TAG_TYPE_BYTES
10
HUKS_TAG_INFO
HuksTagType.HUKS_TAG_TYPE_BYTES
11
HUKS_TAG_SALT
HuksTagType.HUKS_TAG_TYPE_BYTES
12
HUKS_TAG_PWD
HuksTagType.HUKS_TAG_TYPE_BYTES
13
HUKS_TAG_ITERATION
HuksTagType.HUKS_TAG_TYPE_UINT
14
HUKS_TAG_KEY_GENERATE_TYPE
HuksTagType.HUKS_TAG_TYPE_UINT
15
HUKS_TAG_DERIVE_MAIN_KEY
HuksTagType.HUKS_TAG_TYPE_BYTES
16
HUKS_TAG_DERIVE_FACTOR
HuksTagType.HUKS_TAG_TYPE_BYTES
17
HUKS_TAG_DERIVE_ALG
HuksTagType.HUKS_TAG_TYPE_UINT
18
HUKS_TAG_AGREE_ALG
HuksTagType.HUKS_TAG_TYPE_UINT
19
HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIAS
HuksTagType.HUKS_TAG_TYPE_BOOL
20
HUKS_TAG_AGREE_PRIVATE_KEY_ALIAS
HuksTagType.HUKS_TAG_TYPE_BYTES
21
HUKS_TAG_AGREE_PUBLIC_KEY
HuksTagType.HUKS_TAG_TYPE_BYTES
22
HUKS_TAG_KEY_ALIAS
HuksTagType.HUKS_TAG_TYPE_BYTES
23
HUKS_TAG_DERIVE_KEY_SIZE
HuksTagType.HUKS_TAG_TYPE_UINT
24
HUKS_TAG_ACTIVE_DATETIME
HuksTagType.HUKS_TAG_TYPE_ULONG
201
HUKS_TAG_ORIGINATION_EXPIRE_DATETIME
HuksTagType.HUKS_TAG_TYPE_ULONG
202
HUKS_TAG_USAGE_EXPIRE_DATETIME
HuksTagType.HUKS_TAG_TYPE_ULONG
203
HUKS_TAG_CREATION_DATETIME
HuksTagType.HUKS_TAG_TYPE_ULONG
204
HUKS_TAG_ALL_USERS
ksTagType.HUKS_TAG_TYPE_BOOL
301
HUKS_TAG_USER_ID
HuksTagType.HUKS_TAG_TYPE_UINT
302
HUKS_TAG_NO_AUTH_REQUIRED
HuksTagType.HUKS_TAG_TYPE_BOOL
303
HUKS_TAG_USER_AUTH_TYPE
HuksTagType.HUKS_TAG_TYPE_UINT
304
HUKS_TAG_AUTH_TIMEOUT
HuksTagType.HUKS_TAG_TYPE_UINT
305
HUKS_TAG_AUTH_TOKEN
HuksTagType.HUKS_TAG_TYPE_BYTES
306
HUKS_TAG_ATTESTATION_CHALLENGE
HuksTagType.HUKS_TAG_TYPE_BYTES
501
HUKS_TAG_ATTESTATION_APPLICATION_ID
HuksTagType.HUKS_TAG_TYPE_BYTES
502
HUKS_TAG_ATTESTATION_ID_BRAND
HuksTagType.HUKS_TAG_TYPE_BYTES
503
HUKS_TAG_ATTESTATION_ID_DEVICE
HuksTagType.HUKS_TAG_TYPE_BYTES
504
HUKS_TAG_ATTESTATION_ID_PRODUCT
HuksTagType.HUKS_TAG_TYPE_BYTES
505
HUKS_TAG_ATTESTATION_ID_SERIAL
HuksTagType.HUKS_TAG_TYPE_BYTES
506
HUKS_TAG_ATTESTATION_ID_IMEI
HuksTagType.HUKS_TAG_TYPE_BYTES
507
HUKS_TAG_ATTESTATION_ID_MEID
HuksTagType.HUKS_TAG_TYPE_BYTES
508
HUKS_TAG_ATTESTATION_ID_MANUFACTURER
HuksTagType.HUKS_TAG_TYPE_BYTES
509
HUKS_TAG_ATTESTATION_ID_MODEL
HuksTagType.HUKS_TAG_TYPE_BYTES
510
HUKS_TAG_ATTESTATION_ID_ALIAS
HuksTagType.HUKS_TAG_TYPE_BYTES
511
HUKS_TAG_ATTESTATION_ID_SOCID
HuksTagType.HUKS_TAG_TYPE_BYTES
512
HUKS_TAG_ATTESTATION_ID_UDID
HuksTagType.HUKS_TAG_TYPE_BYTES
513
HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO
HuksTagType.HUKS_TAG_TYPE_BYTES
514
HUKS_TAG_ATTESTATION_ID_VERSION_INFO
HuksTagType.HUKS_TAG_TYPE_BYTES
515
HUKS_TAG_IS_KEY_ALIAS
HuksTagType.HUKS_TAG_TYPE_BOOL
1001
HUKS_TAG_KEY_STORAGE_FLAG
HuksTagType.HUKS_TAG_TYPE_UINT
1002
HUKS_TAG_IS_ALLOWED_WRAP
HuksTagType.HUKS_TAG_TYPE_BOOL
1003
HUKS_TAG_KEY_WRAP_TYPE
HuksTagType.HUKS_TAG_TYPE_UINT
1004
HUKS_TAG_KEY_AUTH_ID
HuksTagType.HUKS_TAG_TYPE_BYTES
1005
HUKS_TAG_KEY_ROLE
HuksTagType.HUKS_TAG_TYPE_UINT
1006
HUKS_TAG_KEY_FLAG
HuksTagType.HUKS_TAG_TYPE_UINT
1007
HUKS_TAG_IS_ASYNCHRONIZED
HuksTagType.HUKS_TAG_TYPE_UINT
1008
HUKS_TAG_SECURE_KEY_ALIAS
HuksTagType.HUKS_TAG_TYPE_BOOL
1009
HUKS_TAG_SECURE_KEY_UUID
HuksTagType.HUKS_TAG_TYPE_BYTES
1010
HUKS_TAG_KEY_DOMAIN
HuksTagType.HUKS_TAG_TYPE_UINT
1011
HUKS_TAG_PROCESS_NAME
HuksTagType.HUKS_TAG_TYPE_BYTES
10001
HUKS_TAG_PACKAGE_NAME
HuksTagType.HUKS_TAG_TYPE_BYTES
10002
HUKS_TAG_ACCESS_TIME
HuksTagType.HUKS_TAG_TYPE_UINT
10003
HUKS_TAG_USES_TIME
HuksTagType.HUKS_TAG_TYPE_UINT
10004
HUKS_TAG_CRYPTO_CTX
HuksTagType.HUKS_TAG_TYPE_ULONG
10005
HUKS_TAG_KEY
HuksTagType.HUKS_TAG_TYPE_BYTES
10006
HUKS_TAG_KEY_VERSION
HuksTagType.HUKS_TAG_TYPE_UINT
10007
HUKS_TAG_PAYLOAD_LEN
HuksTagType.HUKS_TAG_TYPE_UINT
10008
HUKS_TAG_AE_TAG
HuksTagType.HUKS_TAG_TYPE_BYTES
10009
HUKS_TAG_IS_KEY_HANDLE
HuksTagType.HUKS_TAG_TYPE_ULONG
10010
HUKS_TAG_OS_VERSION
HuksTagType.HUKS_TAG_TYPE_UINT
10101
HUKS_TAG_OS_PATCHLEVEL
HuksTagType.HUKS_TAG_TYPE_UINT
10102
HUKS_TAG_SYMMETRIC_KEY_DATA
HuksTagType.HUKS_TAG_TYPE_BYTES
20001
HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATA
HuksTagType.HUKS_TAG_TYPE_BYTES
20002
HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATA
HuksTagType.HUKS_TAG_TYPE_BYTES
20003

huks.generateKey

generateKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void

生成密钥,使用Callback回调异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
别名。
options
[HuksOptions]
用于存放生成key所需TAG。
callback
AsyncCallback<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其余结果请参考HuksResult进行错误码查询。

示例:

/* 以生成RSA512密钥为例 */
var keyAlias = 'keyAlias';
var properties = new Array();
properties[0] = {
  tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
  value: huks.HuksKeyAlg.HUKS_ALG_RSA
};
properties[1] = {
  tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
  value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_512
};
properties[2] = {
  tag: huks.HuksTag.HUKS_TAG_PURPOSE,
  value:
huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT |
huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT
};
properties[3] = {
  tag: huks.HuksTag.HUKS_TAG_PADDING,
  value: huks.HuksKeyPadding.HUKS_PADDING_OAEP
};
properties[4] = {
  tag: huks.HuksTag.HUKS_TAG_DIGEST,
  value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256
};
var options = {
  properties: properties
};
huks.generateKey(keyAlias, options, function (err, data){});

huks.generateKey

generateKey(keyAlias: string, options: HuksOptions) : Promise

生成密钥,使用Promise方式异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名。
options
[HuksOptions]
用于存放生成key所需TAG。

返回值:(可选,如不涉及可删除)

类型
说明
Promise<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。

示例:

/* 以生成ECC256密钥为例 */
var keyAlias = 'keyAlias';
var properties = new Array();
properties[0] = {
  tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
  value: huks.HuksKeyAlg.HUKS_ALG_ECC
};
properties[1] = {
  tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
  value: huks.HuksKeySize.HUKS_ECC_KEY_SIZE_256
};
properties[2] = {
  tag: huks.HuksTag.HUKS_TAG_PURPOSE,
  value:
huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN |
huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY
};
properties[3] = {
  tag: huks.HuksTag.HUKS_TAG_DIGEST,
  value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256
};
var options = {
  properties: properties
};
var result = huks.generateKey(keyAlias, options);

huks.deleteKey

deleteKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void

删除密钥,使用Callback回调异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,应为生成key时传入的别名。
options
[HuksOptions]
空对象(此处传空即可)。
callback
AsyncCallback<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。

示例:

/* 此处options选择emptyOptions传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};
huks.deleteKey(keyAlias, emptyOptions, function (err, data) {});

huks.deleteKey

deleteKey(keyAlias: string, options: HuksOptions) : Promise

删除密钥,使用Promise方式异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,应为生成key时传入的别名。
options
[HuksOptions]
空对象(此处传空即可)。

返回值:

类型
说明
Promise<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。

示例:

/* 此处options选择emptyOptions传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};var result = huks.deleteKey(keyAlias, emptyOptions);

huks.getSdkVersion

getSdkVersion(options: HuksOptions) : string

获取当前系统sdk版本。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
options
[HuksOptions]
空对象,用于存放sdk版本。

返回值:

类型
说明
string
返回sdk版本。

示例:

/* 此处options选择emptyOptions传空 */
var emptyOptions = {
properties: []
};var result = huks.getSdkVersion(emptyOptions);

huks.importKey

importKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void

导入密钥,使用Callback方式回调异步返回结果 。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,用于存放所需密钥。
options
[HuksOptions]
用于导入时所需TAG和需要导入的密钥。
callback
AsyncCallback<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。

示例:

/* 以导入AES256密钥为例 */
var plainTextSize32 = makeRandomArr(32);function makeRandomArr(size) {
var arr = new Uint8Array(size);
for (var i = 0; i < size; i++) {
arr[i] = Math.floor(Math.random() * 10);
}
return arr;
};var keyAlias = 'keyAlias';var properties = new Array();
properties[0] = {
tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
value: huks.HuksKeyAlg.HUKS_ALG_AES
};
properties[
1] = {
tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
value: huks.HuksKeySize.HUKS_AES_KEY_SIZE_256
};
properties[
2] = {
tag: huks.HuksTag.HUKS_TAG_PURPOSE,
value:
huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT
};
properties[
3] = {
tag: huks.HuksTag.HUKS_TAG_PADDING,
value:huks.HuksKeyPadding.HUKS_PADDING_PKCS7
};
properties[
4] = {
tag: huks.HuksTag.HUKS_TAG_BLOCK_MODE,
value: huks.HuksCipherMode.HUKS_MODE_ECB
};
var options = {
properties: properties,
inData: plainTextSize32
};
huks.importKey(keyAlias, options, function (err, data){});

huks.importKey

importKey(keyAlias: string, options: HuksOptions) : Promise

导入密钥,使用Promise方式异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,用于存放所需密钥。
options
[HuksOptions]
用于导入时所需TAG和需要导入的密钥。

返回值:

类型
说明
Promise<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。

示例:

/* 以导入AES128为例 */
var plainTextSize32 = makeRandomArr(32);function makeRandomArr(size) {
var arr = new Uint8Array(size);
for (var i = 0; i < size; i++) {
arr[i] = Math.floor(Math.random() * 10);
}
return arr;
};/*第一步:生成密钥*/ var keyAlias = 'keyAlias';var properties = new Array();
properties[0] = {
tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
value: huks.HuksKeyAlg.HUKS_ALG_AES
};
properties[
1] = {
tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
value: huks.HuksKeySize.HUKS_AES_KEY_SIZE_128
};
properties[
2] = {
tag: huks.HuksTag.HUKS_TAG_PURPOSE,
value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT
};
properties[
3] = {
tag: huks.HuksTag.HUKS_TAG_PADDING,
value:huks.HuksKeyPadding.HUKS_PADDING_PKCS7
};
properties[
4] = {
tag: huks.HuksTag.HUKS_TAG_BLOCK_MODE,
value: huks.HuksCipherMode.HUKS_MODE_ECB
};
var huksoptions = {
properties: properties,
inData: plainTextSize32
};var result = huks.importKey(keyAlias, huksoptions);

huks.exportKey

exportKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void

导出密钥,使用Callback方式回调异步返回的结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,应与所用密钥生成时使用的别名相同。
options
[HuksOptions]
空对象(此处传空即可)。
callback
AsyncCallback<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。outData:返回从密钥中导出的公钥。

示例:

/* 此处options选择emptyOptions来传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};
huks.exportKey(keyAlias, emptyOptions, function (err, data){});

huks.exportKey

exportKey(keyAlias: string, options: HuksOptions) : Promise

导出密钥,使用Promise方式回调异步返回的结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,应与所用密钥生成时使用的别名相同。
options
[HuksOptions]
空对象(此处传空即可)。

返回值:

类型
说明
Promise<[HuksResult]>
返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。outData:返回从密钥中导出的公钥。

示例:

/* 此处options选择emptyOptions来传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};var result = huks.exportKey(keyAlias, emptyOptions);

huks.getKeyProperties

getKeyProperties(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void

获取密钥属性,使用Callback回调异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,应与所用密钥生成时使用的别名相同。
options
[HuksOptions]
空对象(此处传空即可)。
callback
AsyncCallback<[HuksResult]>
errorCode:返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。

示例:

/* 此处options选择emptyOptions来传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};
huks.getKeyProperties(keyAlias, emptyOptions,
function (err, data){});

huks.getKeyProperties

getKeyProperties(keyAlias: string, options: HuksOptions) : Promise

获取密钥属性,使用Promise回调异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
密钥别名,应与所用密钥生成时使用的别名相同。
options
[HuksOptions]
空对象(此处传空即可)。

返回值:

类型
说明
Promise<[HuksResult]>
errorCode:返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。properties:返回值为生成密钥时所需参数。

示例:

/* 此处options选择emptyOptions来传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};var result = huks.getKeyProperties(keyAlias, emptyOptions);

huks.isKeyExist

isKeyExist(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void

判断密钥是否存在,使用Callback回调异步返回结果 。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
所需查找的密钥的别名。
options
[HuksOptions]
空对象(此处传空即可)。
callback
AsyncCallback
FALSE代表密钥不存在,TRUE代表密钥存在。

示例:

/* 此处options选择emptyOptions来传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};
huks.isKeyExist(keyAlias, emptyOptions, function (err, data){});

huks.isKeyExist

isKeyExist(keyAlias: string, options: HuksOptions) : Promise

判断密钥是否存在,使用Promise回调异步返回结果 。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
所需查找的密钥的别名。
options
[HuksOptions]
空对象(此处传空即可)。

返回值:

类型
说明
Promise
FALSE代表密钥不存在,TRUE代表密钥存在。

示例:

/* 此处options选择emptyOptions来传空 */
var keyAlias = 'keyAlias';var emptyOptions = {
properties: []
};var result = huks.isKeyExist(keyAlias, emptyOptions);

huks.init

init(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void

init操作密钥接口,使用Callback回调异步返回结果 。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
Init操作密钥的别名。
options
[HuksOptions]
Init操作的参数集合。
callback
AsyncCallback<[HuksHandle]>
将Init操作操作返回的handle添加到密钥管理系统的回调。

huks.init

init(keyAlias: string, options: HuksOptions) : Promise

init操作密钥接口,使用Promise方式异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
keyAlias
string
Init操作密钥的别名。
options
[HuksOptions]
Init参数集合。
promise
Promise<[HuksHandle]>
将Init操作返回的handle添加到密钥管理系统的回调。

huks.update

update(handle: number, token?: Uint8Array, options: HuksOptions, callback: AsyncCallback) : void

update操作密钥接口,使用Callback回调异步返回结果 。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
handle
number
Update操作的handle。
token
Uint8Array
Update操作的token。
options
[HuksOptions]
Update的参数集合。
callback
AsyncCallback<[HuksResult]>
将Update操作的结果添加到密钥管理系统的回调。

huks.update

update(handle: number, token?: Uint8Array, options: HuksOptions) : Promise

update操作密钥接口,使用Promise方式异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
handle
number
Update操作的handle。
token
Uint8Array
Update操作的token。
options
[HuksOptions]
Update操作的参数集合。
promise
Promise<[HuksResult]>
将Update操作的结果添加到密钥管理系统的回调。

huks.finish

finish(handle: number, options: HuksOptions, callback: AsyncCallback) : void

finish操作密钥接口,使用Callback回调异步返回结果 。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
handle
number
Finish操作的handle。
options
[HuksOptions]
Finish的参数集合。
callback
AsyncCallback<[HuksResult]>
将Finish操作的结果添加到密钥管理系统的回调。

huks.finish

finish(handle: number, options: HuksOptions) : Promise

finish操作密钥接口,使用Promise方式异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
handle
number
Finish操作的handle。
options
[HuksOptions]
Finish操作的参数集合。
promise
Promise<[HuksResult]>
promise实例,用于获取异步返回结果。

huks.abort

abort(handle: number, options: HuksOptions, callback: AsyncCallback) : void

abort操作密钥接口,使用Callback回调异步返回结果 。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
handle
number
Abort操作的handle。
options
[HuksOptions]
Abort操作的参数集合。
callback
AsyncCallback<[HuksResult]>
将Abort操作的结果添加到密钥管理系统的回调。

示例:

/* huks.init, huks.update, huks.finish为三段式接口,需要一起使用,当huks.init和huks.update
* 以及huks.finish操作中的任一阶段发生错误时,都需要调用huks.abort来终止密钥的使用。
*
* 以下以RSA1024密钥的callback操作使用为例
*/
import router from '@system.router';import huks from '@ohos.security.huks';async function routePage() {
let options = {
uri: 'pages/second' } try {
await router.push(options)
} catch (err) {
console.error(`fail callback, code: ${err.code}, msg: ${err.msg}`)
}
}var keyalias = "HuksDemoRSA";var properties = new Array();var options = {
properties: properties,
inData: new Uint8Array(0)
};var handle;var resultMessage = "";async function generateKey() {
properties[0] = {
tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
value: huks.HuksKeyAlg.HUKS_ALG_RSA
};
properties[
1] = {
tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_1024
};
properties[
2] = {
tag: huks.HuksTag.HUKS_TAG_PURPOSE,
value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT
};
properties[
3] = {
tag: huks.HuksTag.HUKS_TAG_PADDING,
value: huks.HuksKeyPadding.HUKS_PADDING_OAEP
};
properties[
4] = {
tag: huks.HuksTag.HUKS_TAG_DIGEST,
value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256
};
huks.generateKey(keyalias, options);
}
function stringToUint8Array(str) {
var arr = [];
for (var i = 0, j = str.length; i < j; ++i) {
arr.push(str.charCodeAt(i));
}
var tmpUint8Array = new Uint8Array(arr);
return tmpUint8Array;
}async function huksInit() {
await huks.init(keyalias, options).then((data) = > {
console.log(`test init data: ${JSON.stringify(data)}`);
handle = data.handle;
}).catch((err) = > {
console.log("test init err information: " + JSON.stringify(err))
})
}async function huksUpdate() {
options.inData = stringToUint8Array("huksHmacTest");
await huks.update(handle, options).then((data) = > {
if (data.errorCode === 0) {
resultMessage += "update success!";
} else {
resultMessage += "update fail!";
}
});
console.log(resultMessage);
}function huksFinish() {
options.inData = stringToUint8Array("HuksDemoHMAC");
huks.finish(handle, options).then((data) = > {
if (data.errorCode === 0) {
resultMessage = "finish success!";
} else {
resultMessage = "finish fail errorCode: " + data.errorCode;
}
}).catch((err) = > {
resultMessage = "finish fail, catch errorMessage:" + JSON.stringify(err)
});
console.log(resultMessage);
}async function huksAbort() {
huks.abort(handle, options).then((data) = > {
if (data.errorCode === 0) {
resultMessage = "abort success!";
} else {
resultMessage = "abort fail errorCode: " + data.errorCode;
}
}).catch((err) = > {
resultMessage = "abort fail, catch errorMessage:" + JSON.stringify(err)
});
console.log(resultMessage);
}@Entry @Component struct Index { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Hello World')
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('Tocallback')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20 }) .width('50%')
.height('10%')
.backgroundColor('#0D9FFB')
.onClick(() = > {
routePage()
})
Button() {
Text('generateKey')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20 }) .width('50%')
.height('10%')
.backgroundColor('#0D9FFB')
.onClick(() = > {
generateKey()
})
Button() {
Text('Init')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20 }) .width('50%')
.height('10%')
.backgroundColor('#0D9FFB')
.onClick(() = > {
huksInit()
})
Button() {
Text('Update')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20 }) .width('50%')
.height('10%')
.backgroundColor('#0D9FFB')
.onClick(() = > {
huksUpdate()
})
Button() {
Text('Finish')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20 }) .width('50%')
.height('10%')
.backgroundColor('#0D9FFB')
.onClick(() = > {
huksFinish()
})
Button() {
Text('Abort')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20 }) .width('50%')
.height('10%')
.backgroundColor('#0D9FFB')
.onClick(() = > {
huksAbort()
})
}
.width('100%')
.height('100%')
}
}

huks.abort

abort(handle: number, options: HuksOptions) : Promise;

abort操作密钥接口,使用Promise方式异步返回结果。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数:

参数名
类型
必填
说明
handle
number
Abort操作的handle。
options
[HuksOptions]
Abort操作的参数集合。
promise
Promise<[HuksResult]>
将Abort操作的结果添加到密钥管理系统的回调。

示例:

HuksParam

调用接口使用的options中的properties数组中的param。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数名
类型
必填
说明
tag
HuksTag
标签
value
boolean
number
bigint

HuksOptions

调用接口使用的options。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数名
类型
必填
说明
properties
Array
属性,存HuksParam的数组。
inData
Uint8Array
输入数据。

HuksHandle

huks Handle结构体。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数名
类型
必填
说明
errorCode
number
错误码
handle
number
handle值
tokenHarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿
Uint8Array
预留字段
鸿蒙文档.png

HuksResult

调用接口返回的result。

系统能力:以下各项对应的系统能力均为SystemCapability.Security.Huks。

参数名
类型
必填
说明
errorCode
number
错误码
outData
Uint8Array
输出数据
properties
Array
属性

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
  • 鸿蒙
0人收藏

    评论

    发布评论请先 登录

    相关推荐

    鸿蒙实战项目开发:【短信服务】

    数据管理 电话服务 分布式应用开发通知与窗口管理 多媒体技术 安全技能 任务管理 WebGL 国际化开发应用测试 DFX面向未来设计 鸿蒙系统
    03-03 21:29

    Journal of Information Security《信息安全》期刊导读

    Journal of Information Security《信息安全》期刊导读ISSN: 2153-1234 (Print) 2153-1242 (Online).《信息安全》JIS免费下载网址
    08-04 15:59

    安全数据库如何管理

    据我所知,关于BlueNrg-MS设备上绑定的编程手册部分,加密密钥存储在安全数据库中,以便解析地址并加密未来的数据连接。这一切似乎都按预期工作,但我不清楚如何管理安全数据库随着时间的推移,当许多
    03-04 16:41

    【HarmonyOS】安全指南

    安全概述HarmonyOS操作系统是一个开放的系统开发者可以通过HarmonyOS开发灵活的服务和应用,为
    09-16 17:34

    HarmonyOS应用开发-应用权限安全

    HarmonyOS应用开发安全主要分为两个方面:应用权限和生物特征识别。应用权限严格按照权限分类分级模型进行定义,如图1所示,具体过程可分为三步:根据不同应用所需实现的功能,明确接口是否需要
    09-23 14:26

    鸿蒙开发AI应用(汇总)连载中

    的编译以及开发板程序烧录的功能...4. 用鸿蒙开发AI应用方案(四)Helloworld本篇编写了第一个鸿蒙程序,讲述了从源码到,从
    01-13 15:03

    鸿蒙系统是基于什么开发

    争议,那么鸿蒙系统到底是基于什么开发的呢?下面小编就为大家带来鸿蒙系统是基于什么开发的答案。
    07-05 17:12 1.1w次阅读

    鸿蒙应用开发者使用的精美图表控件

    该三方开源从github fork过来,主要将底层接口调用的实现修改成鸿蒙接口的实现,将三方鸿蒙
    04-01 10:31 1次下载
    媒体子系统开发者提供一套简单且易于理解的接口,使得开发者能够方便接入系统并使用系统的媒体资源。
    06-06 11:03 335次阅读

    鸿蒙开发:Universal Keystore Kit密钥管理服务简介

    Universal Keystore Kit(密钥管理服务,下述简称为HUKS)向业务/应用提供各类密钥的统一安全操作能力,包括密钥管理(
    07-04 14:20 75次阅读

    鸿蒙开发:Universal Keystore Kit密钥管理服务 通用密钥基础概念

    在使用通用密钥完成应用开发前,开发者需要了解以下相关概念,以下概念将贯穿整个开发过程。
    07-05 10:57 104次阅读

    鸿蒙开发:Universal Keystore Kit密钥管理服务 密钥生成介绍及算法规格

    当业务需要使用HUKS生成随机密钥,并由HUKS进行安全保存时,可以调用HUKS接口生成
    07-04 21:50 75次阅读

    鸿蒙开发:Universal Keystore Kit密钥管理服务 密钥导入介绍及算法规格

    如果业务在HUKS外部生成密钥(比如应用间协商生成、服务器端生成),业务可以将密钥导入到HUKS中由HUKS进行管理。
    07-06 10:45 421次阅读

    鸿蒙开发:Universal Keystore Kit 密钥管理服务 密钥协商ArkTS

    以协商密钥类型为X25519 256,并密钥仅在HUKS内使用为例,完成密钥协商。
    07-10 09:22 48次阅读

    推荐专栏

    更多