161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit UniversalKeystoreKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base';
2261847f8eSopenharmony_ci
2361847f8eSopenharmony_ci/**
2461847f8eSopenharmony_ci * OpenHarmony Universal KeyStore
2561847f8eSopenharmony_ci *
2661847f8eSopenharmony_ci * @namespace huks
2761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Huks.Core
2861847f8eSopenharmony_ci * @since 8
2961847f8eSopenharmony_ci */
3061847f8eSopenharmony_ci/**
3161847f8eSopenharmony_ci * OpenHarmony Universal KeyStore
3261847f8eSopenharmony_ci *
3361847f8eSopenharmony_ci * @namespace huks
3461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Huks.Core
3561847f8eSopenharmony_ci * @atomicservice
3661847f8eSopenharmony_ci * @since 11
3761847f8eSopenharmony_ci */
3861847f8eSopenharmony_cideclare namespace huks {
3961847f8eSopenharmony_ci  /**
4061847f8eSopenharmony_ci   * Generate Key.
4161847f8eSopenharmony_ci   *
4261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
4361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
4461847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of generateKey.
4561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
4661847f8eSopenharmony_ci   * @since 8
4761847f8eSopenharmony_ci   * @deprecated since 9
4861847f8eSopenharmony_ci   * @useinstead ohos.security.huks.generateKeyItem
4961847f8eSopenharmony_ci   */
5061847f8eSopenharmony_ci  function generateKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
5161847f8eSopenharmony_ci
5261847f8eSopenharmony_ci  /**
5361847f8eSopenharmony_ci   * Generate Key.
5461847f8eSopenharmony_ci   *
5561847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
5661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
5761847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
5861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
5961847f8eSopenharmony_ci   * @since 8
6061847f8eSopenharmony_ci   * @deprecated since 9
6161847f8eSopenharmony_ci   * @useinstead ohos.security.huks.generateKeyItem
6261847f8eSopenharmony_ci   */
6361847f8eSopenharmony_ci  function generateKey(keyAlias: string, options: HuksOptions): Promise<HuksResult>;
6461847f8eSopenharmony_ci
6561847f8eSopenharmony_ci  /**
6661847f8eSopenharmony_ci   * Generate Key.
6761847f8eSopenharmony_ci   *
6861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
6961847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
7061847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of generateKeyItem.
7161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
7261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
7361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
7461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
7561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
7661847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
7761847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
7861847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
7961847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
8061847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
8161847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
8261847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
8361847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
8461847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
8561847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
8661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
8761847f8eSopenharmony_ci   * @since 9
8861847f8eSopenharmony_ci   */
8961847f8eSopenharmony_ci  /**
9061847f8eSopenharmony_ci   * Generate Key.
9161847f8eSopenharmony_ci   *
9261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
9361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
9461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of generateKeyItem.
9561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
9661847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
9761847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
9861847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
9961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
10061847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
10161847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
10261847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
10361847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
10461847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
10561847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
10661847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
10761847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
10861847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
10961847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
11061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
11161847f8eSopenharmony_ci   * @atomicservice
11261847f8eSopenharmony_ci   * @since 11
11361847f8eSopenharmony_ci   */
11461847f8eSopenharmony_ci  function generateKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<void>): void;
11561847f8eSopenharmony_ci
11661847f8eSopenharmony_ci  /**
11761847f8eSopenharmony_ci   * Generate Key.
11861847f8eSopenharmony_ci   *
11961847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
12061847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
12161847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
12261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
12361847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
12461847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
12561847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
12661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
12761847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
12861847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
12961847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
13061847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
13161847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
13261847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
13361847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
13461847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
13561847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
13661847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
13761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
13861847f8eSopenharmony_ci   * @since 9
13961847f8eSopenharmony_ci   */
14061847f8eSopenharmony_ci  /**
14161847f8eSopenharmony_ci   * Generate Key.
14261847f8eSopenharmony_ci   *
14361847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
14461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
14561847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
14661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
14761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
14861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
14961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
15061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
15161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
15261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
15361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
15461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
15561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
15661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
15761847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
15861847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
15961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
16061847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
16161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
16261847f8eSopenharmony_ci   * @atomicservice
16361847f8eSopenharmony_ci   * @since 11
16461847f8eSopenharmony_ci   */
16561847f8eSopenharmony_ci  function generateKeyItem(keyAlias: string, options: HuksOptions): Promise<void>;
16661847f8eSopenharmony_ci
16761847f8eSopenharmony_ci  /**
16861847f8eSopenharmony_ci   * Generate Key As User.
16961847f8eSopenharmony_ci   *
17061847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
17161847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
17261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
17361847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
17461847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
17561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
17661847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
17761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
17861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
17961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
18061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
18161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
18261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
18361847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
18461847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
18561847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
18661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
18761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
18861847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
18961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
19061847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
19161847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
19261847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
19361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
19461847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
19561847f8eSopenharmony_ci   * @since 12
19661847f8eSopenharmony_ci   */
19761847f8eSopenharmony_ci  function generateKeyItemAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<void>;
19861847f8eSopenharmony_ci
19961847f8eSopenharmony_ci  /**
20061847f8eSopenharmony_ci   * Delete Key.
20161847f8eSopenharmony_ci   *
20261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
20361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
20461847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of deleteKey.
20561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
20661847f8eSopenharmony_ci   * @since 8
20761847f8eSopenharmony_ci   * @deprecated since 9
20861847f8eSopenharmony_ci   * @useinstead ohos.security.huks.deleteKeyItem
20961847f8eSopenharmony_ci   */
21061847f8eSopenharmony_ci  function deleteKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
21161847f8eSopenharmony_ci
21261847f8eSopenharmony_ci  /**
21361847f8eSopenharmony_ci   * Delete Key.
21461847f8eSopenharmony_ci   *
21561847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
21661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
21761847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
21861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
21961847f8eSopenharmony_ci   * @since 8
22061847f8eSopenharmony_ci   * @deprecated since 9
22161847f8eSopenharmony_ci   * @useinstead ohos.security.huks.deleteKeyItem
22261847f8eSopenharmony_ci   */
22361847f8eSopenharmony_ci  function deleteKey(keyAlias: string, options: HuksOptions): Promise<HuksResult>;
22461847f8eSopenharmony_ci
22561847f8eSopenharmony_ci  /**
22661847f8eSopenharmony_ci   * Delete Key.
22761847f8eSopenharmony_ci   *
22861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
22961847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
23061847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of deleteKeyItem.
23161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
23261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
23361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
23461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
23561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
23661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
23761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
23861847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
23961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
24061847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
24161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
24261847f8eSopenharmony_ci   * @since 9
24361847f8eSopenharmony_ci   */
24461847f8eSopenharmony_ci  /**
24561847f8eSopenharmony_ci   * Delete Key.
24661847f8eSopenharmony_ci   *
24761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
24861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
24961847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of deleteKeyItem.
25061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
25161847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
25261847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
25361847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
25461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
25561847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
25661847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
25761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
25861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
25961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
26061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
26161847f8eSopenharmony_ci   * @atomicservice
26261847f8eSopenharmony_ci   * @since 11
26361847f8eSopenharmony_ci   */
26461847f8eSopenharmony_ci  function deleteKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<void>): void;
26561847f8eSopenharmony_ci
26661847f8eSopenharmony_ci  /**
26761847f8eSopenharmony_ci   * Delete Key.
26861847f8eSopenharmony_ci   *
26961847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
27061847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
27161847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
27261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
27361847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
27461847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
27561847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
27661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
27761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
27861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
27961847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
28061847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
28161847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
28261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
28361847f8eSopenharmony_ci   * @since 9
28461847f8eSopenharmony_ci   */
28561847f8eSopenharmony_ci  /**
28661847f8eSopenharmony_ci   * Delete Key.
28761847f8eSopenharmony_ci   *
28861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
28961847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
29061847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
29161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
29261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
29361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
29461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
29561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
29661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
29761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
29861847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
29961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
30061847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
30161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
30261847f8eSopenharmony_ci   * @atomicservice
30361847f8eSopenharmony_ci   * @since 11
30461847f8eSopenharmony_ci   */
30561847f8eSopenharmony_ci  function deleteKeyItem(keyAlias: string, options: HuksOptions): Promise<void>;
30661847f8eSopenharmony_ci
30761847f8eSopenharmony_ci  /**
30861847f8eSopenharmony_ci   * Delete Key As User.
30961847f8eSopenharmony_ci   *
31061847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
31161847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
31261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
31361847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
31461847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
31561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
31661847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
31761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
31861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
31961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
32061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
32161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
32261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
32361847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
32461847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
32561847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
32661847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
32761847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
32861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
32961847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
33061847f8eSopenharmony_ci   * @since 12
33161847f8eSopenharmony_ci   */
33261847f8eSopenharmony_ci  function deleteKeyItemAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<void>;
33361847f8eSopenharmony_ci
33461847f8eSopenharmony_ci  /**
33561847f8eSopenharmony_ci   * Import Key.
33661847f8eSopenharmony_ci   *
33761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
33861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
33961847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of importKey.
34061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
34161847f8eSopenharmony_ci   * @since 8
34261847f8eSopenharmony_ci   * @deprecated since 9
34361847f8eSopenharmony_ci   * @useinstead ohos.security.huks.importKeyItem
34461847f8eSopenharmony_ci   */
34561847f8eSopenharmony_ci  function importKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
34661847f8eSopenharmony_ci
34761847f8eSopenharmony_ci  /**
34861847f8eSopenharmony_ci   * Import Key.
34961847f8eSopenharmony_ci   *
35061847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
35161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
35261847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
35361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
35461847f8eSopenharmony_ci   * @since 8
35561847f8eSopenharmony_ci   * @deprecated since 9
35661847f8eSopenharmony_ci   * @useinstead ohos.security.huks.importKeyItem
35761847f8eSopenharmony_ci   */
35861847f8eSopenharmony_ci  function importKey(keyAlias: string, options: HuksOptions): Promise<HuksResult>;
35961847f8eSopenharmony_ci
36061847f8eSopenharmony_ci  /**
36161847f8eSopenharmony_ci   * Import Key.
36261847f8eSopenharmony_ci   *
36361847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
36461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
36561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of importKeyItem.
36661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
36761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
36861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
36961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
37061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
37161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
37261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
37361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
37461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
37561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
37661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
37761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
37861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
37961847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
38061847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
38161847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
38261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
38361847f8eSopenharmony_ci   * @since 9
38461847f8eSopenharmony_ci   */
38561847f8eSopenharmony_ci  /**
38661847f8eSopenharmony_ci   * Import Key.
38761847f8eSopenharmony_ci   *
38861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
38961847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
39061847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of importKeyItem.
39161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
39261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
39361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
39461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
39561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
39661847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
39761847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
39861847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
39961847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
40061847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
40161847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
40261847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
40361847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
40461847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
40561847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
40661847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
40761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
40861847f8eSopenharmony_ci   * @atomicservice
40961847f8eSopenharmony_ci   * @since 11
41061847f8eSopenharmony_ci   */
41161847f8eSopenharmony_ci  /**
41261847f8eSopenharmony_ci   * Import Key.
41361847f8eSopenharmony_ci   *
41461847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
41561847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
41661847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of importKeyItem.
41761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
41861847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
41961847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
42061847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
42161847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
42261847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
42361847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
42461847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
42561847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
42661847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
42761847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
42861847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
42961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
43061847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
43161847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
43261847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
43361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
43461847f8eSopenharmony_ci   * @atomicservice
43561847f8eSopenharmony_ci   * @since 12
43661847f8eSopenharmony_ci   */
43761847f8eSopenharmony_ci  function importKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<void>): void;
43861847f8eSopenharmony_ci
43961847f8eSopenharmony_ci  /**
44061847f8eSopenharmony_ci   * Import Key.
44161847f8eSopenharmony_ci   *
44261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
44361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
44461847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
44561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
44661847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
44761847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
44861847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
44961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
45061847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
45161847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
45261847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
45361847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
45461847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
45561847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
45661847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
45761847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
45861847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
45961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
46061847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
46161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
46261847f8eSopenharmony_ci   * @since 9
46361847f8eSopenharmony_ci   */
46461847f8eSopenharmony_ci  /**
46561847f8eSopenharmony_ci   * Import Key.
46661847f8eSopenharmony_ci   *
46761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
46861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
46961847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
47061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
47161847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
47261847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
47361847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
47461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
47561847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
47661847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
47761847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
47861847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
47961847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
48061847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
48161847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
48261847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
48361847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
48461847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
48561847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
48661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
48761847f8eSopenharmony_ci   * @atomicservice
48861847f8eSopenharmony_ci   * @since 11
48961847f8eSopenharmony_ci   */
49061847f8eSopenharmony_ci  function importKeyItem(keyAlias: string, options: HuksOptions): Promise<void>;
49161847f8eSopenharmony_ci
49261847f8eSopenharmony_ci  /**
49361847f8eSopenharmony_ci   * Import Key As User.
49461847f8eSopenharmony_ci   *
49561847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
49661847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
49761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
49861847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
49961847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
50061847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
50161847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
50261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
50361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
50461847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
50561847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
50661847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
50761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
50861847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
50961847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
51061847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
51161847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
51261847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
51361847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
51461847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
51561847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
51661847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
51761847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
51861847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
51961847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
52061847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
52161847f8eSopenharmony_ci   * @since 12
52261847f8eSopenharmony_ci   */
52361847f8eSopenharmony_ci  function importKeyItemAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<void>;
52461847f8eSopenharmony_ci
52561847f8eSopenharmony_ci  /**
52661847f8eSopenharmony_ci   * Import Wrapped Key.
52761847f8eSopenharmony_ci   *
52861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the name of key to be imported.
52961847f8eSopenharmony_ci   * @param { string } wrappingKeyAlias - wrappingKeyAlias indicates the name of key for wrapping the key to be imported.
53061847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
53161847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of importWrappedKeyItem.
53261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
53361847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
53461847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
53561847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
53661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
53761847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
53861847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
53961847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
54061847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
54161847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
54261847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
54361847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
54461847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
54561847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
54661847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
54761847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
54861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
54961847f8eSopenharmony_ci   * @since 9
55061847f8eSopenharmony_ci   */
55161847f8eSopenharmony_ci  /**
55261847f8eSopenharmony_ci   * Import Wrapped Key.
55361847f8eSopenharmony_ci   *
55461847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the name of key to be imported.
55561847f8eSopenharmony_ci   * @param { string } wrappingKeyAlias - wrappingKeyAlias indicates the name of key for wrapping the key to be imported.
55661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
55761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of importWrappedKeyItem.
55861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
55961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
56061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
56161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
56261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
56361847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
56461847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
56561847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
56661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
56761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
56861847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
56961847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
57061847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
57161847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
57261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
57361847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
57461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
57561847f8eSopenharmony_ci   * @atomicservice
57661847f8eSopenharmony_ci   * @since 12
57761847f8eSopenharmony_ci   */
57861847f8eSopenharmony_ci  function importWrappedKeyItem(
57961847f8eSopenharmony_ci    keyAlias: string,
58061847f8eSopenharmony_ci    wrappingKeyAlias: string,
58161847f8eSopenharmony_ci    options: HuksOptions,
58261847f8eSopenharmony_ci    callback: AsyncCallback<void>
58361847f8eSopenharmony_ci  ): void;
58461847f8eSopenharmony_ci
58561847f8eSopenharmony_ci  /**
58661847f8eSopenharmony_ci   * Import Wrapped Key As User.
58761847f8eSopenharmony_ci   *
58861847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
58961847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
59061847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the name of key to be imported.
59161847f8eSopenharmony_ci   * @param { string } wrappingKeyAlias - wrappingKeyAlias indicates the name of key for wrapping the key to be imported.
59261847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
59361847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
59461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
59561847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
59661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
59761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
59861847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
59961847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
60061847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
60161847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
60261847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
60361847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
60461847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
60561847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
60661847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
60761847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
60861847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
60961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
61061847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
61161847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
61261847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
61361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
61461847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
61561847f8eSopenharmony_ci   * @since 12
61661847f8eSopenharmony_ci   */
61761847f8eSopenharmony_ci  function importWrappedKeyItemAsUser(userId: number, keyAlias: string, wrappingKeyAlias: string, huksOptions: HuksOptions): Promise<void>;
61861847f8eSopenharmony_ci
61961847f8eSopenharmony_ci  /**
62061847f8eSopenharmony_ci   * Import Wrapped Key.
62161847f8eSopenharmony_ci   *
62261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the name of key to be imported.
62361847f8eSopenharmony_ci   * @param { string } wrappingKeyAlias - wrappingKeyAlias indicates the name of key for wrapping the key to be imported.
62461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
62561847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
62661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
62761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
62861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
62961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
63061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
63161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
63261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
63361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
63461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
63561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
63661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
63761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
63861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
63961847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
64061847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
64161847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
64261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
64361847f8eSopenharmony_ci   * @since 9
64461847f8eSopenharmony_ci   */
64561847f8eSopenharmony_ci  /**
64661847f8eSopenharmony_ci   * Import Wrapped Key.
64761847f8eSopenharmony_ci   *
64861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the name of key to be imported.
64961847f8eSopenharmony_ci   * @param { string } wrappingKeyAlias - wrappingKeyAlias indicates the name of key for wrapping the key to be imported.
65061847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
65161847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
65261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
65361847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
65461847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
65561847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
65661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
65761847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
65861847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
65961847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
66061847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
66161847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
66261847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
66361847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
66461847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
66561847f8eSopenharmony_ci   * @throws { BusinessError } 12000013 - queried credential does not exist
66661847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
66761847f8eSopenharmony_ci   * @throws { BusinessError } 12000015 - call service failed
66861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
66961847f8eSopenharmony_ci   * @atomicservice
67061847f8eSopenharmony_ci   * @since 12
67161847f8eSopenharmony_ci   */
67261847f8eSopenharmony_ci  function importWrappedKeyItem(keyAlias: string, wrappingKeyAlias: string, options: HuksOptions): Promise<void>;
67361847f8eSopenharmony_ci
67461847f8eSopenharmony_ci  /**
67561847f8eSopenharmony_ci   * Export Key.
67661847f8eSopenharmony_ci   *
67761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
67861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
67961847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of exportKey.
68061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
68161847f8eSopenharmony_ci   * @since 8
68261847f8eSopenharmony_ci   * @deprecated since 9
68361847f8eSopenharmony_ci   * @useinstead ohos.security.huks.exportKeyItem
68461847f8eSopenharmony_ci   */
68561847f8eSopenharmony_ci  function exportKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
68661847f8eSopenharmony_ci
68761847f8eSopenharmony_ci  /**
68861847f8eSopenharmony_ci   * Export Key.
68961847f8eSopenharmony_ci   *
69061847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
69161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
69261847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
69361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
69461847f8eSopenharmony_ci   * @since 8
69561847f8eSopenharmony_ci   * @deprecated since 9
69661847f8eSopenharmony_ci   * @useinstead ohos.security.huks.exportKeyItem
69761847f8eSopenharmony_ci   */
69861847f8eSopenharmony_ci  function exportKey(keyAlias: string, options: HuksOptions): Promise<HuksResult>;
69961847f8eSopenharmony_ci
70061847f8eSopenharmony_ci  /**
70161847f8eSopenharmony_ci   * Export Key.
70261847f8eSopenharmony_ci   *
70361847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
70461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
70561847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of exportKeyItem.
70661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
70761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
70861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
70961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
71061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
71161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
71261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
71361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
71461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
71561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
71661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
71761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
71861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
71961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
72061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
72161847f8eSopenharmony_ci   * @since 9
72261847f8eSopenharmony_ci   */
72361847f8eSopenharmony_ci  /**
72461847f8eSopenharmony_ci   * Export Key.
72561847f8eSopenharmony_ci   *
72661847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
72761847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
72861847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of exportKeyItem.
72961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
73061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
73161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
73261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
73361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
73461847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
73561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
73661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
73761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
73861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
73961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
74061847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
74161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
74261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
74361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
74461847f8eSopenharmony_ci   * @atomicservice
74561847f8eSopenharmony_ci   * @since 12
74661847f8eSopenharmony_ci   */
74761847f8eSopenharmony_ci  function exportKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksReturnResult>): void;
74861847f8eSopenharmony_ci
74961847f8eSopenharmony_ci  /**
75061847f8eSopenharmony_ci   * Export Key As User.
75161847f8eSopenharmony_ci   *
75261847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
75361847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
75461847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
75561847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
75661847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
75761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
75861847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
75961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
76061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
76161847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
76261847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
76361847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
76461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
76561847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
76661847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
76761847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
76861847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
76961847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
77061847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
77161847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
77261847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
77361847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
77461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
77561847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
77661847f8eSopenharmony_ci   * @since 12
77761847f8eSopenharmony_ci   */
77861847f8eSopenharmony_ci  function exportKeyItemAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<HuksReturnResult>;
77961847f8eSopenharmony_ci
78061847f8eSopenharmony_ci  /**
78161847f8eSopenharmony_ci   * Export Key.
78261847f8eSopenharmony_ci   *
78361847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
78461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
78561847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
78661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
78761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
78861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
78961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
79061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
79161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
79261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
79361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
79461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
79561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
79661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
79761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
79861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
79961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
80061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
80161847f8eSopenharmony_ci   * @since 9
80261847f8eSopenharmony_ci   */
80361847f8eSopenharmony_ci  /**
80461847f8eSopenharmony_ci   * Export Key.
80561847f8eSopenharmony_ci   *
80661847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
80761847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
80861847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
80961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
81061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
81161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
81261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
81361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
81461847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
81561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
81661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
81761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
81861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
81961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
82061847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
82161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
82261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
82361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
82461847f8eSopenharmony_ci   * @atomicservice
82561847f8eSopenharmony_ci   * @since 12
82661847f8eSopenharmony_ci   */
82761847f8eSopenharmony_ci  function exportKeyItem(keyAlias: string, options: HuksOptions): Promise<HuksReturnResult>;
82861847f8eSopenharmony_ci
82961847f8eSopenharmony_ci  /**
83061847f8eSopenharmony_ci   * Get properties of the key.
83161847f8eSopenharmony_ci   *
83261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
83361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
83461847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of getKeyProperties.
83561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
83661847f8eSopenharmony_ci   * @since 8
83761847f8eSopenharmony_ci   * @deprecated since 9
83861847f8eSopenharmony_ci   * @useinstead ohos.security.huks.getKeyItemProperties
83961847f8eSopenharmony_ci   */
84061847f8eSopenharmony_ci  function getKeyProperties(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
84161847f8eSopenharmony_ci
84261847f8eSopenharmony_ci  /**
84361847f8eSopenharmony_ci   * Get properties of the key.
84461847f8eSopenharmony_ci   *
84561847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
84661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
84761847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
84861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
84961847f8eSopenharmony_ci   * @since 8
85061847f8eSopenharmony_ci   * @deprecated since 9
85161847f8eSopenharmony_ci   * @useinstead ohos.security.huks.getKeyItemProperties
85261847f8eSopenharmony_ci   */
85361847f8eSopenharmony_ci  function getKeyProperties(keyAlias: string, options: HuksOptions): Promise<HuksResult>;
85461847f8eSopenharmony_ci
85561847f8eSopenharmony_ci  /**
85661847f8eSopenharmony_ci   * Get properties of the key.
85761847f8eSopenharmony_ci   *
85861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
85961847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
86061847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of getKeyItemProperties.
86161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
86261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
86361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
86461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
86561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
86661847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
86761847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
86861847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
86961847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
87061847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
87161847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
87261847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
87361847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
87461847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
87561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
87661847f8eSopenharmony_ci   * @since 9
87761847f8eSopenharmony_ci   */
87861847f8eSopenharmony_ci  /**
87961847f8eSopenharmony_ci   * Get properties of the key.
88061847f8eSopenharmony_ci   *
88161847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
88261847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
88361847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of getKeyItemProperties.
88461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
88561847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
88661847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
88761847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
88861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
88961847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
89061847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
89161847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
89261847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
89361847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
89461847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
89561847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
89661847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
89761847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
89861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
89961847f8eSopenharmony_ci   * @atomicservice
90061847f8eSopenharmony_ci   * @since 12
90161847f8eSopenharmony_ci   */
90261847f8eSopenharmony_ci  function getKeyItemProperties(
90361847f8eSopenharmony_ci    keyAlias: string,
90461847f8eSopenharmony_ci    options: HuksOptions,
90561847f8eSopenharmony_ci    callback: AsyncCallback<HuksReturnResult>
90661847f8eSopenharmony_ci  ): void;
90761847f8eSopenharmony_ci
90861847f8eSopenharmony_ci  /**
90961847f8eSopenharmony_ci   * Get properties of the key as user.
91061847f8eSopenharmony_ci   *
91161847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
91261847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
91361847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
91461847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
91561847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
91661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
91761847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
91861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
91961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
92061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
92161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
92261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
92361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
92461847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
92561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
92661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
92761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
92861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
92961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
93061847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
93161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
93261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
93361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
93461847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
93561847f8eSopenharmony_ci   * @since 12
93661847f8eSopenharmony_ci   */
93761847f8eSopenharmony_ci  function getKeyItemPropertiesAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<HuksReturnResult>;
93861847f8eSopenharmony_ci
93961847f8eSopenharmony_ci  /**
94061847f8eSopenharmony_ci   * Get properties of the key.
94161847f8eSopenharmony_ci   *
94261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
94361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
94461847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
94561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
94661847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
94761847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
94861847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
94961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
95061847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
95161847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
95261847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
95361847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
95461847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
95561847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
95661847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
95761847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
95861847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
95961847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
96061847f8eSopenharmony_ci   * @since 9
96161847f8eSopenharmony_ci   */
96261847f8eSopenharmony_ci  /**
96361847f8eSopenharmony_ci   * Get properties of the key.
96461847f8eSopenharmony_ci   *
96561847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
96661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
96761847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
96861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
96961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
97061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
97161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
97261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
97361847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
97461847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
97561847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
97661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
97761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
97861847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
97961847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
98061847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
98161847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
98261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
98361847f8eSopenharmony_ci   * @atomicservice
98461847f8eSopenharmony_ci   * @since 12
98561847f8eSopenharmony_ci   */
98661847f8eSopenharmony_ci  function getKeyItemProperties(keyAlias: string, options: HuksOptions): Promise<HuksReturnResult>;
98761847f8eSopenharmony_ci
98861847f8eSopenharmony_ci  /**
98961847f8eSopenharmony_ci   * Check whether the key exists.
99061847f8eSopenharmony_ci   *
99161847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
99261847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
99361847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - the callback of isKeyExist.
99461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
99561847f8eSopenharmony_ci   * @since 8
99661847f8eSopenharmony_ci   * @deprecated since 9
99761847f8eSopenharmony_ci   * @useinstead ohos.security.huks.isKeyItemExist
99861847f8eSopenharmony_ci   */
99961847f8eSopenharmony_ci  function isKeyExist(keyAlias: string, options: HuksOptions, callback: AsyncCallback<boolean>): void;
100061847f8eSopenharmony_ci
100161847f8eSopenharmony_ci  /**
100261847f8eSopenharmony_ci   * Check whether the key exists.
100361847f8eSopenharmony_ci   *
100461847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
100561847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
100661847f8eSopenharmony_ci   * @returns { Promise<boolean> } the promise returned by the function.
100761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
100861847f8eSopenharmony_ci   * @since 8
100961847f8eSopenharmony_ci   * @deprecated since 9
101061847f8eSopenharmony_ci   * @useinstead ohos.security.huks.isKeyItemExist
101161847f8eSopenharmony_ci   */
101261847f8eSopenharmony_ci  function isKeyExist(keyAlias: string, options: HuksOptions): Promise<boolean>;
101361847f8eSopenharmony_ci
101461847f8eSopenharmony_ci  /**
101561847f8eSopenharmony_ci   * Check whether the key exists.
101661847f8eSopenharmony_ci   *
101761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
101861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
101961847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - the callback of isKeyItemExist.
102061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
102161847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
102261847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
102361847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
102461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
102561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
102661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
102761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
102861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
102961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
103061847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
103161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
103261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
103361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
103461847f8eSopenharmony_ci   * @since 9
103561847f8eSopenharmony_ci   */
103661847f8eSopenharmony_ci  function isKeyItemExist(keyAlias: string, options: HuksOptions, callback: AsyncCallback<boolean>): void;
103761847f8eSopenharmony_ci
103861847f8eSopenharmony_ci  /**
103961847f8eSopenharmony_ci   * Check whether the key exists.
104061847f8eSopenharmony_ci   *
104161847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
104261847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
104361847f8eSopenharmony_ci   * @returns { Promise<boolean> } the promise returned by the function.
104461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
104561847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
104661847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
104761847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
104861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
104961847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
105061847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
105161847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
105261847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
105361847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
105461847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
105561847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
105661847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
105761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
105861847f8eSopenharmony_ci   * @since 9
105961847f8eSopenharmony_ci   */
106061847f8eSopenharmony_ci  function isKeyItemExist(keyAlias: string, options: HuksOptions): Promise<boolean>;
106161847f8eSopenharmony_ci
106261847f8eSopenharmony_ci  /**
106361847f8eSopenharmony_ci   * Check whether the key exists.
106461847f8eSopenharmony_ci   *
106561847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
106661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
106761847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - the callback of isKeyItemExist.
106861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
106961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
107061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
107161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
107261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
107361847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
107461847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
107561847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
107661847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
107761847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
107861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
107961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
108061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
108161847f8eSopenharmony_ci   * @atomicservice
108261847f8eSopenharmony_ci   * @since 11
108361847f8eSopenharmony_ci   */
108461847f8eSopenharmony_ci  function hasKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<boolean>): void;
108561847f8eSopenharmony_ci
108661847f8eSopenharmony_ci  /**
108761847f8eSopenharmony_ci   * Check whether the key exists as user.
108861847f8eSopenharmony_ci   *
108961847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
109061847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
109161847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
109261847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
109361847f8eSopenharmony_ci   * @returns { Promise<boolean> } the promise returned by the function.
109461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
109561847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
109661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
109761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
109861847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
109961847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
110061847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
110161847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
110261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
110361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
110461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
110561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
110661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
110761847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
110861847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
110961847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
111061847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
111161847f8eSopenharmony_ci   * @since 12
111261847f8eSopenharmony_ci   */
111361847f8eSopenharmony_ci  function hasKeyItemAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<boolean>;
111461847f8eSopenharmony_ci
111561847f8eSopenharmony_ci  /**
111661847f8eSopenharmony_ci   * Check whether the key exists.
111761847f8eSopenharmony_ci   *
111861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
111961847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
112061847f8eSopenharmony_ci   * @returns { Promise<boolean> } the promise returned by the function.
112161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
112261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
112361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
112461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
112561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
112661847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
112761847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
112861847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
112961847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
113061847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
113161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
113261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
113361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
113461847f8eSopenharmony_ci   * @atomicservice
113561847f8eSopenharmony_ci   * @since 11
113661847f8eSopenharmony_ci   */
113761847f8eSopenharmony_ci  function hasKeyItem(keyAlias: string, options: HuksOptions): Promise<boolean>;
113861847f8eSopenharmony_ci
113961847f8eSopenharmony_ci  /**
114061847f8eSopenharmony_ci   * Init Operation.
114161847f8eSopenharmony_ci   *
114261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
114361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
114461847f8eSopenharmony_ci   * @param { AsyncCallback<HuksHandle> } callback - the callback of init, include the handle.
114561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
114661847f8eSopenharmony_ci   * @since 8
114761847f8eSopenharmony_ci   * @deprecated since 9
114861847f8eSopenharmony_ci   * @useinstead ohos.security.huks.initSession
114961847f8eSopenharmony_ci   */
115061847f8eSopenharmony_ci  function init(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksHandle>): void;
115161847f8eSopenharmony_ci
115261847f8eSopenharmony_ci  /**
115361847f8eSopenharmony_ci   * Init Operation.
115461847f8eSopenharmony_ci   *
115561847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
115661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
115761847f8eSopenharmony_ci   * @returns { Promise<HuksHandle> } the promise returned by the function, include the handle.
115861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
115961847f8eSopenharmony_ci   * @since 8
116061847f8eSopenharmony_ci   * @deprecated since 9
116161847f8eSopenharmony_ci   * @useinstead ohos.security.huks.initSession
116261847f8eSopenharmony_ci   */
116361847f8eSopenharmony_ci  function init(keyAlias: string, options: HuksOptions): Promise<HuksHandle>;
116461847f8eSopenharmony_ci
116561847f8eSopenharmony_ci  /**
116661847f8eSopenharmony_ci   * Init Operation.
116761847f8eSopenharmony_ci   *
116861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
116961847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
117061847f8eSopenharmony_ci   * @param { AsyncCallback<HuksSessionHandle> } callback - the callback of initSession.
117161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
117261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
117361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
117461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
117561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
117661847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
117761847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
117861847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
117961847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
118061847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
118161847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
118261847f8eSopenharmony_ci   * @throws { BusinessError } 12000010 - the number of sessions has reached limit
118361847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
118461847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
118561847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
118661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
118761847f8eSopenharmony_ci   * @since 9
118861847f8eSopenharmony_ci   */
118961847f8eSopenharmony_ci  /**
119061847f8eSopenharmony_ci   * Init Operation.
119161847f8eSopenharmony_ci   *
119261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
119361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
119461847f8eSopenharmony_ci   * @param { AsyncCallback<HuksSessionHandle> } callback - the callback of initSession.
119561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
119661847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
119761847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
119861847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
119961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
120061847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
120161847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
120261847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
120361847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
120461847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
120561847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
120661847f8eSopenharmony_ci   * @throws { BusinessError } 12000010 - the number of sessions has reached limit
120761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
120861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
120961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
121061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
121161847f8eSopenharmony_ci   * @atomicservice
121261847f8eSopenharmony_ci   * @since 11
121361847f8eSopenharmony_ci   */
121461847f8eSopenharmony_ci  function initSession(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksSessionHandle>): void;
121561847f8eSopenharmony_ci
121661847f8eSopenharmony_ci  /**
121761847f8eSopenharmony_ci   * Init Operation.
121861847f8eSopenharmony_ci   *
121961847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
122061847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
122161847f8eSopenharmony_ci   * @returns { Promise<HuksSessionHandle> } the promise returned by the function.
122261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
122361847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
122461847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
122561847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
122661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
122761847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
122861847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
122961847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
123061847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
123161847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
123261847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
123361847f8eSopenharmony_ci   * @throws { BusinessError } 12000010 - the number of sessions has reached limit
123461847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
123561847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
123661847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
123761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
123861847f8eSopenharmony_ci   * @since 9
123961847f8eSopenharmony_ci   */
124061847f8eSopenharmony_ci  /**
124161847f8eSopenharmony_ci   * Init Operation.
124261847f8eSopenharmony_ci   *
124361847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
124461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
124561847f8eSopenharmony_ci   * @returns { Promise<HuksSessionHandle> } the promise returned by the function.
124661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
124761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
124861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
124961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
125061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
125161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
125261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
125361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
125461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
125561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
125661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
125761847f8eSopenharmony_ci   * @throws { BusinessError } 12000010 - the number of sessions has reached limit
125861847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
125961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
126061847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
126161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
126261847f8eSopenharmony_ci   * @atomicservice
126361847f8eSopenharmony_ci   * @since 11
126461847f8eSopenharmony_ci   */
126561847f8eSopenharmony_ci  function initSession(keyAlias: string, options: HuksOptions): Promise<HuksSessionHandle>;
126661847f8eSopenharmony_ci
126761847f8eSopenharmony_ci  /**
126861847f8eSopenharmony_ci   * Init Operation As User.
126961847f8eSopenharmony_ci   *
127061847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
127161847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
127261847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
127361847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key.
127461847f8eSopenharmony_ci   * @returns { Promise<HuksSessionHandle> } the promise returned by the function.
127561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
127661847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
127761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
127861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
127961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
128061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
128161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
128261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
128361847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
128461847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
128561847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
128661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
128761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
128861847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
128961847f8eSopenharmony_ci   * @throws { BusinessError } 12000010 - the number of sessions has reached limit
129061847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
129161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
129261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
129361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
129461847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
129561847f8eSopenharmony_ci   * @since 12
129661847f8eSopenharmony_ci   */
129761847f8eSopenharmony_ci  function initSessionAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<HuksSessionHandle>;
129861847f8eSopenharmony_ci
129961847f8eSopenharmony_ci  /**
130061847f8eSopenharmony_ci   * Update Operation.
130161847f8eSopenharmony_ci   *
130261847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
130361847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of token.
130461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
130561847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of update.
130661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
130761847f8eSopenharmony_ci   * @since 8
130861847f8eSopenharmony_ci   * @deprecated since 9
130961847f8eSopenharmony_ci   * @useinstead ohos.security.huks.updateSession
131061847f8eSopenharmony_ci   */
131161847f8eSopenharmony_ci  function update(handle: number, token?: Uint8Array, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
131261847f8eSopenharmony_ci
131361847f8eSopenharmony_ci  /**
131461847f8eSopenharmony_ci   * Update Operation.
131561847f8eSopenharmony_ci   *
131661847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
131761847f8eSopenharmony_ci   * @param { Uint8Array } token - indicates the value of token.
131861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
131961847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
132061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
132161847f8eSopenharmony_ci   * @since 8
132261847f8eSopenharmony_ci   * @deprecated since 9
132361847f8eSopenharmony_ci   * @useinstead ohos.security.huks.updateSession
132461847f8eSopenharmony_ci   */
132561847f8eSopenharmony_ci  function update(handle: number, token?: Uint8Array, options: HuksOptions): Promise<HuksResult>;
132661847f8eSopenharmony_ci
132761847f8eSopenharmony_ci  /**
132861847f8eSopenharmony_ci   * Update Operation.
132961847f8eSopenharmony_ci   *
133061847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
133161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
133261847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of updateSession.
133361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
133461847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
133561847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
133661847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
133761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
133861847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
133961847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
134061847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
134161847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
134261847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
134361847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
134461847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
134561847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
134661847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
134761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
134861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
134961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
135061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
135161847f8eSopenharmony_ci   * @since 9
135261847f8eSopenharmony_ci   */
135361847f8eSopenharmony_ci  /**
135461847f8eSopenharmony_ci   * Update Operation.
135561847f8eSopenharmony_ci   *
135661847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
135761847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
135861847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of updateSession.
135961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
136061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
136161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
136261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
136361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
136461847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
136561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
136661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
136761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
136861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
136961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
137061847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
137161847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
137261847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
137361847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
137461847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
137561847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
137661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
137761847f8eSopenharmony_ci   * @atomicservice
137861847f8eSopenharmony_ci   * @since 11
137961847f8eSopenharmony_ci   */
138061847f8eSopenharmony_ci  function updateSession(handle: number, options: HuksOptions, callback: AsyncCallback<HuksReturnResult>): void;
138161847f8eSopenharmony_ci
138261847f8eSopenharmony_ci  /**
138361847f8eSopenharmony_ci   * Update Operation.
138461847f8eSopenharmony_ci   *
138561847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
138661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
138761847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
138861847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of updateSession.
138961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
139061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
139161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
139261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
139361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
139461847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
139561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
139661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
139761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
139861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
139961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
140061847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
140161847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
140261847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
140361847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
140461847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
140561847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
140661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
140761847f8eSopenharmony_ci   * @since 9
140861847f8eSopenharmony_ci   */
140961847f8eSopenharmony_ci  /**
141061847f8eSopenharmony_ci   * Update Operation.
141161847f8eSopenharmony_ci   *
141261847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
141361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
141461847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
141561847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of updateSession.
141661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
141761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
141861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
141961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
142061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
142161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
142261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
142361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
142461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
142561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
142661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
142761847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
142861847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
142961847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
143061847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
143161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
143261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
143361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
143461847f8eSopenharmony_ci   * @atomicservice
143561847f8eSopenharmony_ci   * @since 12
143661847f8eSopenharmony_ci   */
143761847f8eSopenharmony_ci  function updateSession(
143861847f8eSopenharmony_ci    handle: number,
143961847f8eSopenharmony_ci    options: HuksOptions,
144061847f8eSopenharmony_ci    token: Uint8Array,
144161847f8eSopenharmony_ci    callback: AsyncCallback<HuksReturnResult>
144261847f8eSopenharmony_ci  ): void;
144361847f8eSopenharmony_ci
144461847f8eSopenharmony_ci  /**
144561847f8eSopenharmony_ci   * Update Operation.
144661847f8eSopenharmony_ci   *
144761847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
144861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
144961847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
145061847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
145161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
145261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
145361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
145461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
145561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
145661847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
145761847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
145861847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
145961847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
146061847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
146161847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
146261847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
146361847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
146461847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
146561847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
146661847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
146761847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
146861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
146961847f8eSopenharmony_ci   * @since 9
147061847f8eSopenharmony_ci   */
147161847f8eSopenharmony_ci  /**
147261847f8eSopenharmony_ci   * Update Operation.
147361847f8eSopenharmony_ci   *
147461847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
147561847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the update operation.
147661847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
147761847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
147861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
147961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
148061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
148161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
148261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
148361847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
148461847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
148561847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
148661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
148761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
148861847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
148961847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
149061847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
149161847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
149261847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
149361847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
149461847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
149561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
149661847f8eSopenharmony_ci   * @atomicservice
149761847f8eSopenharmony_ci   * @since 11
149861847f8eSopenharmony_ci   */
149961847f8eSopenharmony_ci  function updateSession(handle: number, options: HuksOptions, token?: Uint8Array): Promise<HuksReturnResult>;
150061847f8eSopenharmony_ci
150161847f8eSopenharmony_ci  /**
150261847f8eSopenharmony_ci   * Finish Operation.
150361847f8eSopenharmony_ci   *
150461847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
150561847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
150661847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of finish.
150761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
150861847f8eSopenharmony_ci   * @since 8
150961847f8eSopenharmony_ci   * @deprecated since 9
151061847f8eSopenharmony_ci   * @useinstead ohos.security.huks.finishSession
151161847f8eSopenharmony_ci   */
151261847f8eSopenharmony_ci  function finish(handle: number, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
151361847f8eSopenharmony_ci
151461847f8eSopenharmony_ci  /**
151561847f8eSopenharmony_ci   * Finish Operation.
151661847f8eSopenharmony_ci   *
151761847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
151861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
151961847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
152061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
152161847f8eSopenharmony_ci   * @since 8
152261847f8eSopenharmony_ci   * @deprecated since 9
152361847f8eSopenharmony_ci   * @useinstead ohos.security.huks.finishSession
152461847f8eSopenharmony_ci   */
152561847f8eSopenharmony_ci  function finish(handle: number, options: HuksOptions): Promise<HuksResult>;
152661847f8eSopenharmony_ci
152761847f8eSopenharmony_ci  /**
152861847f8eSopenharmony_ci   * Finish Operation.
152961847f8eSopenharmony_ci   *
153061847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
153161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
153261847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of finishSession.
153361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
153461847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
153561847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
153661847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
153761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
153861847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
153961847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
154061847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
154161847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
154261847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
154361847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
154461847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
154561847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
154661847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
154761847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
154861847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
154961847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
155061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
155161847f8eSopenharmony_ci   * @since 9
155261847f8eSopenharmony_ci   */
155361847f8eSopenharmony_ci  /**
155461847f8eSopenharmony_ci   * Finish Operation.
155561847f8eSopenharmony_ci   *
155661847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
155761847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
155861847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of finishSession.
155961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
156061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
156161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
156261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
156361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
156461847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
156561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
156661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
156761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
156861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
156961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
157061847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
157161847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
157261847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
157361847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
157461847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
157561847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
157661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
157761847f8eSopenharmony_ci   * @atomicservice
157861847f8eSopenharmony_ci   * @since 11
157961847f8eSopenharmony_ci   */
158061847f8eSopenharmony_ci  function finishSession(handle: number, options: HuksOptions, callback: AsyncCallback<HuksReturnResult>): void;
158161847f8eSopenharmony_ci
158261847f8eSopenharmony_ci  /**
158361847f8eSopenharmony_ci   * Finish Operation.
158461847f8eSopenharmony_ci   *
158561847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
158661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
158761847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
158861847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of finishSession.
158961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
159061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
159161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
159261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
159361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
159461847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
159561847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
159661847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
159761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
159861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
159961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
160061847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
160161847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
160261847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
160361847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
160461847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
160561847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
160661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
160761847f8eSopenharmony_ci   * @since 9
160861847f8eSopenharmony_ci   */
160961847f8eSopenharmony_ci  /**
161061847f8eSopenharmony_ci   * Finish Operation.
161161847f8eSopenharmony_ci   *
161261847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
161361847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
161461847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
161561847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of finishSession.
161661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
161761847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
161861847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
161961847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
162061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
162161847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
162261847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
162361847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
162461847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
162561847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
162661847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
162761847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
162861847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
162961847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
163061847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
163161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
163261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
163361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
163461847f8eSopenharmony_ci   * @atomicservice
163561847f8eSopenharmony_ci   * @since 12
163661847f8eSopenharmony_ci   */
163761847f8eSopenharmony_ci  function finishSession(
163861847f8eSopenharmony_ci    handle: number,
163961847f8eSopenharmony_ci    options: HuksOptions,
164061847f8eSopenharmony_ci    token: Uint8Array,
164161847f8eSopenharmony_ci    callback: AsyncCallback<HuksReturnResult>
164261847f8eSopenharmony_ci  ): void;
164361847f8eSopenharmony_ci
164461847f8eSopenharmony_ci  /**
164561847f8eSopenharmony_ci   * Finish Operation.
164661847f8eSopenharmony_ci   *
164761847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
164861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
164961847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
165061847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
165161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
165261847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
165361847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
165461847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
165561847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
165661847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
165761847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
165861847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
165961847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
166061847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
166161847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
166261847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
166361847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
166461847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
166561847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
166661847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
166761847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
166861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
166961847f8eSopenharmony_ci   * @since 9
167061847f8eSopenharmony_ci   */
167161847f8eSopenharmony_ci  /**
167261847f8eSopenharmony_ci   * Finish Operation.
167361847f8eSopenharmony_ci   *
167461847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
167561847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the finish operation.
167661847f8eSopenharmony_ci   * @param { Uint8Array } token - token indicates the value of auth token from USER IAM service.
167761847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
167861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
167961847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
168061847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
168161847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
168261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
168361847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
168461847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
168561847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
168661847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
168761847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
168861847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
168961847f8eSopenharmony_ci   * @throws { BusinessError } 12000007 - this credential is already invalidated permanently
169061847f8eSopenharmony_ci   * @throws { BusinessError } 12000008 - verify auth token failed
169161847f8eSopenharmony_ci   * @throws { BusinessError } 12000009 - auth token is already timeout
169261847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
169361847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
169461847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
169561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
169661847f8eSopenharmony_ci   * @atomicservice
169761847f8eSopenharmony_ci   * @since 11
169861847f8eSopenharmony_ci   */
169961847f8eSopenharmony_ci  function finishSession(handle: number, options: HuksOptions, token?: Uint8Array): Promise<HuksReturnResult>;
170061847f8eSopenharmony_ci
170161847f8eSopenharmony_ci  /**
170261847f8eSopenharmony_ci   * Abort Operation.
170361847f8eSopenharmony_ci   *
170461847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
170561847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the abort operation.
170661847f8eSopenharmony_ci   * @param { AsyncCallback<HuksResult> } callback - the callback of finishSession.
170761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
170861847f8eSopenharmony_ci   * @since 8
170961847f8eSopenharmony_ci   * @deprecated since 9
171061847f8eSopenharmony_ci   * @useinstead ohos.security.huks.abortSession
171161847f8eSopenharmony_ci   */
171261847f8eSopenharmony_ci  function abort(handle: number, options: HuksOptions, callback: AsyncCallback<HuksResult>): void;
171361847f8eSopenharmony_ci
171461847f8eSopenharmony_ci  /**
171561847f8eSopenharmony_ci   * Abort Operation.
171661847f8eSopenharmony_ci   *
171761847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
171861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the abort operation.
171961847f8eSopenharmony_ci   * @returns { Promise<HuksResult> } the promise returned by the function.
172061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
172161847f8eSopenharmony_ci   * @since 8
172261847f8eSopenharmony_ci   * @deprecated since 9
172361847f8eSopenharmony_ci   * @useinstead ohos.security.huks.abortSession
172461847f8eSopenharmony_ci   */
172561847f8eSopenharmony_ci  function abort(handle: number, options: HuksOptions): Promise<HuksResult>;
172661847f8eSopenharmony_ci
172761847f8eSopenharmony_ci  /**
172861847f8eSopenharmony_ci   * Abort Operation.
172961847f8eSopenharmony_ci   *
173061847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
173161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the abort operation.
173261847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of abortSession.
173361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
173461847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
173561847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
173661847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
173761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
173861847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
173961847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
174061847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
174161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
174261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
174361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
174461847f8eSopenharmony_ci   * @since 9
174561847f8eSopenharmony_ci   */
174661847f8eSopenharmony_ci  /**
174761847f8eSopenharmony_ci   * Abort Operation.
174861847f8eSopenharmony_ci   *
174961847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
175061847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the abort operation.
175161847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - the callback of abortSession.
175261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
175361847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
175461847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
175561847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
175661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
175761847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
175861847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
175961847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
176061847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
176161847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
176261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
176361847f8eSopenharmony_ci   * @atomicservice
176461847f8eSopenharmony_ci   * @since 11
176561847f8eSopenharmony_ci   */
176661847f8eSopenharmony_ci  function abortSession(handle: number, options: HuksOptions, callback: AsyncCallback<void>): void;
176761847f8eSopenharmony_ci
176861847f8eSopenharmony_ci  /**
176961847f8eSopenharmony_ci   * Abort Operation.
177061847f8eSopenharmony_ci   *
177161847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
177261847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the abort operation.
177361847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
177461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
177561847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
177661847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
177761847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
177861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
177961847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
178061847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
178161847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
178261847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
178361847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
178461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
178561847f8eSopenharmony_ci   * @since 9
178661847f8eSopenharmony_ci   */
178761847f8eSopenharmony_ci  /**
178861847f8eSopenharmony_ci   * Abort Operation.
178961847f8eSopenharmony_ci   *
179061847f8eSopenharmony_ci   * @param { number } handle - indicates the handle of the init operation.
179161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the abort operation.
179261847f8eSopenharmony_ci   * @returns { Promise<void> } the promise returned by the function.
179361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
179461847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
179561847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
179661847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
179761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
179861847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
179961847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
180061847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
180161847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
180261847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
180361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
180461847f8eSopenharmony_ci   * @atomicservice
180561847f8eSopenharmony_ci   * @since 11
180661847f8eSopenharmony_ci   */
180761847f8eSopenharmony_ci  function abortSession(handle: number, options: HuksOptions): Promise<void>;
180861847f8eSopenharmony_ci
180961847f8eSopenharmony_ci  /**
181061847f8eSopenharmony_ci   * Key Attestation. This API can be called only by system applications.
181161847f8eSopenharmony_ci   *
181261847f8eSopenharmony_ci   * @permission ohos.permission.ATTEST_KEY
181361847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
181461847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key attestation operation.
181561847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of attestKeyItem.
181661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - check permission failed
181761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
181861847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
181961847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
182061847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
182161847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
182261847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
182361847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
182461847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
182561847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
182661847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
182761847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
182861847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
182961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
183061847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
183161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
183261847f8eSopenharmony_ci   * @since 9
183361847f8eSopenharmony_ci   */
183461847f8eSopenharmony_ci  function attestKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksReturnResult>): void;
183561847f8eSopenharmony_ci
183661847f8eSopenharmony_ci  /**
183761847f8eSopenharmony_ci   * Key Attestation As User.
183861847f8eSopenharmony_ci   *
183961847f8eSopenharmony_ci   * @permission ohos.permission.ATTEST_KEY and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
184061847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
184161847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
184261847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key attestation operation.
184361847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
184461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
184561847f8eSopenharmony_ci   * <br>ohos.permission.ATTEST_KEY or ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
184661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
184761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
184861847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
184961847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
185061847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
185161847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
185261847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
185361847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
185461847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
185561847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
185661847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
185761847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
185861847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
185961847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
186061847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
186161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
186261847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
186361847f8eSopenharmony_ci   * @since 12
186461847f8eSopenharmony_ci   */
186561847f8eSopenharmony_ci  function attestKeyItemAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<HuksReturnResult>;
186661847f8eSopenharmony_ci
186761847f8eSopenharmony_ci  /**
186861847f8eSopenharmony_ci   * Key Attestation. This API can be called only by system applications.
186961847f8eSopenharmony_ci   *
187061847f8eSopenharmony_ci   * @permission ohos.permission.ATTEST_KEY
187161847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
187261847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key attestation operation.
187361847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
187461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - check permission failed
187561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
187661847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
187761847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
187861847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
187961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
188061847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
188161847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
188261847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
188361847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
188461847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
188561847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
188661847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
188761847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
188861847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
188961847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
189061847f8eSopenharmony_ci   * @since 9
189161847f8eSopenharmony_ci   */
189261847f8eSopenharmony_ci  function attestKeyItem(keyAlias: string, options: HuksOptions): Promise<HuksReturnResult>;
189361847f8eSopenharmony_ci
189461847f8eSopenharmony_ci  /**
189561847f8eSopenharmony_ci   * Key Attestation with anonymous certificate.
189661847f8eSopenharmony_ci   *
189761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
189861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key attestation operation.
189961847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of attestKeyItem.
190061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
190161847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
190261847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
190361847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
190461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
190561847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
190661847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
190761847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
190861847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
190961847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
191061847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
191161847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
191261847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
191361847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
191461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
191561847f8eSopenharmony_ci   * @since 11
191661847f8eSopenharmony_ci   */
191761847f8eSopenharmony_ci  /**
191861847f8eSopenharmony_ci   * Key Attestation with anonymous certificate.
191961847f8eSopenharmony_ci   *
192061847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
192161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key attestation operation.
192261847f8eSopenharmony_ci   * @param { AsyncCallback<HuksReturnResult> } callback - the callback of attestKeyItem.
192361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
192461847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
192561847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
192661847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
192761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
192861847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
192961847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
193061847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
193161847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
193261847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
193361847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
193461847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
193561847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
193661847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
193761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
193861847f8eSopenharmony_ci   * @atomicservice
193961847f8eSopenharmony_ci   * @since 12
194061847f8eSopenharmony_ci   */
194161847f8eSopenharmony_ci  function anonAttestKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksReturnResult>): void;
194261847f8eSopenharmony_ci
194361847f8eSopenharmony_ci  /**
194461847f8eSopenharmony_ci   * Key Attestation with anonymous certificate as user.
194561847f8eSopenharmony_ci   *
194661847f8eSopenharmony_ci   * @permission ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
194761847f8eSopenharmony_ci   * @param { number } userId - userId indicates the userId of the owner of the key.
194861847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
194961847f8eSopenharmony_ci   * @param { HuksOptions } huksOptions - huksOptions indicates the properties of the key attestation operation.
195061847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
195161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied. An attempt was made to use key as user forbidden by permission:
195261847f8eSopenharmony_ci   * <br>ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS.
195361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - not system app
195461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
195561847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
195661847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
195761847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
195861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
195961847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
196061847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
196161847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
196261847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
196361847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
196461847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
196561847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
196661847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
196761847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
196861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
196961847f8eSopenharmony_ci   * @systemapi this method can be used only by system applications.
197061847f8eSopenharmony_ci   * @since 12
197161847f8eSopenharmony_ci   */
197261847f8eSopenharmony_ci  function anonAttestKeyItemAsUser(userId: number, keyAlias: string, huksOptions: HuksOptions): Promise<HuksReturnResult>;
197361847f8eSopenharmony_ci
197461847f8eSopenharmony_ci  /**
197561847f8eSopenharmony_ci   * Key Attestation with anonymous certificate.
197661847f8eSopenharmony_ci   *
197761847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
197861847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key attestation operation.
197961847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
198061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
198161847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
198261847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
198361847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
198461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
198561847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
198661847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
198761847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
198861847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
198961847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
199061847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
199161847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
199261847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
199361847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
199461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
199561847f8eSopenharmony_ci   * @since 11
199661847f8eSopenharmony_ci   */
199761847f8eSopenharmony_ci  /**
199861847f8eSopenharmony_ci   * Key Attestation with anonymous certificate.
199961847f8eSopenharmony_ci   *
200061847f8eSopenharmony_ci   * @param { string } keyAlias - keyAlias indicates the key's name.
200161847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key attestation operation.
200261847f8eSopenharmony_ci   * @returns { Promise<HuksReturnResult> } the promise returned by the function.
200361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
200461847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
200561847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
200661847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
200761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - api is not supported
200861847f8eSopenharmony_ci   * @throws { BusinessError } 12000001 - algorithm mode is not supported
200961847f8eSopenharmony_ci   * @throws { BusinessError } 12000002 - algorithm param is missing
201061847f8eSopenharmony_ci   * @throws { BusinessError } 12000003 - algorithm param is invalid
201161847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
201261847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
201361847f8eSopenharmony_ci   * @throws { BusinessError } 12000006 - error occurred in crypto engine
201461847f8eSopenharmony_ci   * @throws { BusinessError } 12000011 - queried entity does not exist
201561847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
201661847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
201761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
201861847f8eSopenharmony_ci   * @atomicservice
201961847f8eSopenharmony_ci   * @since 12
202061847f8eSopenharmony_ci   */
202161847f8eSopenharmony_ci  function anonAttestKeyItem(keyAlias: string, options: HuksOptions): Promise<HuksReturnResult>;
202261847f8eSopenharmony_ci
202361847f8eSopenharmony_ci  /**
202461847f8eSopenharmony_ci   * Get the sdk version.
202561847f8eSopenharmony_ci   *
202661847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
202761847f8eSopenharmony_ci   * @returns { string } the character string of the sdk version.
202861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
202961847f8eSopenharmony_ci   * @since 8
203061847f8eSopenharmony_ci   * @deprecated since 11
203161847f8eSopenharmony_ci   */
203261847f8eSopenharmony_ci  function getSdkVersion(options: HuksOptions): string;
203361847f8eSopenharmony_ci
203461847f8eSopenharmony_ci  /**
203561847f8eSopenharmony_ci   * list the key aliases.
203661847f8eSopenharmony_ci   *
203761847f8eSopenharmony_ci   * @param { HuksOptions } options - options indicates the properties of the key.
203861847f8eSopenharmony_ci   * @returns { Promise<HuksListAliasesReturnResult> } the promise returned by the function.
203961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
204061847f8eSopenharmony_ci   *                                 1. Mandatory parameters are left unspecified.
204161847f8eSopenharmony_ci   *                                 2. Incorrect parameter types.
204261847f8eSopenharmony_ci   *                                 3. Parameter verification failed.
204361847f8eSopenharmony_ci   * @throws { BusinessError } 12000004 - operating file failed
204461847f8eSopenharmony_ci   * @throws { BusinessError } 12000005 - IPC communication failed
204561847f8eSopenharmony_ci   * @throws { BusinessError } 12000012 - external error
204661847f8eSopenharmony_ci   * @throws { BusinessError } 12000014 - memory is insufficient
204761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
204861847f8eSopenharmony_ci   * @atomicservice
204961847f8eSopenharmony_ci   * @since 12
205061847f8eSopenharmony_ci   */
205161847f8eSopenharmony_ci  function listAliases(options: HuksOptions): Promise<HuksListAliasesReturnResult>;
205261847f8eSopenharmony_ci
205361847f8eSopenharmony_ci  /**
205461847f8eSopenharmony_ci   * Interface of huks param.
205561847f8eSopenharmony_ci   *
205661847f8eSopenharmony_ci   * @typedef HuksParam
205761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
205861847f8eSopenharmony_ci   * @since 8
205961847f8eSopenharmony_ci   */
206061847f8eSopenharmony_ci  /**
206161847f8eSopenharmony_ci   * Interface of huks param.
206261847f8eSopenharmony_ci   *
206361847f8eSopenharmony_ci   * @typedef HuksParam
206461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
206561847f8eSopenharmony_ci   * @atomicservice
206661847f8eSopenharmony_ci   * @since 11
206761847f8eSopenharmony_ci   */
206861847f8eSopenharmony_ci  export interface HuksParam {
206961847f8eSopenharmony_ci    /**
207061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
207161847f8eSopenharmony_ci     * @since 8
207261847f8eSopenharmony_ci     */
207361847f8eSopenharmony_ci    /**
207461847f8eSopenharmony_ci     * @type { HuksTag }
207561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
207661847f8eSopenharmony_ci     * @atomicservice
207761847f8eSopenharmony_ci     * @since 11
207861847f8eSopenharmony_ci     */
207961847f8eSopenharmony_ci    tag: HuksTag;
208061847f8eSopenharmony_ci    /**
208161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
208261847f8eSopenharmony_ci     * @since 8
208361847f8eSopenharmony_ci     */
208461847f8eSopenharmony_ci    /**
208561847f8eSopenharmony_ci     * @type { boolean | number | bigint | Uint8Array }
208661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
208761847f8eSopenharmony_ci     * @atomicservice
208861847f8eSopenharmony_ci     * @since 11
208961847f8eSopenharmony_ci     */
209061847f8eSopenharmony_ci    value: boolean | number | bigint | Uint8Array;
209161847f8eSopenharmony_ci  }
209261847f8eSopenharmony_ci
209361847f8eSopenharmony_ci  /**
209461847f8eSopenharmony_ci   * Interface of huks handle.
209561847f8eSopenharmony_ci   *
209661847f8eSopenharmony_ci   * @typedef HuksHandle
209761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
209861847f8eSopenharmony_ci   * @since 8
209961847f8eSopenharmony_ci   * @deprecated since 9
210061847f8eSopenharmony_ci   * @useinstead ohos.security.huks.HuksSessionHandle
210161847f8eSopenharmony_ci   */
210261847f8eSopenharmony_ci  export interface HuksHandle {
210361847f8eSopenharmony_ci    /**
210461847f8eSopenharmony_ci     * @type { number }
210561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
210661847f8eSopenharmony_ci     * @since 8
210761847f8eSopenharmony_ci     * @deprecated since 9
210861847f8eSopenharmony_ci     */
210961847f8eSopenharmony_ci    errorCode: number;
211061847f8eSopenharmony_ci    /**
211161847f8eSopenharmony_ci     * @type { number }
211261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
211361847f8eSopenharmony_ci     * @since 8
211461847f8eSopenharmony_ci     * @deprecated since 9
211561847f8eSopenharmony_ci     */
211661847f8eSopenharmony_ci    handle: number;
211761847f8eSopenharmony_ci    /**
211861847f8eSopenharmony_ci     * @type { ?Uint8Array }
211961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
212061847f8eSopenharmony_ci     * @since 8
212161847f8eSopenharmony_ci     * @deprecated since 9
212261847f8eSopenharmony_ci     */
212361847f8eSopenharmony_ci    token?: Uint8Array;
212461847f8eSopenharmony_ci  }
212561847f8eSopenharmony_ci
212661847f8eSopenharmony_ci  /**
212761847f8eSopenharmony_ci   * Interface of huks handle.
212861847f8eSopenharmony_ci   *
212961847f8eSopenharmony_ci   * @typedef HuksSessionHandle
213061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
213161847f8eSopenharmony_ci   * @since 9
213261847f8eSopenharmony_ci   */
213361847f8eSopenharmony_ci  /**
213461847f8eSopenharmony_ci   * Interface of huks handle.
213561847f8eSopenharmony_ci   *
213661847f8eSopenharmony_ci   * @typedef HuksSessionHandle
213761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
213861847f8eSopenharmony_ci   * @atomicservice
213961847f8eSopenharmony_ci   * @since 11
214061847f8eSopenharmony_ci   */
214161847f8eSopenharmony_ci  export interface HuksSessionHandle {
214261847f8eSopenharmony_ci    /**
214361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
214461847f8eSopenharmony_ci     * @since 9
214561847f8eSopenharmony_ci     */
214661847f8eSopenharmony_ci    /**
214761847f8eSopenharmony_ci     * @type { number }
214861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
214961847f8eSopenharmony_ci     * @atomicservice
215061847f8eSopenharmony_ci     * @since 11
215161847f8eSopenharmony_ci     */
215261847f8eSopenharmony_ci    handle: number;
215361847f8eSopenharmony_ci    /**
215461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
215561847f8eSopenharmony_ci     * @since 9
215661847f8eSopenharmony_ci     */
215761847f8eSopenharmony_ci    /**
215861847f8eSopenharmony_ci     * @type { ?Uint8Array }
215961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
216061847f8eSopenharmony_ci     * @atomicservice
216161847f8eSopenharmony_ci     * @since 11
216261847f8eSopenharmony_ci     */
216361847f8eSopenharmony_ci    challenge?: Uint8Array;
216461847f8eSopenharmony_ci  }
216561847f8eSopenharmony_ci
216661847f8eSopenharmony_ci  /**
216761847f8eSopenharmony_ci   * Interface of huks option.
216861847f8eSopenharmony_ci   *
216961847f8eSopenharmony_ci   * @typedef HuksOptions
217061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
217161847f8eSopenharmony_ci   * @since 8
217261847f8eSopenharmony_ci   */
217361847f8eSopenharmony_ci  /**
217461847f8eSopenharmony_ci   * Interface of huks option.
217561847f8eSopenharmony_ci   *
217661847f8eSopenharmony_ci   * @typedef HuksOptions
217761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
217861847f8eSopenharmony_ci   * @atomicservice
217961847f8eSopenharmony_ci   * @since 11
218061847f8eSopenharmony_ci   */
218161847f8eSopenharmony_ci  export interface HuksOptions {
218261847f8eSopenharmony_ci    /**
218361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
218461847f8eSopenharmony_ci     * @since 8
218561847f8eSopenharmony_ci     */
218661847f8eSopenharmony_ci    /**
218761847f8eSopenharmony_ci     * @type { ?Array<HuksParam> }
218861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
218961847f8eSopenharmony_ci     * @atomicservice
219061847f8eSopenharmony_ci     * @since 11
219161847f8eSopenharmony_ci     */
219261847f8eSopenharmony_ci    properties?: Array<HuksParam>;
219361847f8eSopenharmony_ci    /**
219461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
219561847f8eSopenharmony_ci     * @since 8
219661847f8eSopenharmony_ci     */
219761847f8eSopenharmony_ci    /**
219861847f8eSopenharmony_ci     * @type { ?Uint8Array }
219961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
220061847f8eSopenharmony_ci     * @atomicservice
220161847f8eSopenharmony_ci     * @since 11
220261847f8eSopenharmony_ci     */
220361847f8eSopenharmony_ci    inData?: Uint8Array;
220461847f8eSopenharmony_ci  }
220561847f8eSopenharmony_ci
220661847f8eSopenharmony_ci  /**
220761847f8eSopenharmony_ci   * Interface of huks result.
220861847f8eSopenharmony_ci   *
220961847f8eSopenharmony_ci   * @typedef HuksResult
221061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
221161847f8eSopenharmony_ci   * @since 8
221261847f8eSopenharmony_ci   * @deprecated since 9
221361847f8eSopenharmony_ci   * @useinstead ohos.security.huks.HuksReturnResult
221461847f8eSopenharmony_ci   */
221561847f8eSopenharmony_ci  export interface HuksResult {
221661847f8eSopenharmony_ci    /**
221761847f8eSopenharmony_ci     * @type { number }
221861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
221961847f8eSopenharmony_ci     * @since 8
222061847f8eSopenharmony_ci     * @deprecated since 9
222161847f8eSopenharmony_ci     */
222261847f8eSopenharmony_ci    errorCode: number;
222361847f8eSopenharmony_ci    /**
222461847f8eSopenharmony_ci     * @type { ?Uint8Array }
222561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
222661847f8eSopenharmony_ci     * @since 8
222761847f8eSopenharmony_ci     * @deprecated since 9
222861847f8eSopenharmony_ci     */
222961847f8eSopenharmony_ci    outData?: Uint8Array;
223061847f8eSopenharmony_ci    /**
223161847f8eSopenharmony_ci     * @type { ?Array<HuksParam> }
223261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
223361847f8eSopenharmony_ci     * @since 8
223461847f8eSopenharmony_ci     * @deprecated since 9
223561847f8eSopenharmony_ci     */
223661847f8eSopenharmony_ci    properties?: Array<HuksParam>;
223761847f8eSopenharmony_ci    /**
223861847f8eSopenharmony_ci     * @type { ?Array<string> }
223961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
224061847f8eSopenharmony_ci     * @since 8
224161847f8eSopenharmony_ci     * @deprecated since 9
224261847f8eSopenharmony_ci     */
224361847f8eSopenharmony_ci    certChains?: Array<string>;
224461847f8eSopenharmony_ci  }
224561847f8eSopenharmony_ci
224661847f8eSopenharmony_ci  /**
224761847f8eSopenharmony_ci   * Interface of huks result.
224861847f8eSopenharmony_ci   *
224961847f8eSopenharmony_ci   * @typedef HuksReturnResult
225061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
225161847f8eSopenharmony_ci   * @since 9
225261847f8eSopenharmony_ci   */
225361847f8eSopenharmony_ci  /**
225461847f8eSopenharmony_ci   * Interface of huks result.
225561847f8eSopenharmony_ci   *
225661847f8eSopenharmony_ci   * @typedef HuksReturnResult
225761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
225861847f8eSopenharmony_ci   * @atomicservice
225961847f8eSopenharmony_ci   * @since 11
226061847f8eSopenharmony_ci   */
226161847f8eSopenharmony_ci  export interface HuksReturnResult {
226261847f8eSopenharmony_ci    /**
226361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
226461847f8eSopenharmony_ci     * @since 9
226561847f8eSopenharmony_ci     */
226661847f8eSopenharmony_ci    /**
226761847f8eSopenharmony_ci     * @type { ?Uint8Array }
226861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
226961847f8eSopenharmony_ci     * @atomicservice
227061847f8eSopenharmony_ci     * @since 11
227161847f8eSopenharmony_ci     */
227261847f8eSopenharmony_ci    outData?: Uint8Array;
227361847f8eSopenharmony_ci    /**
227461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
227561847f8eSopenharmony_ci     * @since 9
227661847f8eSopenharmony_ci     */
227761847f8eSopenharmony_ci    /**
227861847f8eSopenharmony_ci     * @type { ?Array<HuksParam> }
227961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
228061847f8eSopenharmony_ci     * @atomicservice
228161847f8eSopenharmony_ci     * @since 11
228261847f8eSopenharmony_ci     */
228361847f8eSopenharmony_ci    properties?: Array<HuksParam>;
228461847f8eSopenharmony_ci    /**
228561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
228661847f8eSopenharmony_ci     * @since 9
228761847f8eSopenharmony_ci     */
228861847f8eSopenharmony_ci    /**
228961847f8eSopenharmony_ci     * @type { ?Array<string> }
229061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
229161847f8eSopenharmony_ci     * @atomicservice
229261847f8eSopenharmony_ci     * @since 12
229361847f8eSopenharmony_ci     */
229461847f8eSopenharmony_ci    certChains?: Array<string>;
229561847f8eSopenharmony_ci  }
229661847f8eSopenharmony_ci
229761847f8eSopenharmony_ci    /**
229861847f8eSopenharmony_ci   * Interface of huks ListAliases result.
229961847f8eSopenharmony_ci   *
230061847f8eSopenharmony_ci   * @typedef HuksListAliasesReturnResult
230161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
230261847f8eSopenharmony_ci   * @atomicservice
230361847f8eSopenharmony_ci   * @since 12
230461847f8eSopenharmony_ci   */
230561847f8eSopenharmony_ci  export interface HuksListAliasesReturnResult {
230661847f8eSopenharmony_ci
230761847f8eSopenharmony_ci    /**
230861847f8eSopenharmony_ci     * the returned list of key aliases
230961847f8eSopenharmony_ci     *
231061847f8eSopenharmony_ci     * @type { Array<string> }
231161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
231261847f8eSopenharmony_ci     * @atomicservice
231361847f8eSopenharmony_ci     * @since 12
231461847f8eSopenharmony_ci     */
231561847f8eSopenharmony_ci    keyAliases: Array<string>;
231661847f8eSopenharmony_ci  }
231761847f8eSopenharmony_ci
231861847f8eSopenharmony_ci  /**
231961847f8eSopenharmony_ci   * Enum for huks error code.
232061847f8eSopenharmony_ci   *
232161847f8eSopenharmony_ci   * @enum { number }
232261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
232361847f8eSopenharmony_ci   * @since 8
232461847f8eSopenharmony_ci   * @deprecated since 9
232561847f8eSopenharmony_ci   * @useinstead ohos.security.huks.HuksExceptionErrCode
232661847f8eSopenharmony_ci   */
232761847f8eSopenharmony_ci  export enum HuksErrorCode {
232861847f8eSopenharmony_ci    /**
232961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
233061847f8eSopenharmony_ci     * @since 8
233161847f8eSopenharmony_ci     * @deprecated since 9
233261847f8eSopenharmony_ci     */
233361847f8eSopenharmony_ci    HUKS_SUCCESS = 0,
233461847f8eSopenharmony_ci    /**
233561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
233661847f8eSopenharmony_ci     * @since 8
233761847f8eSopenharmony_ci     * @deprecated since 9
233861847f8eSopenharmony_ci     */
233961847f8eSopenharmony_ci    HUKS_FAILURE = -1,
234061847f8eSopenharmony_ci    /**
234161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
234261847f8eSopenharmony_ci     * @since 8
234361847f8eSopenharmony_ci     * @deprecated since 9
234461847f8eSopenharmony_ci     */
234561847f8eSopenharmony_ci    HUKS_ERROR_BAD_STATE = -2,
234661847f8eSopenharmony_ci    /**
234761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
234861847f8eSopenharmony_ci     * @since 8
234961847f8eSopenharmony_ci     * @deprecated since 9
235061847f8eSopenharmony_ci     */
235161847f8eSopenharmony_ci    HUKS_ERROR_INVALID_ARGUMENT = -3,
235261847f8eSopenharmony_ci    /**
235361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
235461847f8eSopenharmony_ci     * @since 8
235561847f8eSopenharmony_ci     * @deprecated since 9
235661847f8eSopenharmony_ci     */
235761847f8eSopenharmony_ci    HUKS_ERROR_NOT_SUPPORTED = -4,
235861847f8eSopenharmony_ci    /**
235961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
236061847f8eSopenharmony_ci     * @since 8
236161847f8eSopenharmony_ci     * @deprecated since 9
236261847f8eSopenharmony_ci     */
236361847f8eSopenharmony_ci    HUKS_ERROR_NO_PERMISSION = -5,
236461847f8eSopenharmony_ci    /**
236561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
236661847f8eSopenharmony_ci     * @since 8
236761847f8eSopenharmony_ci     * @deprecated since 9
236861847f8eSopenharmony_ci     */
236961847f8eSopenharmony_ci    HUKS_ERROR_INSUFFICIENT_DATA = -6,
237061847f8eSopenharmony_ci    /**
237161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
237261847f8eSopenharmony_ci     * @since 8
237361847f8eSopenharmony_ci     * @deprecated since 9
237461847f8eSopenharmony_ci     */
237561847f8eSopenharmony_ci    HUKS_ERROR_BUFFER_TOO_SMALL = -7,
237661847f8eSopenharmony_ci    /**
237761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
237861847f8eSopenharmony_ci     * @since 8
237961847f8eSopenharmony_ci     * @deprecated since 9
238061847f8eSopenharmony_ci     */
238161847f8eSopenharmony_ci    HUKS_ERROR_INSUFFICIENT_MEMORY = -8,
238261847f8eSopenharmony_ci    /**
238361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
238461847f8eSopenharmony_ci     * @since 8
238561847f8eSopenharmony_ci     * @deprecated since 9
238661847f8eSopenharmony_ci     */
238761847f8eSopenharmony_ci    HUKS_ERROR_COMMUNICATION_FAILURE = -9,
238861847f8eSopenharmony_ci    /**
238961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
239061847f8eSopenharmony_ci     * @since 8
239161847f8eSopenharmony_ci     * @deprecated since 9
239261847f8eSopenharmony_ci     */
239361847f8eSopenharmony_ci    HUKS_ERROR_STORAGE_FAILURE = -10,
239461847f8eSopenharmony_ci    /**
239561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
239661847f8eSopenharmony_ci     * @since 8
239761847f8eSopenharmony_ci     * @deprecated since 9
239861847f8eSopenharmony_ci     */
239961847f8eSopenharmony_ci    HUKS_ERROR_HARDWARE_FAILURE = -11,
240061847f8eSopenharmony_ci    /**
240161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
240261847f8eSopenharmony_ci     * @since 8
240361847f8eSopenharmony_ci     * @deprecated since 9
240461847f8eSopenharmony_ci     */
240561847f8eSopenharmony_ci    HUKS_ERROR_ALREADY_EXISTS = -12,
240661847f8eSopenharmony_ci    /**
240761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
240861847f8eSopenharmony_ci     * @since 8
240961847f8eSopenharmony_ci     * @deprecated since 9
241061847f8eSopenharmony_ci     */
241161847f8eSopenharmony_ci    HUKS_ERROR_NOT_EXIST = -13,
241261847f8eSopenharmony_ci    /**
241361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
241461847f8eSopenharmony_ci     * @since 8
241561847f8eSopenharmony_ci     * @deprecated since 9
241661847f8eSopenharmony_ci     */
241761847f8eSopenharmony_ci    HUKS_ERROR_NULL_POINTER = -14,
241861847f8eSopenharmony_ci    /**
241961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
242061847f8eSopenharmony_ci     * @since 8
242161847f8eSopenharmony_ci     * @deprecated since 9
242261847f8eSopenharmony_ci     */
242361847f8eSopenharmony_ci    HUKS_ERROR_FILE_SIZE_FAIL = -15,
242461847f8eSopenharmony_ci    /**
242561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
242661847f8eSopenharmony_ci     * @since 8
242761847f8eSopenharmony_ci     * @deprecated since 9
242861847f8eSopenharmony_ci     */
242961847f8eSopenharmony_ci    HUKS_ERROR_READ_FILE_FAIL = -16,
243061847f8eSopenharmony_ci    /**
243161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
243261847f8eSopenharmony_ci     * @since 8
243361847f8eSopenharmony_ci     * @deprecated since 9
243461847f8eSopenharmony_ci     */
243561847f8eSopenharmony_ci    HUKS_ERROR_INVALID_PUBLIC_KEY = -17,
243661847f8eSopenharmony_ci    /**
243761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
243861847f8eSopenharmony_ci     * @since 8
243961847f8eSopenharmony_ci     * @deprecated since 9
244061847f8eSopenharmony_ci     */
244161847f8eSopenharmony_ci    HUKS_ERROR_INVALID_PRIVATE_KEY = -18,
244261847f8eSopenharmony_ci    /**
244361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
244461847f8eSopenharmony_ci     * @since 8
244561847f8eSopenharmony_ci     * @deprecated since 9
244661847f8eSopenharmony_ci     */
244761847f8eSopenharmony_ci    HUKS_ERROR_INVALID_KEY_INFO = -19,
244861847f8eSopenharmony_ci    /**
244961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
245061847f8eSopenharmony_ci     * @since 8
245161847f8eSopenharmony_ci     * @deprecated since 9
245261847f8eSopenharmony_ci     */
245361847f8eSopenharmony_ci    HUKS_ERROR_HASH_NOT_EQUAL = -20,
245461847f8eSopenharmony_ci    /**
245561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
245661847f8eSopenharmony_ci     * @since 8
245761847f8eSopenharmony_ci     * @deprecated since 9
245861847f8eSopenharmony_ci     */
245961847f8eSopenharmony_ci    HUKS_ERROR_MALLOC_FAIL = -21,
246061847f8eSopenharmony_ci    /**
246161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
246261847f8eSopenharmony_ci     * @since 8
246361847f8eSopenharmony_ci     * @deprecated since 9
246461847f8eSopenharmony_ci     */
246561847f8eSopenharmony_ci    HUKS_ERROR_WRITE_FILE_FAIL = -22,
246661847f8eSopenharmony_ci    /**
246761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
246861847f8eSopenharmony_ci     * @since 8
246961847f8eSopenharmony_ci     * @deprecated since 9
247061847f8eSopenharmony_ci     */
247161847f8eSopenharmony_ci    HUKS_ERROR_REMOVE_FILE_FAIL = -23,
247261847f8eSopenharmony_ci    /**
247361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
247461847f8eSopenharmony_ci     * @since 8
247561847f8eSopenharmony_ci     * @deprecated since 9
247661847f8eSopenharmony_ci     */
247761847f8eSopenharmony_ci    HUKS_ERROR_OPEN_FILE_FAIL = -24,
247861847f8eSopenharmony_ci    /**
247961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
248061847f8eSopenharmony_ci     * @since 8
248161847f8eSopenharmony_ci     * @deprecated since 9
248261847f8eSopenharmony_ci     */
248361847f8eSopenharmony_ci    HUKS_ERROR_CLOSE_FILE_FAIL = -25,
248461847f8eSopenharmony_ci    /**
248561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
248661847f8eSopenharmony_ci     * @since 8
248761847f8eSopenharmony_ci     * @deprecated since 9
248861847f8eSopenharmony_ci     */
248961847f8eSopenharmony_ci    HUKS_ERROR_MAKE_DIR_FAIL = -26,
249061847f8eSopenharmony_ci    /**
249161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
249261847f8eSopenharmony_ci     * @since 8
249361847f8eSopenharmony_ci     * @deprecated since 9
249461847f8eSopenharmony_ci     */
249561847f8eSopenharmony_ci    HUKS_ERROR_INVALID_KEY_FILE = -27,
249661847f8eSopenharmony_ci    /**
249761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
249861847f8eSopenharmony_ci     * @since 8
249961847f8eSopenharmony_ci     * @deprecated since 9
250061847f8eSopenharmony_ci     */
250161847f8eSopenharmony_ci    HUKS_ERROR_IPC_MSG_FAIL = -28,
250261847f8eSopenharmony_ci    /**
250361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
250461847f8eSopenharmony_ci     * @since 8
250561847f8eSopenharmony_ci     * @deprecated since 9
250661847f8eSopenharmony_ci     */
250761847f8eSopenharmony_ci    HUKS_ERROR_REQUEST_OVERFLOWS = -29,
250861847f8eSopenharmony_ci    /**
250961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
251061847f8eSopenharmony_ci     * @since 8
251161847f8eSopenharmony_ci     * @deprecated since 9
251261847f8eSopenharmony_ci     */
251361847f8eSopenharmony_ci    HUKS_ERROR_PARAM_NOT_EXIST = -30,
251461847f8eSopenharmony_ci    /**
251561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
251661847f8eSopenharmony_ci     * @since 8
251761847f8eSopenharmony_ci     * @deprecated since 9
251861847f8eSopenharmony_ci     */
251961847f8eSopenharmony_ci    HUKS_ERROR_CRYPTO_ENGINE_ERROR = -31,
252061847f8eSopenharmony_ci    /**
252161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
252261847f8eSopenharmony_ci     * @since 8
252361847f8eSopenharmony_ci     * @deprecated since 9
252461847f8eSopenharmony_ci     */
252561847f8eSopenharmony_ci    HUKS_ERROR_COMMUNICATION_TIMEOUT = -32,
252661847f8eSopenharmony_ci    /**
252761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
252861847f8eSopenharmony_ci     * @since 8
252961847f8eSopenharmony_ci     * @deprecated since 9
253061847f8eSopenharmony_ci     */
253161847f8eSopenharmony_ci    HUKS_ERROR_IPC_INIT_FAIL = -33,
253261847f8eSopenharmony_ci    /**
253361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
253461847f8eSopenharmony_ci     * @since 8
253561847f8eSopenharmony_ci     * @deprecated since 9
253661847f8eSopenharmony_ci     */
253761847f8eSopenharmony_ci    HUKS_ERROR_IPC_DLOPEN_FAIL = -34,
253861847f8eSopenharmony_ci    /**
253961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
254061847f8eSopenharmony_ci     * @since 8
254161847f8eSopenharmony_ci     * @deprecated since 9
254261847f8eSopenharmony_ci     */
254361847f8eSopenharmony_ci    HUKS_ERROR_EFUSE_READ_FAIL = -35,
254461847f8eSopenharmony_ci    /**
254561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
254661847f8eSopenharmony_ci     * @since 8
254761847f8eSopenharmony_ci     * @deprecated since 9
254861847f8eSopenharmony_ci     */
254961847f8eSopenharmony_ci    HUKS_ERROR_NEW_ROOT_KEY_MATERIAL_EXIST = -36,
255061847f8eSopenharmony_ci    /**
255161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
255261847f8eSopenharmony_ci     * @since 8
255361847f8eSopenharmony_ci     * @deprecated since 9
255461847f8eSopenharmony_ci     */
255561847f8eSopenharmony_ci    HUKS_ERROR_UPDATE_ROOT_KEY_MATERIAL_FAIL = -37,
255661847f8eSopenharmony_ci    /**
255761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
255861847f8eSopenharmony_ci     * @since 8
255961847f8eSopenharmony_ci     * @deprecated since 9
256061847f8eSopenharmony_ci     */
256161847f8eSopenharmony_ci    HUKS_ERROR_VERIFICATION_FAILED = -38,
256261847f8eSopenharmony_ci    /**
256361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
256461847f8eSopenharmony_ci     * @since 8
256561847f8eSopenharmony_ci     * @deprecated since 9
256661847f8eSopenharmony_ci     */
256761847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_ALG_FAIL = -100,
256861847f8eSopenharmony_ci    /**
256961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
257061847f8eSopenharmony_ci     * @since 8
257161847f8eSopenharmony_ci     * @deprecated since 9
257261847f8eSopenharmony_ci     */
257361847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_KEY_SIZE_FAIL = -101,
257461847f8eSopenharmony_ci    /**
257561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
257661847f8eSopenharmony_ci     * @since 8
257761847f8eSopenharmony_ci     * @deprecated since 9
257861847f8eSopenharmony_ci     */
257961847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_PADDING_FAIL = -102,
258061847f8eSopenharmony_ci    /**
258161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
258261847f8eSopenharmony_ci     * @since 8
258361847f8eSopenharmony_ci     * @deprecated since 9
258461847f8eSopenharmony_ci     */
258561847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_PURPOSE_FAIL = -103,
258661847f8eSopenharmony_ci    /**
258761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
258861847f8eSopenharmony_ci     * @since 8
258961847f8eSopenharmony_ci     * @deprecated since 9
259061847f8eSopenharmony_ci     */
259161847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_DIGEST_FAIL = -104,
259261847f8eSopenharmony_ci    /**
259361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
259461847f8eSopenharmony_ci     * @since 8
259561847f8eSopenharmony_ci     * @deprecated since 9
259661847f8eSopenharmony_ci     */
259761847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_MODE_FAIL = -105,
259861847f8eSopenharmony_ci    /**
259961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
260061847f8eSopenharmony_ci     * @since 8
260161847f8eSopenharmony_ci     * @deprecated since 9
260261847f8eSopenharmony_ci     */
260361847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_NONCE_FAIL = -106,
260461847f8eSopenharmony_ci    /**
260561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
260661847f8eSopenharmony_ci     * @since 8
260761847f8eSopenharmony_ci     * @deprecated since 9
260861847f8eSopenharmony_ci     */
260961847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_AAD_FAIL = -107,
261061847f8eSopenharmony_ci    /**
261161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
261261847f8eSopenharmony_ci     * @since 8
261361847f8eSopenharmony_ci     * @deprecated since 9
261461847f8eSopenharmony_ci     */
261561847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_IV_FAIL = -108,
261661847f8eSopenharmony_ci    /**
261761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
261861847f8eSopenharmony_ci     * @since 8
261961847f8eSopenharmony_ci     * @deprecated since 9
262061847f8eSopenharmony_ci     */
262161847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_AE_TAG_FAIL = -109,
262261847f8eSopenharmony_ci    /**
262361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
262461847f8eSopenharmony_ci     * @since 8
262561847f8eSopenharmony_ci     * @deprecated since 9
262661847f8eSopenharmony_ci     */
262761847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_SALT_FAIL = -110,
262861847f8eSopenharmony_ci    /**
262961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
263061847f8eSopenharmony_ci     * @since 8
263161847f8eSopenharmony_ci     * @deprecated since 9
263261847f8eSopenharmony_ci     */
263361847f8eSopenharmony_ci    HUKS_ERROR_CHECK_GET_ITERATION_FAIL = -111,
263461847f8eSopenharmony_ci    /**
263561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
263661847f8eSopenharmony_ci     * @since 8
263761847f8eSopenharmony_ci     * @deprecated since 9
263861847f8eSopenharmony_ci     */
263961847f8eSopenharmony_ci    HUKS_ERROR_INVALID_ALGORITHM = -112,
264061847f8eSopenharmony_ci    /**
264161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
264261847f8eSopenharmony_ci     * @since 8
264361847f8eSopenharmony_ci     * @deprecated since 9
264461847f8eSopenharmony_ci     */
264561847f8eSopenharmony_ci    HUKS_ERROR_INVALID_KEY_SIZE = -113,
264661847f8eSopenharmony_ci    /**
264761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
264861847f8eSopenharmony_ci     * @since 8
264961847f8eSopenharmony_ci     * @deprecated since 9
265061847f8eSopenharmony_ci     */
265161847f8eSopenharmony_ci    HUKS_ERROR_INVALID_PADDING = -114,
265261847f8eSopenharmony_ci    /**
265361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
265461847f8eSopenharmony_ci     * @since 8
265561847f8eSopenharmony_ci     * @deprecated since 9
265661847f8eSopenharmony_ci     */
265761847f8eSopenharmony_ci    HUKS_ERROR_INVALID_PURPOSE = -115,
265861847f8eSopenharmony_ci    /**
265961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
266061847f8eSopenharmony_ci     * @since 8
266161847f8eSopenharmony_ci     * @deprecated since 9
266261847f8eSopenharmony_ci     */
266361847f8eSopenharmony_ci    HUKS_ERROR_INVALID_MODE = -116,
266461847f8eSopenharmony_ci    /**
266561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
266661847f8eSopenharmony_ci     * @since 8
266761847f8eSopenharmony_ci     * @deprecated since 9
266861847f8eSopenharmony_ci     */
266961847f8eSopenharmony_ci    HUKS_ERROR_INVALID_DIGEST = -117,
267061847f8eSopenharmony_ci    /**
267161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
267261847f8eSopenharmony_ci     * @since 8
267361847f8eSopenharmony_ci     * @deprecated since 9
267461847f8eSopenharmony_ci     */
267561847f8eSopenharmony_ci    HUKS_ERROR_INVALID_SIGNATURE_SIZE = -118,
267661847f8eSopenharmony_ci    /**
267761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
267861847f8eSopenharmony_ci     * @since 8
267961847f8eSopenharmony_ci     * @deprecated since 9
268061847f8eSopenharmony_ci     */
268161847f8eSopenharmony_ci    HUKS_ERROR_INVALID_IV = -119,
268261847f8eSopenharmony_ci    /**
268361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
268461847f8eSopenharmony_ci     * @since 8
268561847f8eSopenharmony_ci     * @deprecated since 9
268661847f8eSopenharmony_ci     */
268761847f8eSopenharmony_ci    HUKS_ERROR_INVALID_AAD = -120,
268861847f8eSopenharmony_ci    /**
268961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
269061847f8eSopenharmony_ci     * @since 8
269161847f8eSopenharmony_ci     * @deprecated since 9
269261847f8eSopenharmony_ci     */
269361847f8eSopenharmony_ci    HUKS_ERROR_INVALID_NONCE = -121,
269461847f8eSopenharmony_ci    /**
269561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
269661847f8eSopenharmony_ci     * @since 8
269761847f8eSopenharmony_ci     * @deprecated since 9
269861847f8eSopenharmony_ci     */
269961847f8eSopenharmony_ci    HUKS_ERROR_INVALID_AE_TAG = -122,
270061847f8eSopenharmony_ci    /**
270161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
270261847f8eSopenharmony_ci     * @since 8
270361847f8eSopenharmony_ci     * @deprecated since 9
270461847f8eSopenharmony_ci     */
270561847f8eSopenharmony_ci    HUKS_ERROR_INVALID_SALT = -123,
270661847f8eSopenharmony_ci    /**
270761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
270861847f8eSopenharmony_ci     * @since 8
270961847f8eSopenharmony_ci     * @deprecated since 9
271061847f8eSopenharmony_ci     */
271161847f8eSopenharmony_ci    HUKS_ERROR_INVALID_ITERATION = -124,
271261847f8eSopenharmony_ci    /**
271361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
271461847f8eSopenharmony_ci     * @since 8
271561847f8eSopenharmony_ci     * @deprecated since 9
271661847f8eSopenharmony_ci     */
271761847f8eSopenharmony_ci    HUKS_ERROR_INVALID_OPERATION = -125,
271861847f8eSopenharmony_ci    /**
271961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
272061847f8eSopenharmony_ci     * @since 8
272161847f8eSopenharmony_ci     * @deprecated since 9
272261847f8eSopenharmony_ci     */
272361847f8eSopenharmony_ci    HUKS_ERROR_INTERNAL_ERROR = -999,
272461847f8eSopenharmony_ci    /**
272561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
272661847f8eSopenharmony_ci     * @since 8
272761847f8eSopenharmony_ci     * @deprecated since 9
272861847f8eSopenharmony_ci     */
272961847f8eSopenharmony_ci    HUKS_ERROR_UNKNOWN_ERROR = -1000
273061847f8eSopenharmony_ci  }
273161847f8eSopenharmony_ci
273261847f8eSopenharmony_ci  /**
273361847f8eSopenharmony_ci   * Enum for huks exception error code.
273461847f8eSopenharmony_ci   *
273561847f8eSopenharmony_ci   * @enum { number }
273661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
273761847f8eSopenharmony_ci   * @since 9
273861847f8eSopenharmony_ci   */
273961847f8eSopenharmony_ci  /**
274061847f8eSopenharmony_ci   * Enum for huks exception error code.
274161847f8eSopenharmony_ci   *
274261847f8eSopenharmony_ci   * @enum { number }
274361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
274461847f8eSopenharmony_ci   * @atomicservice
274561847f8eSopenharmony_ci   * @since 11
274661847f8eSopenharmony_ci   */
274761847f8eSopenharmony_ci  export enum HuksExceptionErrCode {
274861847f8eSopenharmony_ci    /**
274961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
275061847f8eSopenharmony_ci     * @since 9
275161847f8eSopenharmony_ci     */
275261847f8eSopenharmony_ci    /**
275361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
275461847f8eSopenharmony_ci     * @atomicservice
275561847f8eSopenharmony_ci     * @since 11
275661847f8eSopenharmony_ci     */
275761847f8eSopenharmony_ci    HUKS_ERR_CODE_PERMISSION_FAIL = 201,
275861847f8eSopenharmony_ci    /**
275961847f8eSopenharmony_ci     * Non-system applications are not allowed to use system APIs.
276061847f8eSopenharmony_ci     *
276161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
276261847f8eSopenharmony_ci     * @since 12
276361847f8eSopenharmony_ci     */
276461847f8eSopenharmony_ci    HUKS_ERR_CODE_NOT_SYSTEM_APP = 202,
276561847f8eSopenharmony_ci    /**
276661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
276761847f8eSopenharmony_ci     * @since 9
276861847f8eSopenharmony_ci     */
276961847f8eSopenharmony_ci    /**
277061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
277161847f8eSopenharmony_ci     * @atomicservice
277261847f8eSopenharmony_ci     * @since 11
277361847f8eSopenharmony_ci     */
277461847f8eSopenharmony_ci    HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401,
277561847f8eSopenharmony_ci    /**
277661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
277761847f8eSopenharmony_ci     * @since 9
277861847f8eSopenharmony_ci     */
277961847f8eSopenharmony_ci    /**
278061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
278161847f8eSopenharmony_ci     * @atomicservice
278261847f8eSopenharmony_ci     * @since 11
278361847f8eSopenharmony_ci     */
278461847f8eSopenharmony_ci    HUKS_ERR_CODE_NOT_SUPPORTED_API = 801,
278561847f8eSopenharmony_ci    /**
278661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
278761847f8eSopenharmony_ci     * @since 9
278861847f8eSopenharmony_ci     */
278961847f8eSopenharmony_ci    /**
279061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
279161847f8eSopenharmony_ci     * @atomicservice
279261847f8eSopenharmony_ci     * @since 11
279361847f8eSopenharmony_ci     */
279461847f8eSopenharmony_ci    HUKS_ERR_CODE_FEATURE_NOT_SUPPORTED = 12000001,
279561847f8eSopenharmony_ci    /**
279661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
279761847f8eSopenharmony_ci     * @since 9
279861847f8eSopenharmony_ci     */
279961847f8eSopenharmony_ci    /**
280061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
280161847f8eSopenharmony_ci     * @atomicservice
280261847f8eSopenharmony_ci     * @since 11
280361847f8eSopenharmony_ci     */
280461847f8eSopenharmony_ci    HUKS_ERR_CODE_MISSING_CRYPTO_ALG_ARGUMENT = 12000002,
280561847f8eSopenharmony_ci    /**
280661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
280761847f8eSopenharmony_ci     * @since 9
280861847f8eSopenharmony_ci     */
280961847f8eSopenharmony_ci    /**
281061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
281161847f8eSopenharmony_ci     * @atomicservice
281261847f8eSopenharmony_ci     * @since 11
281361847f8eSopenharmony_ci     */
281461847f8eSopenharmony_ci    HUKS_ERR_CODE_INVALID_CRYPTO_ALG_ARGUMENT = 12000003,
281561847f8eSopenharmony_ci    /**
281661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
281761847f8eSopenharmony_ci     * @since 9
281861847f8eSopenharmony_ci     */
281961847f8eSopenharmony_ci    /**
282061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
282161847f8eSopenharmony_ci     * @atomicservice
282261847f8eSopenharmony_ci     * @since 11
282361847f8eSopenharmony_ci     */
282461847f8eSopenharmony_ci    HUKS_ERR_CODE_FILE_OPERATION_FAIL = 12000004,
282561847f8eSopenharmony_ci    /**
282661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
282761847f8eSopenharmony_ci     * @since 9
282861847f8eSopenharmony_ci     */
282961847f8eSopenharmony_ci    /**
283061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
283161847f8eSopenharmony_ci     * @atomicservice
283261847f8eSopenharmony_ci     * @since 11
283361847f8eSopenharmony_ci     */
283461847f8eSopenharmony_ci    HUKS_ERR_CODE_COMMUNICATION_FAIL = 12000005,
283561847f8eSopenharmony_ci    /**
283661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
283761847f8eSopenharmony_ci     * @since 9
283861847f8eSopenharmony_ci     */
283961847f8eSopenharmony_ci    /**
284061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
284161847f8eSopenharmony_ci     * @atomicservice
284261847f8eSopenharmony_ci     * @since 11
284361847f8eSopenharmony_ci     */
284461847f8eSopenharmony_ci    HUKS_ERR_CODE_CRYPTO_FAIL = 12000006,
284561847f8eSopenharmony_ci    /**
284661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
284761847f8eSopenharmony_ci     * @since 9
284861847f8eSopenharmony_ci     */
284961847f8eSopenharmony_ci    /**
285061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
285161847f8eSopenharmony_ci     * @atomicservice
285261847f8eSopenharmony_ci     * @since 11
285361847f8eSopenharmony_ci     */
285461847f8eSopenharmony_ci    HUKS_ERR_CODE_KEY_AUTH_PERMANENTLY_INVALIDATED = 12000007,
285561847f8eSopenharmony_ci    /**
285661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
285761847f8eSopenharmony_ci     * @since 9
285861847f8eSopenharmony_ci     */
285961847f8eSopenharmony_ci    /**
286061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
286161847f8eSopenharmony_ci     * @atomicservice
286261847f8eSopenharmony_ci     * @since 11
286361847f8eSopenharmony_ci     */
286461847f8eSopenharmony_ci    HUKS_ERR_CODE_KEY_AUTH_VERIFY_FAILED = 12000008,
286561847f8eSopenharmony_ci    /**
286661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
286761847f8eSopenharmony_ci     * @since 9
286861847f8eSopenharmony_ci     */
286961847f8eSopenharmony_ci    /**
287061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
287161847f8eSopenharmony_ci     * @atomicservice
287261847f8eSopenharmony_ci     * @since 11
287361847f8eSopenharmony_ci     */
287461847f8eSopenharmony_ci    HUKS_ERR_CODE_KEY_AUTH_TIME_OUT = 12000009,
287561847f8eSopenharmony_ci    /**
287661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
287761847f8eSopenharmony_ci     * @since 9
287861847f8eSopenharmony_ci     */
287961847f8eSopenharmony_ci    /**
288061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
288161847f8eSopenharmony_ci     * @atomicservice
288261847f8eSopenharmony_ci     * @since 11
288361847f8eSopenharmony_ci     */
288461847f8eSopenharmony_ci    HUKS_ERR_CODE_SESSION_LIMIT = 12000010,
288561847f8eSopenharmony_ci    /**
288661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
288761847f8eSopenharmony_ci     * @since 9
288861847f8eSopenharmony_ci     */
288961847f8eSopenharmony_ci    /**
289061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
289161847f8eSopenharmony_ci     * @atomicservice
289261847f8eSopenharmony_ci     * @since 11
289361847f8eSopenharmony_ci     */
289461847f8eSopenharmony_ci    HUKS_ERR_CODE_ITEM_NOT_EXIST = 12000011,
289561847f8eSopenharmony_ci    /**
289661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
289761847f8eSopenharmony_ci     * @since 9
289861847f8eSopenharmony_ci     */
289961847f8eSopenharmony_ci    /**
290061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
290161847f8eSopenharmony_ci     * @atomicservice
290261847f8eSopenharmony_ci     * @since 11
290361847f8eSopenharmony_ci     */
290461847f8eSopenharmony_ci    HUKS_ERR_CODE_EXTERNAL_ERROR = 12000012,
290561847f8eSopenharmony_ci    /**
290661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
290761847f8eSopenharmony_ci     * @since 9
290861847f8eSopenharmony_ci     */
290961847f8eSopenharmony_ci    /**
291061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
291161847f8eSopenharmony_ci     * @atomicservice
291261847f8eSopenharmony_ci     * @since 11
291361847f8eSopenharmony_ci     */
291461847f8eSopenharmony_ci    HUKS_ERR_CODE_CREDENTIAL_NOT_EXIST = 12000013,
291561847f8eSopenharmony_ci    /**
291661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
291761847f8eSopenharmony_ci     * @since 9
291861847f8eSopenharmony_ci     */
291961847f8eSopenharmony_ci    /**
292061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
292161847f8eSopenharmony_ci     * @atomicservice
292261847f8eSopenharmony_ci     * @since 11
292361847f8eSopenharmony_ci     */
292461847f8eSopenharmony_ci    HUKS_ERR_CODE_INSUFFICIENT_MEMORY = 12000014,
292561847f8eSopenharmony_ci    /**
292661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
292761847f8eSopenharmony_ci     * @since 9
292861847f8eSopenharmony_ci     */
292961847f8eSopenharmony_ci    /**
293061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
293161847f8eSopenharmony_ci     * @atomicservice
293261847f8eSopenharmony_ci     * @since 11
293361847f8eSopenharmony_ci     */
293461847f8eSopenharmony_ci    HUKS_ERR_CODE_CALL_SERVICE_FAILED = 12000015,
293561847f8eSopenharmony_ci    /**
293661847f8eSopenharmony_ci     * A device password is required but not set.
293761847f8eSopenharmony_ci     *
293861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
293961847f8eSopenharmony_ci     * @since 11
294061847f8eSopenharmony_ci     */
294161847f8eSopenharmony_ci    /**
294261847f8eSopenharmony_ci     * A device password is required but not set.
294361847f8eSopenharmony_ci     *
294461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
294561847f8eSopenharmony_ci     * @atomicservice
294661847f8eSopenharmony_ci     * @since 12
294761847f8eSopenharmony_ci     */
294861847f8eSopenharmony_ci    HUKS_ERR_CODE_DEVICE_PASSWORD_UNSET = 12000016
294961847f8eSopenharmony_ci  }
295061847f8eSopenharmony_ci
295161847f8eSopenharmony_ci  /**
295261847f8eSopenharmony_ci   * Enum for huks key purpose.
295361847f8eSopenharmony_ci   *
295461847f8eSopenharmony_ci   * @enum { number }
295561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
295661847f8eSopenharmony_ci   * @since 8
295761847f8eSopenharmony_ci   */
295861847f8eSopenharmony_ci  /**
295961847f8eSopenharmony_ci   * Enum for huks key purpose.
296061847f8eSopenharmony_ci   *
296161847f8eSopenharmony_ci   * @enum { number }
296261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
296361847f8eSopenharmony_ci   * @atomicservice
296461847f8eSopenharmony_ci   * @since 11
296561847f8eSopenharmony_ci   */
296661847f8eSopenharmony_ci  export enum HuksKeyPurpose {
296761847f8eSopenharmony_ci    /**
296861847f8eSopenharmony_ci     * Usable with RSA, EC and AES keys.
296961847f8eSopenharmony_ci     *
297061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
297161847f8eSopenharmony_ci     * @since 8
297261847f8eSopenharmony_ci     */
297361847f8eSopenharmony_ci    /**
297461847f8eSopenharmony_ci     * Usable with RSA, EC and AES keys.
297561847f8eSopenharmony_ci     *
297661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
297761847f8eSopenharmony_ci     * @atomicservice
297861847f8eSopenharmony_ci     * @since 11
297961847f8eSopenharmony_ci     */
298061847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_ENCRYPT = 1,
298161847f8eSopenharmony_ci    /**
298261847f8eSopenharmony_ci     * Usable with RSA, EC and AES keys.
298361847f8eSopenharmony_ci     *
298461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
298561847f8eSopenharmony_ci     * @since 8
298661847f8eSopenharmony_ci     */
298761847f8eSopenharmony_ci    /**
298861847f8eSopenharmony_ci     * Usable with RSA, EC and AES keys.
298961847f8eSopenharmony_ci     *
299061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
299161847f8eSopenharmony_ci     * @atomicservice
299261847f8eSopenharmony_ci     * @since 11
299361847f8eSopenharmony_ci     */
299461847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_DECRYPT = 2,
299561847f8eSopenharmony_ci    /**
299661847f8eSopenharmony_ci     * Usable with RSA, EC keys.
299761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
299861847f8eSopenharmony_ci     * @since 8
299961847f8eSopenharmony_ci     */
300061847f8eSopenharmony_ci    /**
300161847f8eSopenharmony_ci     * Usable with RSA, EC keys.
300261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
300361847f8eSopenharmony_ci     * @atomicservice
300461847f8eSopenharmony_ci     * @since 12
300561847f8eSopenharmony_ci     */
300661847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_SIGN = 4,
300761847f8eSopenharmony_ci    /**
300861847f8eSopenharmony_ci     * Usable with RSA, EC keys.
300961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
301061847f8eSopenharmony_ci     * @since 8
301161847f8eSopenharmony_ci     */
301261847f8eSopenharmony_ci    /**
301361847f8eSopenharmony_ci     * Usable with RSA, EC keys.
301461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
301561847f8eSopenharmony_ci     * @atomicservice
301661847f8eSopenharmony_ci     * @since 12
301761847f8eSopenharmony_ci     */
301861847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_VERIFY = 8,
301961847f8eSopenharmony_ci    /**
302061847f8eSopenharmony_ci     * Usable with EC keys.
302161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
302261847f8eSopenharmony_ci     * @since 8
302361847f8eSopenharmony_ci     */
302461847f8eSopenharmony_ci    /**
302561847f8eSopenharmony_ci     * Usable with EC keys.
302661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
302761847f8eSopenharmony_ci     * @atomicservice
302861847f8eSopenharmony_ci     * @since 12
302961847f8eSopenharmony_ci     */
303061847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_DERIVE = 16,
303161847f8eSopenharmony_ci    /**
303261847f8eSopenharmony_ci     * Usable with wrap key.
303361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
303461847f8eSopenharmony_ci     * @since 8
303561847f8eSopenharmony_ci     */
303661847f8eSopenharmony_ci    /**
303761847f8eSopenharmony_ci     * Usable with wrap key.
303861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
303961847f8eSopenharmony_ci     * @atomicservice
304061847f8eSopenharmony_ci     * @since 12
304161847f8eSopenharmony_ci     */
304261847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_WRAP = 32,
304361847f8eSopenharmony_ci    /**
304461847f8eSopenharmony_ci     * Usable with unwrap key.
304561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
304661847f8eSopenharmony_ci     * @since 8
304761847f8eSopenharmony_ci     */
304861847f8eSopenharmony_ci    /**
304961847f8eSopenharmony_ci     * Usable with unwrap key.
305061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
305161847f8eSopenharmony_ci     * @atomicservice
305261847f8eSopenharmony_ci     * @since 12
305361847f8eSopenharmony_ci     */
305461847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_UNWRAP = 64,
305561847f8eSopenharmony_ci    /**
305661847f8eSopenharmony_ci     * Usable with mac.
305761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
305861847f8eSopenharmony_ci     * @since 8
305961847f8eSopenharmony_ci     */
306061847f8eSopenharmony_ci    /**
306161847f8eSopenharmony_ci     * Usable with mac.
306261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
306361847f8eSopenharmony_ci     * @atomicservice
306461847f8eSopenharmony_ci     * @since 12
306561847f8eSopenharmony_ci     */
306661847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_MAC = 128,
306761847f8eSopenharmony_ci    /**
306861847f8eSopenharmony_ci     * Usable with agree.
306961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
307061847f8eSopenharmony_ci     * @since 8
307161847f8eSopenharmony_ci     */
307261847f8eSopenharmony_ci    /**
307361847f8eSopenharmony_ci     * Usable with agree.
307461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
307561847f8eSopenharmony_ci     * @atomicservice
307661847f8eSopenharmony_ci     * @since 12
307761847f8eSopenharmony_ci     */
307861847f8eSopenharmony_ci    HUKS_KEY_PURPOSE_AGREE = 256
307961847f8eSopenharmony_ci  }
308061847f8eSopenharmony_ci
308161847f8eSopenharmony_ci  /**
308261847f8eSopenharmony_ci   * Enum for huks key digest.
308361847f8eSopenharmony_ci   *
308461847f8eSopenharmony_ci   * @enum { number }
308561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
308661847f8eSopenharmony_ci   * @since 8
308761847f8eSopenharmony_ci   */
308861847f8eSopenharmony_ci  /**
308961847f8eSopenharmony_ci   * Enum for huks key digest.
309061847f8eSopenharmony_ci   *
309161847f8eSopenharmony_ci   * @enum { number }
309261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
309361847f8eSopenharmony_ci   * @atomicservice
309461847f8eSopenharmony_ci   * @since 12
309561847f8eSopenharmony_ci   */
309661847f8eSopenharmony_ci  export enum HuksKeyDigest {
309761847f8eSopenharmony_ci    /**
309861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
309961847f8eSopenharmony_ci     * @since 8
310061847f8eSopenharmony_ci     */
310161847f8eSopenharmony_ci    /**
310261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
310361847f8eSopenharmony_ci     * @atomicservice
310461847f8eSopenharmony_ci     * @since 12
310561847f8eSopenharmony_ci     */
310661847f8eSopenharmony_ci    HUKS_DIGEST_NONE = 0,
310761847f8eSopenharmony_ci    /**
310861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
310961847f8eSopenharmony_ci     * @since 8
311061847f8eSopenharmony_ci     */
311161847f8eSopenharmony_ci    /**
311261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
311361847f8eSopenharmony_ci     * @atomicservice
311461847f8eSopenharmony_ci     * @since 12
311561847f8eSopenharmony_ci     */
311661847f8eSopenharmony_ci    HUKS_DIGEST_MD5 = 1,
311761847f8eSopenharmony_ci    /**
311861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
311961847f8eSopenharmony_ci     * @since 9
312061847f8eSopenharmony_ci     */
312161847f8eSopenharmony_ci    /**
312261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
312361847f8eSopenharmony_ci     * @atomicservice
312461847f8eSopenharmony_ci     * @since 12
312561847f8eSopenharmony_ci     */
312661847f8eSopenharmony_ci    HUKS_DIGEST_SM3 = 2,
312761847f8eSopenharmony_ci    /**
312861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
312961847f8eSopenharmony_ci     * @since 8
313061847f8eSopenharmony_ci     */
313161847f8eSopenharmony_ci    /**
313261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
313361847f8eSopenharmony_ci     * @atomicservice
313461847f8eSopenharmony_ci     * @since 12
313561847f8eSopenharmony_ci     */
313661847f8eSopenharmony_ci    HUKS_DIGEST_SHA1 = 10,
313761847f8eSopenharmony_ci    /**
313861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
313961847f8eSopenharmony_ci     * @since 8
314061847f8eSopenharmony_ci     */
314161847f8eSopenharmony_ci    /**
314261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
314361847f8eSopenharmony_ci     * @atomicservice
314461847f8eSopenharmony_ci     * @since 12
314561847f8eSopenharmony_ci     */
314661847f8eSopenharmony_ci    HUKS_DIGEST_SHA224 = 11,
314761847f8eSopenharmony_ci    /**
314861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
314961847f8eSopenharmony_ci     * @since 8
315061847f8eSopenharmony_ci     */
315161847f8eSopenharmony_ci    /**
315261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
315361847f8eSopenharmony_ci     * @atomicservice
315461847f8eSopenharmony_ci     * @since 12
315561847f8eSopenharmony_ci     */
315661847f8eSopenharmony_ci    HUKS_DIGEST_SHA256 = 12,
315761847f8eSopenharmony_ci    /**
315861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
315961847f8eSopenharmony_ci     * @since 8
316061847f8eSopenharmony_ci     */
316161847f8eSopenharmony_ci    /**
316261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
316361847f8eSopenharmony_ci     * @atomicservice
316461847f8eSopenharmony_ci     * @since 12
316561847f8eSopenharmony_ci     */
316661847f8eSopenharmony_ci    HUKS_DIGEST_SHA384 = 13,
316761847f8eSopenharmony_ci    /**
316861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
316961847f8eSopenharmony_ci     * @since 8
317061847f8eSopenharmony_ci     */
317161847f8eSopenharmony_ci    /**
317261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
317361847f8eSopenharmony_ci     * @atomicservice
317461847f8eSopenharmony_ci     * @since 12
317561847f8eSopenharmony_ci     */
317661847f8eSopenharmony_ci    HUKS_DIGEST_SHA512 = 14
317761847f8eSopenharmony_ci  }
317861847f8eSopenharmony_ci
317961847f8eSopenharmony_ci  /**
318061847f8eSopenharmony_ci   * Enum for huks key padding.
318161847f8eSopenharmony_ci   *
318261847f8eSopenharmony_ci   * @enum { number }
318361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
318461847f8eSopenharmony_ci   * @since 8
318561847f8eSopenharmony_ci   */
318661847f8eSopenharmony_ci  /**
318761847f8eSopenharmony_ci   * Enum for huks key padding.
318861847f8eSopenharmony_ci   *
318961847f8eSopenharmony_ci   * @enum { number }
319061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
319161847f8eSopenharmony_ci   * @atomicservice
319261847f8eSopenharmony_ci   * @since 11
319361847f8eSopenharmony_ci   */
319461847f8eSopenharmony_ci  export enum HuksKeyPadding {
319561847f8eSopenharmony_ci    /**
319661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
319761847f8eSopenharmony_ci     * @since 8
319861847f8eSopenharmony_ci     */
319961847f8eSopenharmony_ci    /**
320061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
320161847f8eSopenharmony_ci     * @atomicservice
320261847f8eSopenharmony_ci     * @since 11
320361847f8eSopenharmony_ci     */
320461847f8eSopenharmony_ci    HUKS_PADDING_NONE = 0,
320561847f8eSopenharmony_ci    /**
320661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
320761847f8eSopenharmony_ci     * @since 8
320861847f8eSopenharmony_ci     */
320961847f8eSopenharmony_ci    /**
321061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
321161847f8eSopenharmony_ci     * @atomicservice
321261847f8eSopenharmony_ci     * @since 12
321361847f8eSopenharmony_ci     */
321461847f8eSopenharmony_ci    HUKS_PADDING_OAEP = 1,
321561847f8eSopenharmony_ci    /**
321661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
321761847f8eSopenharmony_ci     * @since 8
321861847f8eSopenharmony_ci     */
321961847f8eSopenharmony_ci    /**
322061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
322161847f8eSopenharmony_ci     * @atomicservice
322261847f8eSopenharmony_ci     * @since 12
322361847f8eSopenharmony_ci     */
322461847f8eSopenharmony_ci    HUKS_PADDING_PSS = 2,
322561847f8eSopenharmony_ci    /**
322661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
322761847f8eSopenharmony_ci     * @since 8
322861847f8eSopenharmony_ci     */
322961847f8eSopenharmony_ci    /**
323061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
323161847f8eSopenharmony_ci     * @atomicservice
323261847f8eSopenharmony_ci     * @since 12
323361847f8eSopenharmony_ci     */
323461847f8eSopenharmony_ci    HUKS_PADDING_PKCS1_V1_5 = 3,
323561847f8eSopenharmony_ci    /**
323661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
323761847f8eSopenharmony_ci     * @since 8
323861847f8eSopenharmony_ci     */
323961847f8eSopenharmony_ci    /**
324061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
324161847f8eSopenharmony_ci     * @atomicservice
324261847f8eSopenharmony_ci     * @since 12
324361847f8eSopenharmony_ci     */
324461847f8eSopenharmony_ci    HUKS_PADDING_PKCS5 = 4,
324561847f8eSopenharmony_ci    /**
324661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
324761847f8eSopenharmony_ci     * @since 8
324861847f8eSopenharmony_ci     */
324961847f8eSopenharmony_ci    /**
325061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
325161847f8eSopenharmony_ci     * @atomicservice
325261847f8eSopenharmony_ci     * @since 12
325361847f8eSopenharmony_ci     */
325461847f8eSopenharmony_ci    HUKS_PADDING_PKCS7 = 5,
325561847f8eSopenharmony_ci    /**
325661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
325761847f8eSopenharmony_ci     * @atomicservice
325861847f8eSopenharmony_ci     * @since 12
325961847f8eSopenharmony_ci     */
326061847f8eSopenharmony_ci    HUKS_PADDING_ISO_IEC_9796_2 = 6,
326161847f8eSopenharmony_ci    /**
326261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
326361847f8eSopenharmony_ci     * @atomicservice
326461847f8eSopenharmony_ci     * @since 12
326561847f8eSopenharmony_ci     */
326661847f8eSopenharmony_ci    HUKS_PADDING_ISO_IEC_9797_1 = 7,
326761847f8eSopenharmony_ci  }
326861847f8eSopenharmony_ci
326961847f8eSopenharmony_ci  /**
327061847f8eSopenharmony_ci   * Enum for huks cipher mode.
327161847f8eSopenharmony_ci   *
327261847f8eSopenharmony_ci   * @enum { number }
327361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
327461847f8eSopenharmony_ci   * @since 8
327561847f8eSopenharmony_ci   */
327661847f8eSopenharmony_ci  /**
327761847f8eSopenharmony_ci   * Enum for huks cipher mode.
327861847f8eSopenharmony_ci   *
327961847f8eSopenharmony_ci   * @enum { number }
328061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
328161847f8eSopenharmony_ci   * @atomicservice
328261847f8eSopenharmony_ci   * @since 11
328361847f8eSopenharmony_ci   */
328461847f8eSopenharmony_ci  export enum HuksCipherMode {
328561847f8eSopenharmony_ci    /**
328661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
328761847f8eSopenharmony_ci     * @since 8
328861847f8eSopenharmony_ci     */
328961847f8eSopenharmony_ci    /**
329061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
329161847f8eSopenharmony_ci     * @atomicservice
329261847f8eSopenharmony_ci     * @since 12
329361847f8eSopenharmony_ci     */
329461847f8eSopenharmony_ci    HUKS_MODE_ECB = 1,
329561847f8eSopenharmony_ci    /**
329661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
329761847f8eSopenharmony_ci     * @since 8
329861847f8eSopenharmony_ci     */
329961847f8eSopenharmony_ci    /**
330061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
330161847f8eSopenharmony_ci     * @atomicservice
330261847f8eSopenharmony_ci     * @since 12
330361847f8eSopenharmony_ci     */
330461847f8eSopenharmony_ci    HUKS_MODE_CBC = 2,
330561847f8eSopenharmony_ci    /**
330661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
330761847f8eSopenharmony_ci     * @since 8
330861847f8eSopenharmony_ci     */
330961847f8eSopenharmony_ci    /**
331061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
331161847f8eSopenharmony_ci     * @atomicservice
331261847f8eSopenharmony_ci     * @since 12
331361847f8eSopenharmony_ci     */
331461847f8eSopenharmony_ci    HUKS_MODE_CTR = 3,
331561847f8eSopenharmony_ci    /**
331661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
331761847f8eSopenharmony_ci     * @since 8
331861847f8eSopenharmony_ci     */
331961847f8eSopenharmony_ci    /**
332061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
332161847f8eSopenharmony_ci     * @atomicservice
332261847f8eSopenharmony_ci     * @since 12
332361847f8eSopenharmony_ci     */
332461847f8eSopenharmony_ci    HUKS_MODE_OFB = 4,
332561847f8eSopenharmony_ci    /**
332661847f8eSopenharmony_ci     * Cipher Feedback (CFB) mode
332761847f8eSopenharmony_ci     *
332861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
332961847f8eSopenharmony_ci     * @atomicservice
333061847f8eSopenharmony_ci     * @since 12
333161847f8eSopenharmony_ci     */
333261847f8eSopenharmony_ci    HUKS_MODE_CFB = 5,
333361847f8eSopenharmony_ci    /**
333461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
333561847f8eSopenharmony_ci     * @since 8
333661847f8eSopenharmony_ci     */
333761847f8eSopenharmony_ci    /**
333861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
333961847f8eSopenharmony_ci     * @atomicservice
334061847f8eSopenharmony_ci     * @since 12
334161847f8eSopenharmony_ci     */
334261847f8eSopenharmony_ci    HUKS_MODE_CCM = 31,
334361847f8eSopenharmony_ci
334461847f8eSopenharmony_ci    /**
334561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
334661847f8eSopenharmony_ci     * @since 8
334761847f8eSopenharmony_ci     */
334861847f8eSopenharmony_ci    /**
334961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
335061847f8eSopenharmony_ci     * @atomicservice
335161847f8eSopenharmony_ci     * @since 11
335261847f8eSopenharmony_ci     */
335361847f8eSopenharmony_ci    HUKS_MODE_GCM = 32
335461847f8eSopenharmony_ci  }
335561847f8eSopenharmony_ci
335661847f8eSopenharmony_ci  /**
335761847f8eSopenharmony_ci   * Enum for huks key size.
335861847f8eSopenharmony_ci   *
335961847f8eSopenharmony_ci   * @enum { number }
336061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
336161847f8eSopenharmony_ci   * @since 8
336261847f8eSopenharmony_ci   */
336361847f8eSopenharmony_ci  /**
336461847f8eSopenharmony_ci   * Enum for huks key size.
336561847f8eSopenharmony_ci   *
336661847f8eSopenharmony_ci   * @enum { number }
336761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
336861847f8eSopenharmony_ci   * @atomicservice
336961847f8eSopenharmony_ci   * @since 11
337061847f8eSopenharmony_ci   */
337161847f8eSopenharmony_ci  export enum HuksKeySize {
337261847f8eSopenharmony_ci    /**
337361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
337461847f8eSopenharmony_ci     * @since 8
337561847f8eSopenharmony_ci     */
337661847f8eSopenharmony_ci    /**
337761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
337861847f8eSopenharmony_ci     * @atomicservice
337961847f8eSopenharmony_ci     * @since 12
338061847f8eSopenharmony_ci     */
338161847f8eSopenharmony_ci    HUKS_RSA_KEY_SIZE_512 = 512,
338261847f8eSopenharmony_ci    /**
338361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
338461847f8eSopenharmony_ci     * @since 8
338561847f8eSopenharmony_ci     */
338661847f8eSopenharmony_ci    /**
338761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
338861847f8eSopenharmony_ci     * @atomicservice
338961847f8eSopenharmony_ci     * @since 12
339061847f8eSopenharmony_ci     */
339161847f8eSopenharmony_ci    HUKS_RSA_KEY_SIZE_768 = 768,
339261847f8eSopenharmony_ci    /**
339361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
339461847f8eSopenharmony_ci     * @since 8
339561847f8eSopenharmony_ci     */
339661847f8eSopenharmony_ci    /**
339761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
339861847f8eSopenharmony_ci     * @atomicservice
339961847f8eSopenharmony_ci     * @since 12
340061847f8eSopenharmony_ci     */
340161847f8eSopenharmony_ci    HUKS_RSA_KEY_SIZE_1024 = 1024,
340261847f8eSopenharmony_ci    /**
340361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
340461847f8eSopenharmony_ci     * @since 8
340561847f8eSopenharmony_ci     */
340661847f8eSopenharmony_ci    /**
340761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
340861847f8eSopenharmony_ci     * @atomicservice
340961847f8eSopenharmony_ci     * @since 12
341061847f8eSopenharmony_ci     */
341161847f8eSopenharmony_ci    HUKS_RSA_KEY_SIZE_2048 = 2048,
341261847f8eSopenharmony_ci    /**
341361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
341461847f8eSopenharmony_ci     * @since 8
341561847f8eSopenharmony_ci     */
341661847f8eSopenharmony_ci    /**
341761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
341861847f8eSopenharmony_ci     * @atomicservice
341961847f8eSopenharmony_ci     * @since 12
342061847f8eSopenharmony_ci     */
342161847f8eSopenharmony_ci    HUKS_RSA_KEY_SIZE_3072 = 3072,
342261847f8eSopenharmony_ci    /**
342361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
342461847f8eSopenharmony_ci     * @since 8
342561847f8eSopenharmony_ci     */
342661847f8eSopenharmony_ci    /**
342761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
342861847f8eSopenharmony_ci     * @atomicservice
342961847f8eSopenharmony_ci     * @since 12
343061847f8eSopenharmony_ci     */
343161847f8eSopenharmony_ci    HUKS_RSA_KEY_SIZE_4096 = 4096,
343261847f8eSopenharmony_ci
343361847f8eSopenharmony_ci    /**
343461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
343561847f8eSopenharmony_ci     * @since 8
343661847f8eSopenharmony_ci     */
343761847f8eSopenharmony_ci    /**
343861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
343961847f8eSopenharmony_ci     * @atomicservice
344061847f8eSopenharmony_ci     * @since 12
344161847f8eSopenharmony_ci     */
344261847f8eSopenharmony_ci    HUKS_ECC_KEY_SIZE_224 = 224,
344361847f8eSopenharmony_ci    /**
344461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
344561847f8eSopenharmony_ci     * @since 8
344661847f8eSopenharmony_ci     */
344761847f8eSopenharmony_ci    /**
344861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
344961847f8eSopenharmony_ci     * @atomicservice
345061847f8eSopenharmony_ci     * @since 12
345161847f8eSopenharmony_ci     */
345261847f8eSopenharmony_ci    HUKS_ECC_KEY_SIZE_256 = 256,
345361847f8eSopenharmony_ci    /**
345461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
345561847f8eSopenharmony_ci     * @since 8
345661847f8eSopenharmony_ci     */
345761847f8eSopenharmony_ci    /**
345861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
345961847f8eSopenharmony_ci     * @atomicservice
346061847f8eSopenharmony_ci     * @since 12
346161847f8eSopenharmony_ci     */
346261847f8eSopenharmony_ci    HUKS_ECC_KEY_SIZE_384 = 384,
346361847f8eSopenharmony_ci    /**
346461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
346561847f8eSopenharmony_ci     * @since 8
346661847f8eSopenharmony_ci     */
346761847f8eSopenharmony_ci    /**
346861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
346961847f8eSopenharmony_ci     * @atomicservice
347061847f8eSopenharmony_ci     * @since 12
347161847f8eSopenharmony_ci     */
347261847f8eSopenharmony_ci    HUKS_ECC_KEY_SIZE_521 = 521,
347361847f8eSopenharmony_ci
347461847f8eSopenharmony_ci    /**
347561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
347661847f8eSopenharmony_ci     * @since 8
347761847f8eSopenharmony_ci     */
347861847f8eSopenharmony_ci    /**
347961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
348061847f8eSopenharmony_ci     * @atomicservice
348161847f8eSopenharmony_ci     * @since 11
348261847f8eSopenharmony_ci     */
348361847f8eSopenharmony_ci    HUKS_AES_KEY_SIZE_128 = 128,
348461847f8eSopenharmony_ci    /**
348561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
348661847f8eSopenharmony_ci     * @since 8
348761847f8eSopenharmony_ci     */
348861847f8eSopenharmony_ci    /**
348961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
349061847f8eSopenharmony_ci     * @atomicservice
349161847f8eSopenharmony_ci     * @since 11
349261847f8eSopenharmony_ci     */
349361847f8eSopenharmony_ci    HUKS_AES_KEY_SIZE_192 = 192,
349461847f8eSopenharmony_ci    /**
349561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
349661847f8eSopenharmony_ci     * @since 8
349761847f8eSopenharmony_ci     */
349861847f8eSopenharmony_ci    /**
349961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
350061847f8eSopenharmony_ci     * @atomicservice
350161847f8eSopenharmony_ci     * @since 11
350261847f8eSopenharmony_ci     */
350361847f8eSopenharmony_ci    HUKS_AES_KEY_SIZE_256 = 256,
350461847f8eSopenharmony_ci
350561847f8eSopenharmony_ci    /**
350661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
350761847f8eSopenharmony_ci     * @since 8
350861847f8eSopenharmony_ci     * @deprecated since 11
350961847f8eSopenharmony_ci     */
351061847f8eSopenharmony_ci    HUKS_AES_KEY_SIZE_512 = 512,
351161847f8eSopenharmony_ci
351261847f8eSopenharmony_ci    /**
351361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
351461847f8eSopenharmony_ci     * @since 8
351561847f8eSopenharmony_ci     */
351661847f8eSopenharmony_ci    /**
351761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
351861847f8eSopenharmony_ci     * @atomicservice
351961847f8eSopenharmony_ci     * @since 12
352061847f8eSopenharmony_ci     */
352161847f8eSopenharmony_ci    HUKS_CURVE25519_KEY_SIZE_256 = 256,
352261847f8eSopenharmony_ci
352361847f8eSopenharmony_ci    /**
352461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
352561847f8eSopenharmony_ci     * @since 8
352661847f8eSopenharmony_ci     */
352761847f8eSopenharmony_ci    /**
352861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
352961847f8eSopenharmony_ci     * @atomicservice
353061847f8eSopenharmony_ci     * @since 12
353161847f8eSopenharmony_ci     */
353261847f8eSopenharmony_ci    HUKS_DH_KEY_SIZE_2048 = 2048,
353361847f8eSopenharmony_ci    /**
353461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
353561847f8eSopenharmony_ci     * @since 8
353661847f8eSopenharmony_ci     */
353761847f8eSopenharmony_ci    /**
353861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
353961847f8eSopenharmony_ci     * @atomicservice
354061847f8eSopenharmony_ci     * @since 12
354161847f8eSopenharmony_ci     */
354261847f8eSopenharmony_ci    HUKS_DH_KEY_SIZE_3072 = 3072,
354361847f8eSopenharmony_ci    /**
354461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
354561847f8eSopenharmony_ci     * @since 8
354661847f8eSopenharmony_ci     */
354761847f8eSopenharmony_ci    /**
354861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
354961847f8eSopenharmony_ci     * @atomicservice
355061847f8eSopenharmony_ci     * @since 12
355161847f8eSopenharmony_ci     */
355261847f8eSopenharmony_ci    HUKS_DH_KEY_SIZE_4096 = 4096,
355361847f8eSopenharmony_ci
355461847f8eSopenharmony_ci    /**
355561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
355661847f8eSopenharmony_ci     * @since 9
355761847f8eSopenharmony_ci     */
355861847f8eSopenharmony_ci    /**
355961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
356061847f8eSopenharmony_ci     * @atomicservice
356161847f8eSopenharmony_ci     * @since 12
356261847f8eSopenharmony_ci     */
356361847f8eSopenharmony_ci    HUKS_SM2_KEY_SIZE_256 = 256,
356461847f8eSopenharmony_ci    /**
356561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
356661847f8eSopenharmony_ci     * @since 9
356761847f8eSopenharmony_ci     */
356861847f8eSopenharmony_ci    /**
356961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
357061847f8eSopenharmony_ci     * @atomicservice
357161847f8eSopenharmony_ci     * @since 12
357261847f8eSopenharmony_ci     */
357361847f8eSopenharmony_ci    HUKS_SM4_KEY_SIZE_128 = 128,
357461847f8eSopenharmony_ci    /**
357561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
357661847f8eSopenharmony_ci     * @atomicservice
357761847f8eSopenharmony_ci     * @since 12
357861847f8eSopenharmony_ci     */
357961847f8eSopenharmony_ci    HUKS_DES_KEY_SIZE_64 = 64,
358061847f8eSopenharmony_ci    /**
358161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
358261847f8eSopenharmony_ci     * @atomicservice
358361847f8eSopenharmony_ci     * @since 12
358461847f8eSopenharmony_ci     */
358561847f8eSopenharmony_ci    HUKS_3DES_KEY_SIZE_128 = 128,
358661847f8eSopenharmony_ci    /**
358761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
358861847f8eSopenharmony_ci     * @atomicservice
358961847f8eSopenharmony_ci     * @since 12
359061847f8eSopenharmony_ci     */
359161847f8eSopenharmony_ci    HUKS_3DES_KEY_SIZE_192 = 192,
359261847f8eSopenharmony_ci  }
359361847f8eSopenharmony_ci
359461847f8eSopenharmony_ci  /**
359561847f8eSopenharmony_ci   * Enum for huks key algorithm.
359661847f8eSopenharmony_ci   *
359761847f8eSopenharmony_ci   * @enum { number }
359861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
359961847f8eSopenharmony_ci   * @since 8
360061847f8eSopenharmony_ci   */
360161847f8eSopenharmony_ci    /**
360261847f8eSopenharmony_ci   * Enum for huks key algorithm.
360361847f8eSopenharmony_ci   *
360461847f8eSopenharmony_ci   * @enum { number }
360561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
360661847f8eSopenharmony_ci   * @atomicservice
360761847f8eSopenharmony_ci   * @since 11
360861847f8eSopenharmony_ci   */
360961847f8eSopenharmony_ci  export enum HuksKeyAlg {
361061847f8eSopenharmony_ci    /**
361161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
361261847f8eSopenharmony_ci     * @since 8
361361847f8eSopenharmony_ci     */
361461847f8eSopenharmony_ci    /**
361561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
361661847f8eSopenharmony_ci     * @atomicservice
361761847f8eSopenharmony_ci     * @since 12
361861847f8eSopenharmony_ci     */
361961847f8eSopenharmony_ci    HUKS_ALG_RSA = 1,
362061847f8eSopenharmony_ci    /**
362161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
362261847f8eSopenharmony_ci     * @since 8
362361847f8eSopenharmony_ci     */
362461847f8eSopenharmony_ci    /**
362561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
362661847f8eSopenharmony_ci     * @atomicservice
362761847f8eSopenharmony_ci     * @since 12
362861847f8eSopenharmony_ci     */
362961847f8eSopenharmony_ci    HUKS_ALG_ECC = 2,
363061847f8eSopenharmony_ci    /**
363161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
363261847f8eSopenharmony_ci     * @since 8
363361847f8eSopenharmony_ci     */
363461847f8eSopenharmony_ci    /**
363561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
363661847f8eSopenharmony_ci     * @atomicservice
363761847f8eSopenharmony_ci     * @since 12
363861847f8eSopenharmony_ci     */
363961847f8eSopenharmony_ci    HUKS_ALG_DSA = 3,
364061847f8eSopenharmony_ci
364161847f8eSopenharmony_ci    /**
364261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
364361847f8eSopenharmony_ci     * @since 8
364461847f8eSopenharmony_ci     */
364561847f8eSopenharmony_ci    /**
364661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
364761847f8eSopenharmony_ci     * @atomicservice
364861847f8eSopenharmony_ci     * @since 11
364961847f8eSopenharmony_ci     */
365061847f8eSopenharmony_ci    HUKS_ALG_AES = 20,
365161847f8eSopenharmony_ci    /**
365261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
365361847f8eSopenharmony_ci     * @since 8
365461847f8eSopenharmony_ci     */
365561847f8eSopenharmony_ci    /**
365661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
365761847f8eSopenharmony_ci     * @atomicservice
365861847f8eSopenharmony_ci     * @since 12
365961847f8eSopenharmony_ci     */
366061847f8eSopenharmony_ci    HUKS_ALG_HMAC = 50,
366161847f8eSopenharmony_ci    /**
366261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
366361847f8eSopenharmony_ci     * @since 8
366461847f8eSopenharmony_ci     */
366561847f8eSopenharmony_ci    /**
366661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
366761847f8eSopenharmony_ci     * @atomicservice
366861847f8eSopenharmony_ci     * @since 12
366961847f8eSopenharmony_ci     */
367061847f8eSopenharmony_ci    HUKS_ALG_HKDF = 51,
367161847f8eSopenharmony_ci    /**
367261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
367361847f8eSopenharmony_ci     * @since 8
367461847f8eSopenharmony_ci     */
367561847f8eSopenharmony_ci    /**
367661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
367761847f8eSopenharmony_ci     * @atomicservice
367861847f8eSopenharmony_ci     * @since 12
367961847f8eSopenharmony_ci     */
368061847f8eSopenharmony_ci    HUKS_ALG_PBKDF2 = 52,
368161847f8eSopenharmony_ci
368261847f8eSopenharmony_ci    /**
368361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
368461847f8eSopenharmony_ci     * @since 8
368561847f8eSopenharmony_ci     */
368661847f8eSopenharmony_ci    /**
368761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
368861847f8eSopenharmony_ci     * @atomicservice
368961847f8eSopenharmony_ci     * @since 12
369061847f8eSopenharmony_ci     */
369161847f8eSopenharmony_ci    HUKS_ALG_ECDH = 100,
369261847f8eSopenharmony_ci    /**
369361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
369461847f8eSopenharmony_ci     * @since 8
369561847f8eSopenharmony_ci     */
369661847f8eSopenharmony_ci    /**
369761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
369861847f8eSopenharmony_ci     * @atomicservice
369961847f8eSopenharmony_ci     * @since 12
370061847f8eSopenharmony_ci     */
370161847f8eSopenharmony_ci    HUKS_ALG_X25519 = 101,
370261847f8eSopenharmony_ci    /**
370361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
370461847f8eSopenharmony_ci     * @since 8
370561847f8eSopenharmony_ci     */
370661847f8eSopenharmony_ci    /**
370761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
370861847f8eSopenharmony_ci     * @atomicservice
370961847f8eSopenharmony_ci     * @since 12
371061847f8eSopenharmony_ci     */
371161847f8eSopenharmony_ci    HUKS_ALG_ED25519 = 102,
371261847f8eSopenharmony_ci    /**
371361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
371461847f8eSopenharmony_ci     * @since 8
371561847f8eSopenharmony_ci     */
371661847f8eSopenharmony_ci    /**
371761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
371861847f8eSopenharmony_ci     * @atomicservice
371961847f8eSopenharmony_ci     * @since 12
372061847f8eSopenharmony_ci     */
372161847f8eSopenharmony_ci    HUKS_ALG_DH = 103,
372261847f8eSopenharmony_ci
372361847f8eSopenharmony_ci    /**
372461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
372561847f8eSopenharmony_ci     * @since 9
372661847f8eSopenharmony_ci     */
372761847f8eSopenharmony_ci    /**
372861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
372961847f8eSopenharmony_ci     * @atomicservice
373061847f8eSopenharmony_ci     * @since 12
373161847f8eSopenharmony_ci     */
373261847f8eSopenharmony_ci    HUKS_ALG_SM2 = 150,
373361847f8eSopenharmony_ci    /**
373461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
373561847f8eSopenharmony_ci     * @since 9
373661847f8eSopenharmony_ci     */
373761847f8eSopenharmony_ci    /**
373861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
373961847f8eSopenharmony_ci     * @atomicservice
374061847f8eSopenharmony_ci     * @since 12
374161847f8eSopenharmony_ci     */
374261847f8eSopenharmony_ci    HUKS_ALG_SM3 = 151,
374361847f8eSopenharmony_ci    /**
374461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
374561847f8eSopenharmony_ci     * @since 9
374661847f8eSopenharmony_ci     */
374761847f8eSopenharmony_ci    /**
374861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
374961847f8eSopenharmony_ci     * @atomicservice
375061847f8eSopenharmony_ci     * @since 12
375161847f8eSopenharmony_ci     */
375261847f8eSopenharmony_ci    HUKS_ALG_SM4 = 152,
375361847f8eSopenharmony_ci    /**
375461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
375561847f8eSopenharmony_ci     * @atomicservice
375661847f8eSopenharmony_ci     * @since 12
375761847f8eSopenharmony_ci     */
375861847f8eSopenharmony_ci    HUKS_ALG_DES = 160,
375961847f8eSopenharmony_ci    /**
376061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
376161847f8eSopenharmony_ci     * @atomicservice
376261847f8eSopenharmony_ci     * @since 12
376361847f8eSopenharmony_ci     */
376461847f8eSopenharmony_ci    HUKS_ALG_3DES = 161,
376561847f8eSopenharmony_ci    /**
376661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
376761847f8eSopenharmony_ci     * @atomicservice
376861847f8eSopenharmony_ci     * @since 12
376961847f8eSopenharmony_ci     */
377061847f8eSopenharmony_ci    HUKS_ALG_CMAC = 162
377161847f8eSopenharmony_ci  }
377261847f8eSopenharmony_ci
377361847f8eSopenharmony_ci  /**
377461847f8eSopenharmony_ci   * Enum for huks unwrap suite.
377561847f8eSopenharmony_ci   *
377661847f8eSopenharmony_ci   * @enum { number }
377761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
377861847f8eSopenharmony_ci   * @since 9
377961847f8eSopenharmony_ci   */
378061847f8eSopenharmony_ci  /**
378161847f8eSopenharmony_ci   * Enum for huks unwrap suite.
378261847f8eSopenharmony_ci   *
378361847f8eSopenharmony_ci   * @enum { number }
378461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
378561847f8eSopenharmony_ci   * @atomicservice
378661847f8eSopenharmony_ci   * @since 12
378761847f8eSopenharmony_ci   */
378861847f8eSopenharmony_ci  export enum HuksUnwrapSuite {
378961847f8eSopenharmony_ci    /**
379061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
379161847f8eSopenharmony_ci     * @since 9
379261847f8eSopenharmony_ci     */
379361847f8eSopenharmony_ci    /**
379461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
379561847f8eSopenharmony_ci     * @atomicservice
379661847f8eSopenharmony_ci     * @since 12
379761847f8eSopenharmony_ci     */
379861847f8eSopenharmony_ci    HUKS_UNWRAP_SUITE_X25519_AES_256_GCM_NOPADDING = 1,
379961847f8eSopenharmony_ci    /**
380061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
380161847f8eSopenharmony_ci     * @since 9
380261847f8eSopenharmony_ci     */
380361847f8eSopenharmony_ci    /**
380461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
380561847f8eSopenharmony_ci     * @atomicservice
380661847f8eSopenharmony_ci     * @since 12
380761847f8eSopenharmony_ci     */
380861847f8eSopenharmony_ci    HUKS_UNWRAP_SUITE_ECDH_AES_256_GCM_NOPADDING = 2
380961847f8eSopenharmony_ci  }
381061847f8eSopenharmony_ci
381161847f8eSopenharmony_ci  /**
381261847f8eSopenharmony_ci   * Enum for huks key generate type.
381361847f8eSopenharmony_ci   *
381461847f8eSopenharmony_ci   * @enum { number }
381561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
381661847f8eSopenharmony_ci   * @since 8
381761847f8eSopenharmony_ci   */
381861847f8eSopenharmony_ci  /**
381961847f8eSopenharmony_ci   * Enum for huks key generate type.
382061847f8eSopenharmony_ci   *
382161847f8eSopenharmony_ci   * @enum { number }
382261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
382361847f8eSopenharmony_ci   * @atomicservice
382461847f8eSopenharmony_ci   * @since 12
382561847f8eSopenharmony_ci   */
382661847f8eSopenharmony_ci  export enum HuksKeyGenerateType {
382761847f8eSopenharmony_ci    /**
382861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
382961847f8eSopenharmony_ci     * @since 8
383061847f8eSopenharmony_ci     */
383161847f8eSopenharmony_ci    /**
383261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
383361847f8eSopenharmony_ci     * @atomicservice
383461847f8eSopenharmony_ci     * @since 12
383561847f8eSopenharmony_ci     */
383661847f8eSopenharmony_ci    HUKS_KEY_GENERATE_TYPE_DEFAULT = 0,
383761847f8eSopenharmony_ci    /**
383861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
383961847f8eSopenharmony_ci     * @since 8
384061847f8eSopenharmony_ci     */
384161847f8eSopenharmony_ci    /**
384261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
384361847f8eSopenharmony_ci     * @atomicservice
384461847f8eSopenharmony_ci     * @since 12
384561847f8eSopenharmony_ci     */
384661847f8eSopenharmony_ci    HUKS_KEY_GENERATE_TYPE_DERIVE = 1,
384761847f8eSopenharmony_ci    /**
384861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
384961847f8eSopenharmony_ci     * @since 8
385061847f8eSopenharmony_ci     */
385161847f8eSopenharmony_ci    /**
385261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
385361847f8eSopenharmony_ci     * @atomicservice
385461847f8eSopenharmony_ci     * @since 12
385561847f8eSopenharmony_ci     */
385661847f8eSopenharmony_ci    HUKS_KEY_GENERATE_TYPE_AGREE = 2
385761847f8eSopenharmony_ci  }
385861847f8eSopenharmony_ci
385961847f8eSopenharmony_ci  /**
386061847f8eSopenharmony_ci   * Enum for huks key flag.
386161847f8eSopenharmony_ci   *
386261847f8eSopenharmony_ci   * @enum { number }
386361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
386461847f8eSopenharmony_ci   * @since 8
386561847f8eSopenharmony_ci   */
386661847f8eSopenharmony_ci  /**
386761847f8eSopenharmony_ci   * Enum for huks key flag.
386861847f8eSopenharmony_ci   *
386961847f8eSopenharmony_ci   * @enum { number }
387061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
387161847f8eSopenharmony_ci   * @atomicservice
387261847f8eSopenharmony_ci   * @since 12
387361847f8eSopenharmony_ci   */
387461847f8eSopenharmony_ci  export enum HuksKeyFlag {
387561847f8eSopenharmony_ci    /**
387661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
387761847f8eSopenharmony_ci     * @since 8
387861847f8eSopenharmony_ci     */
387961847f8eSopenharmony_ci    /**
388061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
388161847f8eSopenharmony_ci     * @atomicservice
388261847f8eSopenharmony_ci     * @since 12
388361847f8eSopenharmony_ci     */
388461847f8eSopenharmony_ci    HUKS_KEY_FLAG_IMPORT_KEY = 1,
388561847f8eSopenharmony_ci    /**
388661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
388761847f8eSopenharmony_ci     * @since 8
388861847f8eSopenharmony_ci     */
388961847f8eSopenharmony_ci    /**
389061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
389161847f8eSopenharmony_ci     * @atomicservice
389261847f8eSopenharmony_ci     * @since 12
389361847f8eSopenharmony_ci     */
389461847f8eSopenharmony_ci    HUKS_KEY_FLAG_GENERATE_KEY = 2,
389561847f8eSopenharmony_ci    /**
389661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
389761847f8eSopenharmony_ci     * @since 8
389861847f8eSopenharmony_ci     */
389961847f8eSopenharmony_ci    /**
390061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
390161847f8eSopenharmony_ci     * @atomicservice
390261847f8eSopenharmony_ci     * @since 12
390361847f8eSopenharmony_ci     */
390461847f8eSopenharmony_ci    HUKS_KEY_FLAG_AGREE_KEY = 3,
390561847f8eSopenharmony_ci    /**
390661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
390761847f8eSopenharmony_ci     * @since 8
390861847f8eSopenharmony_ci     */
390961847f8eSopenharmony_ci    /**
391061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
391161847f8eSopenharmony_ci     * @atomicservice
391261847f8eSopenharmony_ci     * @since 12
391361847f8eSopenharmony_ci     */
391461847f8eSopenharmony_ci    HUKS_KEY_FLAG_DERIVE_KEY = 4
391561847f8eSopenharmony_ci  }
391661847f8eSopenharmony_ci
391761847f8eSopenharmony_ci  /**
391861847f8eSopenharmony_ci   * Enum for huks key storage type.
391961847f8eSopenharmony_ci   *
392061847f8eSopenharmony_ci   * @enum { number }
392161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
392261847f8eSopenharmony_ci   * @since 8
392361847f8eSopenharmony_ci   */
392461847f8eSopenharmony_ci  /**
392561847f8eSopenharmony_ci   * Enum for huks key storage type.
392661847f8eSopenharmony_ci   *
392761847f8eSopenharmony_ci   * @enum { number }
392861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
392961847f8eSopenharmony_ci   * @atomicservice
393061847f8eSopenharmony_ci   * @since 12
393161847f8eSopenharmony_ci   */
393261847f8eSopenharmony_ci  export enum HuksKeyStorageType {
393361847f8eSopenharmony_ci    /**
393461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
393561847f8eSopenharmony_ci     * @since 8
393661847f8eSopenharmony_ci     * @deprecated since 10
393761847f8eSopenharmony_ci     */
393861847f8eSopenharmony_ci    HUKS_STORAGE_TEMP = 0,
393961847f8eSopenharmony_ci    /**
394061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
394161847f8eSopenharmony_ci     * @since 8
394261847f8eSopenharmony_ci     * @deprecated since 10
394361847f8eSopenharmony_ci     */
394461847f8eSopenharmony_ci    HUKS_STORAGE_PERSISTENT = 1,
394561847f8eSopenharmony_ci    /**
394661847f8eSopenharmony_ci     * The key is stored and used only in HUKS. It is mutually exclusive with HUKS_STORAGE_KEY_EXPORT_ALLOWED.
394761847f8eSopenharmony_ci     *
394861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
394961847f8eSopenharmony_ci     * @since 10
395061847f8eSopenharmony_ci     */
395161847f8eSopenharmony_ci    /**
395261847f8eSopenharmony_ci     * The key is stored and used only in HUKS. It is mutually exclusive with HUKS_STORAGE_KEY_EXPORT_ALLOWED.
395361847f8eSopenharmony_ci     *
395461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
395561847f8eSopenharmony_ci     * @atomicservice
395661847f8eSopenharmony_ci     * @since 12
395761847f8eSopenharmony_ci     */
395861847f8eSopenharmony_ci    HUKS_STORAGE_ONLY_USED_IN_HUKS = 2,
395961847f8eSopenharmony_ci    /**
396061847f8eSopenharmony_ci     * The key can be exported. It is mutually exclusive with HUKS_STORAGE_ONLY_USED_IN_HUKS.
396161847f8eSopenharmony_ci     *
396261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
396361847f8eSopenharmony_ci     * @since 10
396461847f8eSopenharmony_ci     */
396561847f8eSopenharmony_ci    /**
396661847f8eSopenharmony_ci     * The key can be exported. It is mutually exclusive with HUKS_STORAGE_ONLY_USED_IN_HUKS.
396761847f8eSopenharmony_ci     *
396861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
396961847f8eSopenharmony_ci     * @atomicservice
397061847f8eSopenharmony_ci     * @since 12
397161847f8eSopenharmony_ci     */
397261847f8eSopenharmony_ci    HUKS_STORAGE_KEY_EXPORT_ALLOWED = 3
397361847f8eSopenharmony_ci  }
397461847f8eSopenharmony_ci
397561847f8eSopenharmony_ci  /**
397661847f8eSopenharmony_ci   * Enum for huks import key type.
397761847f8eSopenharmony_ci   *
397861847f8eSopenharmony_ci   * @enum { number }
397961847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
398061847f8eSopenharmony_ci   * @since 9
398161847f8eSopenharmony_ci   */
398261847f8eSopenharmony_ci  /**
398361847f8eSopenharmony_ci   * Enum for huks import key type.
398461847f8eSopenharmony_ci   *
398561847f8eSopenharmony_ci   * @enum { number }
398661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
398761847f8eSopenharmony_ci   * @atomicservice
398861847f8eSopenharmony_ci   * @since 12
398961847f8eSopenharmony_ci   */
399061847f8eSopenharmony_ci  export enum HuksImportKeyType {
399161847f8eSopenharmony_ci    /**
399261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
399361847f8eSopenharmony_ci     * @since 9
399461847f8eSopenharmony_ci     */
399561847f8eSopenharmony_ci    /**
399661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
399761847f8eSopenharmony_ci     * @atomicservice
399861847f8eSopenharmony_ci     * @since 12
399961847f8eSopenharmony_ci     */
400061847f8eSopenharmony_ci    HUKS_KEY_TYPE_PUBLIC_KEY = 0,
400161847f8eSopenharmony_ci    /**
400261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
400361847f8eSopenharmony_ci     * @since 9
400461847f8eSopenharmony_ci     */
400561847f8eSopenharmony_ci    /**
400661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
400761847f8eSopenharmony_ci     * @atomicservice
400861847f8eSopenharmony_ci     * @since 12
400961847f8eSopenharmony_ci     */
401061847f8eSopenharmony_ci    HUKS_KEY_TYPE_PRIVATE_KEY = 1,
401161847f8eSopenharmony_ci    /**
401261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
401361847f8eSopenharmony_ci     * @since 9
401461847f8eSopenharmony_ci     */
401561847f8eSopenharmony_ci    /**
401661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
401761847f8eSopenharmony_ci     * @atomicservice
401861847f8eSopenharmony_ci     * @since 12
401961847f8eSopenharmony_ci     */
402061847f8eSopenharmony_ci    HUKS_KEY_TYPE_KEY_PAIR = 2
402161847f8eSopenharmony_ci  }
402261847f8eSopenharmony_ci
402361847f8eSopenharmony_ci  /**
402461847f8eSopenharmony_ci   * Enum for rsa salt len type.
402561847f8eSopenharmony_ci   *
402661847f8eSopenharmony_ci   * @enum { number }
402761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
402861847f8eSopenharmony_ci   * @since 10
402961847f8eSopenharmony_ci   */
403061847f8eSopenharmony_ci  /**
403161847f8eSopenharmony_ci   * Enum for rsa salt len type.
403261847f8eSopenharmony_ci   *
403361847f8eSopenharmony_ci   * @enum { number }
403461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
403561847f8eSopenharmony_ci   * @atomicservice
403661847f8eSopenharmony_ci   * @since 12
403761847f8eSopenharmony_ci   */
403861847f8eSopenharmony_ci  export enum HuksRsaPssSaltLenType {
403961847f8eSopenharmony_ci    /**
404061847f8eSopenharmony_ci     * Salt length that matches the digest length.
404161847f8eSopenharmony_ci     *
404261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
404361847f8eSopenharmony_ci     * @since 10
404461847f8eSopenharmony_ci     */
404561847f8eSopenharmony_ci    /**
404661847f8eSopenharmony_ci     * Salt length that matches the digest length.
404761847f8eSopenharmony_ci     *
404861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
404961847f8eSopenharmony_ci     * @atomicservice
405061847f8eSopenharmony_ci     * @since 12
405161847f8eSopenharmony_ci     */
405261847f8eSopenharmony_ci    HUKS_RSA_PSS_SALT_LEN_DIGEST = 0,
405361847f8eSopenharmony_ci
405461847f8eSopenharmony_ci    /**
405561847f8eSopenharmony_ci     * Maximum salt length.
405661847f8eSopenharmony_ci     *
405761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
405861847f8eSopenharmony_ci     * @since 10
405961847f8eSopenharmony_ci     */
406061847f8eSopenharmony_ci    /**
406161847f8eSopenharmony_ci     * Maximum salt length.
406261847f8eSopenharmony_ci     *
406361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
406461847f8eSopenharmony_ci     * @atomicservice
406561847f8eSopenharmony_ci     * @since 12
406661847f8eSopenharmony_ci     */
406761847f8eSopenharmony_ci    HUKS_RSA_PSS_SALT_LEN_MAX = 1
406861847f8eSopenharmony_ci  }
406961847f8eSopenharmony_ci
407061847f8eSopenharmony_ci  /**
407161847f8eSopenharmony_ci   * Enum for huks user auth type.
407261847f8eSopenharmony_ci   *
407361847f8eSopenharmony_ci   * @enum { number }
407461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
407561847f8eSopenharmony_ci   * @since 9
407661847f8eSopenharmony_ci   */
407761847f8eSopenharmony_ci  /**
407861847f8eSopenharmony_ci   * Enum for huks user auth type.
407961847f8eSopenharmony_ci   *
408061847f8eSopenharmony_ci   * @enum { number }
408161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
408261847f8eSopenharmony_ci   * @atomicservice
408361847f8eSopenharmony_ci   * @since 12
408461847f8eSopenharmony_ci   */
408561847f8eSopenharmony_ci  export enum HuksUserAuthType {
408661847f8eSopenharmony_ci    /**
408761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
408861847f8eSopenharmony_ci     * @since 9
408961847f8eSopenharmony_ci     */
409061847f8eSopenharmony_ci    /**
409161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
409261847f8eSopenharmony_ci     * @atomicservice
409361847f8eSopenharmony_ci     * @since 12
409461847f8eSopenharmony_ci     */
409561847f8eSopenharmony_ci    HUKS_USER_AUTH_TYPE_FINGERPRINT = 1 << 0,
409661847f8eSopenharmony_ci    /**
409761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
409861847f8eSopenharmony_ci     * @since 9
409961847f8eSopenharmony_ci     */
410061847f8eSopenharmony_ci    /**
410161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
410261847f8eSopenharmony_ci     * @atomicservice
410361847f8eSopenharmony_ci     * @since 12
410461847f8eSopenharmony_ci     */
410561847f8eSopenharmony_ci    HUKS_USER_AUTH_TYPE_FACE = 1 << 1,
410661847f8eSopenharmony_ci    /**
410761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
410861847f8eSopenharmony_ci     * @since 9
410961847f8eSopenharmony_ci     */
411061847f8eSopenharmony_ci    /**
411161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
411261847f8eSopenharmony_ci     * @atomicservice
411361847f8eSopenharmony_ci     * @since 12
411461847f8eSopenharmony_ci     */
411561847f8eSopenharmony_ci    HUKS_USER_AUTH_TYPE_PIN = 1 << 2
411661847f8eSopenharmony_ci  }
411761847f8eSopenharmony_ci
411861847f8eSopenharmony_ci  /**
411961847f8eSopenharmony_ci   * Enum for huks auth access type.
412061847f8eSopenharmony_ci   *
412161847f8eSopenharmony_ci   * @enum { number }
412261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
412361847f8eSopenharmony_ci   * @since 9
412461847f8eSopenharmony_ci   */
412561847f8eSopenharmony_ci  /**
412661847f8eSopenharmony_ci   * Enum for huks auth access type.
412761847f8eSopenharmony_ci   *
412861847f8eSopenharmony_ci   * @enum { number }
412961847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
413061847f8eSopenharmony_ci   * @atomicservice
413161847f8eSopenharmony_ci   * @since 12
413261847f8eSopenharmony_ci   */
413361847f8eSopenharmony_ci  export enum HuksAuthAccessType {
413461847f8eSopenharmony_ci    /**
413561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
413661847f8eSopenharmony_ci     * @since 9
413761847f8eSopenharmony_ci     */
413861847f8eSopenharmony_ci    /**
413961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
414061847f8eSopenharmony_ci     * @atomicservice
414161847f8eSopenharmony_ci     * @since 12
414261847f8eSopenharmony_ci     */
414361847f8eSopenharmony_ci    HUKS_AUTH_ACCESS_INVALID_CLEAR_PASSWORD = 1 << 0,
414461847f8eSopenharmony_ci    /**
414561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
414661847f8eSopenharmony_ci     * @since 9
414761847f8eSopenharmony_ci     */
414861847f8eSopenharmony_ci    /**
414961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
415061847f8eSopenharmony_ci     * @atomicservice
415161847f8eSopenharmony_ci     * @since 12
415261847f8eSopenharmony_ci     */
415361847f8eSopenharmony_ci    HUKS_AUTH_ACCESS_INVALID_NEW_BIO_ENROLL = 1 << 1,
415461847f8eSopenharmony_ci    /**
415561847f8eSopenharmony_ci     * Auth type for always valid.
415661847f8eSopenharmony_ci     *
415761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
415861847f8eSopenharmony_ci     * @since 11
415961847f8eSopenharmony_ci     */
416061847f8eSopenharmony_ci    /**
416161847f8eSopenharmony_ci     * Auth type for always valid.
416261847f8eSopenharmony_ci     *
416361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
416461847f8eSopenharmony_ci     * @atomicservice
416561847f8eSopenharmony_ci     * @since 12
416661847f8eSopenharmony_ci     */
416761847f8eSopenharmony_ci    HUKS_AUTH_ACCESS_ALWAYS_VALID = 1 << 2
416861847f8eSopenharmony_ci  }
416961847f8eSopenharmony_ci
417061847f8eSopenharmony_ci  /**
417161847f8eSopenharmony_ci   * Enum for huks user auth mode.
417261847f8eSopenharmony_ci   *
417361847f8eSopenharmony_ci   * @enum { number }
417461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
417561847f8eSopenharmony_ci   * @atomicservice
417661847f8eSopenharmony_ci   * @since 12
417761847f8eSopenharmony_ci   */
417861847f8eSopenharmony_ci  export enum HuksUserAuthMode {
417961847f8eSopenharmony_ci    /**
418061847f8eSopenharmony_ci     * Auth mode for local scenarios.
418161847f8eSopenharmony_ci     *
418261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
418361847f8eSopenharmony_ci     * @atomicservice
418461847f8eSopenharmony_ci     * @since 12
418561847f8eSopenharmony_ci     */
418661847f8eSopenharmony_ci    HUKS_USER_AUTH_MODE_LOCAL = 0,
418761847f8eSopenharmony_ci    /**
418861847f8eSopenharmony_ci     * Auth mode for co-auth scenarios.
418961847f8eSopenharmony_ci     *
419061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
419161847f8eSopenharmony_ci     * @atomicservice
419261847f8eSopenharmony_ci     * @since 12
419361847f8eSopenharmony_ci     */
419461847f8eSopenharmony_ci    HUKS_USER_AUTH_MODE_COAUTH = 1,
419561847f8eSopenharmony_ci  }
419661847f8eSopenharmony_ci  /**
419761847f8eSopenharmony_ci   * Enum for huks key file storage authentication level.
419861847f8eSopenharmony_ci   *
419961847f8eSopenharmony_ci   * @enum { number }
420061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
420161847f8eSopenharmony_ci   * @since 11
420261847f8eSopenharmony_ci   */
420361847f8eSopenharmony_ci    /**
420461847f8eSopenharmony_ci   * Enum for huks key file storage authentication level.
420561847f8eSopenharmony_ci   *
420661847f8eSopenharmony_ci   * @enum { number }
420761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
420861847f8eSopenharmony_ci   * @atomicservice
420961847f8eSopenharmony_ci   * @since 12
421061847f8eSopenharmony_ci   */
421161847f8eSopenharmony_ci  export enum HuksAuthStorageLevel {
421261847f8eSopenharmony_ci    /**
421361847f8eSopenharmony_ci     * Key file storage security level for device encryption standard.
421461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
421561847f8eSopenharmony_ci     * @since 11
421661847f8eSopenharmony_ci     */
421761847f8eSopenharmony_ci    /**
421861847f8eSopenharmony_ci     * Key file storage security level for device encryption standard.
421961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
422061847f8eSopenharmony_ci     * @atomicservice
422161847f8eSopenharmony_ci     * @since 12
422261847f8eSopenharmony_ci     */
422361847f8eSopenharmony_ci    HUKS_AUTH_STORAGE_LEVEL_DE = 0,
422461847f8eSopenharmony_ci    /**
422561847f8eSopenharmony_ci     * Key file storage security level for credential encryption standard.
422661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
422761847f8eSopenharmony_ci     * @since 11
422861847f8eSopenharmony_ci     */
422961847f8eSopenharmony_ci    /**
423061847f8eSopenharmony_ci     * Key file storage security level for credential encryption standard.
423161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
423261847f8eSopenharmony_ci     * @atomicservice
423361847f8eSopenharmony_ci     * @since 12
423461847f8eSopenharmony_ci     */
423561847f8eSopenharmony_ci    HUKS_AUTH_STORAGE_LEVEL_CE = 1,
423661847f8eSopenharmony_ci    /**
423761847f8eSopenharmony_ci     * Key file storage security level for enhanced credential encryption standard.
423861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
423961847f8eSopenharmony_ci     * @since 11
424061847f8eSopenharmony_ci     */
424161847f8eSopenharmony_ci    /**
424261847f8eSopenharmony_ci     * Key file storage security level for enhanced credential encryption standard.
424361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
424461847f8eSopenharmony_ci     * @atomicservice
424561847f8eSopenharmony_ci     * @since 12
424661847f8eSopenharmony_ci     */
424761847f8eSopenharmony_ci    HUKS_AUTH_STORAGE_LEVEL_ECE = 2,
424861847f8eSopenharmony_ci  }
424961847f8eSopenharmony_ci
425061847f8eSopenharmony_ci  /**
425161847f8eSopenharmony_ci   * Enum for huks auth access challenge type.
425261847f8eSopenharmony_ci   *
425361847f8eSopenharmony_ci   * @enum { number }
425461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
425561847f8eSopenharmony_ci   * @since 9
425661847f8eSopenharmony_ci   */
425761847f8eSopenharmony_ci  /**
425861847f8eSopenharmony_ci   * Enum for huks auth access challenge type.
425961847f8eSopenharmony_ci   *
426061847f8eSopenharmony_ci   * @enum { number }
426161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
426261847f8eSopenharmony_ci   * @atomicservice
426361847f8eSopenharmony_ci   * @since 12
426461847f8eSopenharmony_ci   */
426561847f8eSopenharmony_ci  export enum HuksChallengeType {
426661847f8eSopenharmony_ci    /**
426761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
426861847f8eSopenharmony_ci     * @since 9
426961847f8eSopenharmony_ci     */
427061847f8eSopenharmony_ci    /**
427161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
427261847f8eSopenharmony_ci     * @atomicservice
427361847f8eSopenharmony_ci     * @since 12
427461847f8eSopenharmony_ci     */
427561847f8eSopenharmony_ci    HUKS_CHALLENGE_TYPE_NORMAL = 0,
427661847f8eSopenharmony_ci    /**
427761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
427861847f8eSopenharmony_ci     * @since 9
427961847f8eSopenharmony_ci     */
428061847f8eSopenharmony_ci    /**
428161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
428261847f8eSopenharmony_ci     * @atomicservice
428361847f8eSopenharmony_ci     * @since 12
428461847f8eSopenharmony_ci     */
428561847f8eSopenharmony_ci    HUKS_CHALLENGE_TYPE_CUSTOM = 1,
428661847f8eSopenharmony_ci    /**
428761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
428861847f8eSopenharmony_ci     * @since 9
428961847f8eSopenharmony_ci     */
429061847f8eSopenharmony_ci    /**
429161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
429261847f8eSopenharmony_ci     * @atomicservice
429361847f8eSopenharmony_ci     * @since 12
429461847f8eSopenharmony_ci     */
429561847f8eSopenharmony_ci    HUKS_CHALLENGE_TYPE_NONE = 2
429661847f8eSopenharmony_ci  }
429761847f8eSopenharmony_ci
429861847f8eSopenharmony_ci  /**
429961847f8eSopenharmony_ci   * Enum for huks challenge position.
430061847f8eSopenharmony_ci   *
430161847f8eSopenharmony_ci   * @enum { number }
430261847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
430361847f8eSopenharmony_ci   * @since 9
430461847f8eSopenharmony_ci   */
430561847f8eSopenharmony_ci  /**
430661847f8eSopenharmony_ci   * Enum for huks challenge position.
430761847f8eSopenharmony_ci   *
430861847f8eSopenharmony_ci   * @enum { number }
430961847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
431061847f8eSopenharmony_ci   * @atomicservice
431161847f8eSopenharmony_ci   * @since 12
431261847f8eSopenharmony_ci   */
431361847f8eSopenharmony_ci  export enum HuksChallengePosition {
431461847f8eSopenharmony_ci    /**
431561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
431661847f8eSopenharmony_ci     * @since 9
431761847f8eSopenharmony_ci     */
431861847f8eSopenharmony_ci    /**
431961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
432061847f8eSopenharmony_ci     * @atomicservice
432161847f8eSopenharmony_ci     * @since 12
432261847f8eSopenharmony_ci     */
432361847f8eSopenharmony_ci    HUKS_CHALLENGE_POS_0 = 0,
432461847f8eSopenharmony_ci    /**
432561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
432661847f8eSopenharmony_ci     * @since 9
432761847f8eSopenharmony_ci     */
432861847f8eSopenharmony_ci    /**
432961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
433061847f8eSopenharmony_ci     * @atomicservice
433161847f8eSopenharmony_ci     * @since 12
433261847f8eSopenharmony_ci     */
433361847f8eSopenharmony_ci    HUKS_CHALLENGE_POS_1,
433461847f8eSopenharmony_ci    /**
433561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
433661847f8eSopenharmony_ci     * @since 9
433761847f8eSopenharmony_ci     */
433861847f8eSopenharmony_ci    /**
433961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
434061847f8eSopenharmony_ci     * @atomicservice
434161847f8eSopenharmony_ci     * @since 12
434261847f8eSopenharmony_ci     */
434361847f8eSopenharmony_ci    HUKS_CHALLENGE_POS_2,
434461847f8eSopenharmony_ci    /**
434561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
434661847f8eSopenharmony_ci     * @since 9
434761847f8eSopenharmony_ci     */
434861847f8eSopenharmony_ci    /**
434961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
435061847f8eSopenharmony_ci     * @atomicservice
435161847f8eSopenharmony_ci     * @since 12
435261847f8eSopenharmony_ci     */
435361847f8eSopenharmony_ci    HUKS_CHALLENGE_POS_3
435461847f8eSopenharmony_ci  }
435561847f8eSopenharmony_ci
435661847f8eSopenharmony_ci  /**
435761847f8eSopenharmony_ci   * Enum for huks secure sign type.
435861847f8eSopenharmony_ci   *
435961847f8eSopenharmony_ci   * @enum { number }
436061847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
436161847f8eSopenharmony_ci   * @since 9
436261847f8eSopenharmony_ci   */
436361847f8eSopenharmony_ci  /**
436461847f8eSopenharmony_ci   * Enum for huks secure sign type.
436561847f8eSopenharmony_ci   *
436661847f8eSopenharmony_ci   * @enum { number }
436761847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
436861847f8eSopenharmony_ci   * @atomicservice
436961847f8eSopenharmony_ci   * @since 12
437061847f8eSopenharmony_ci   */
437161847f8eSopenharmony_ci  export enum HuksSecureSignType {
437261847f8eSopenharmony_ci    /**
437361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
437461847f8eSopenharmony_ci     * @since 9
437561847f8eSopenharmony_ci     */
437661847f8eSopenharmony_ci    /**
437761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
437861847f8eSopenharmony_ci     * @atomicservice
437961847f8eSopenharmony_ci     * @since 12
438061847f8eSopenharmony_ci     */
438161847f8eSopenharmony_ci    HUKS_SECURE_SIGN_WITH_AUTHINFO = 1
438261847f8eSopenharmony_ci  }
438361847f8eSopenharmony_ci
438461847f8eSopenharmony_ci  /**
438561847f8eSopenharmony_ci   * Enum for huks ipc send type.
438661847f8eSopenharmony_ci   *
438761847f8eSopenharmony_ci   * @enum { number }
438861847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Extension
438961847f8eSopenharmony_ci   * @since 8
439061847f8eSopenharmony_ci   */
439161847f8eSopenharmony_ci  /**
439261847f8eSopenharmony_ci   * Enum for huks ipc send type.
439361847f8eSopenharmony_ci   *
439461847f8eSopenharmony_ci   * @enum { number }
439561847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
439661847f8eSopenharmony_ci   * @atomicservice
439761847f8eSopenharmony_ci   * @since 12
439861847f8eSopenharmony_ci   */
439961847f8eSopenharmony_ci  export enum HuksSendType {
440061847f8eSopenharmony_ci    /**
440161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
440261847f8eSopenharmony_ci     * @since 8
440361847f8eSopenharmony_ci     */
440461847f8eSopenharmony_ci    /**
440561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
440661847f8eSopenharmony_ci     * @atomicservice
440761847f8eSopenharmony_ci     * @since 12
440861847f8eSopenharmony_ci     */
440961847f8eSopenharmony_ci    HUKS_SEND_TYPE_ASYNC = 0,
441061847f8eSopenharmony_ci    /**
441161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
441261847f8eSopenharmony_ci     * @since 8
441361847f8eSopenharmony_ci     */
441461847f8eSopenharmony_ci    /**
441561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
441661847f8eSopenharmony_ci     * @atomicservice
441761847f8eSopenharmony_ci     * @since 12
441861847f8eSopenharmony_ci     */
441961847f8eSopenharmony_ci    HUKS_SEND_TYPE_SYNC = 1
442061847f8eSopenharmony_ci  }
442161847f8eSopenharmony_ci
442261847f8eSopenharmony_ci  /**
442361847f8eSopenharmony_ci   * Enum for huks base tag type.
442461847f8eSopenharmony_ci   *
442561847f8eSopenharmony_ci   * @enum { number }
442661847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
442761847f8eSopenharmony_ci   * @since 8
442861847f8eSopenharmony_ci   */
442961847f8eSopenharmony_ci  /**
443061847f8eSopenharmony_ci   * Enum for huks base tag type.
443161847f8eSopenharmony_ci   *
443261847f8eSopenharmony_ci   * @enum { number }
443361847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
443461847f8eSopenharmony_ci   * @atomicservice
443561847f8eSopenharmony_ci   * @since 11
443661847f8eSopenharmony_ci   */
443761847f8eSopenharmony_ci  export enum HuksTagType {
443861847f8eSopenharmony_ci    /**
443961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
444061847f8eSopenharmony_ci     * @since 8
444161847f8eSopenharmony_ci     */
444261847f8eSopenharmony_ci    /**
444361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
444461847f8eSopenharmony_ci     * @atomicservice
444561847f8eSopenharmony_ci     * @since 11
444661847f8eSopenharmony_ci     */
444761847f8eSopenharmony_ci    HUKS_TAG_TYPE_INVALID = 0 << 28,
444861847f8eSopenharmony_ci    /**
444961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
445061847f8eSopenharmony_ci     * @since 8
445161847f8eSopenharmony_ci     */
445261847f8eSopenharmony_ci    /**
445361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
445461847f8eSopenharmony_ci     * @atomicservice
445561847f8eSopenharmony_ci     * @since 11
445661847f8eSopenharmony_ci     */
445761847f8eSopenharmony_ci    HUKS_TAG_TYPE_INT = 1 << 28,
445861847f8eSopenharmony_ci    /**
445961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
446061847f8eSopenharmony_ci     * @since 8
446161847f8eSopenharmony_ci     */
446261847f8eSopenharmony_ci    /**
446361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
446461847f8eSopenharmony_ci     * @atomicservice
446561847f8eSopenharmony_ci     * @since 11
446661847f8eSopenharmony_ci     */
446761847f8eSopenharmony_ci    HUKS_TAG_TYPE_UINT = 2 << 28,
446861847f8eSopenharmony_ci    /**
446961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
447061847f8eSopenharmony_ci     * @since 8
447161847f8eSopenharmony_ci     */
447261847f8eSopenharmony_ci    /**
447361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
447461847f8eSopenharmony_ci     * @atomicservice
447561847f8eSopenharmony_ci     * @since 11
447661847f8eSopenharmony_ci     */
447761847f8eSopenharmony_ci    HUKS_TAG_TYPE_ULONG = 3 << 28,
447861847f8eSopenharmony_ci    /**
447961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
448061847f8eSopenharmony_ci     * @since 8
448161847f8eSopenharmony_ci     */
448261847f8eSopenharmony_ci    /**
448361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
448461847f8eSopenharmony_ci     * @atomicservice
448561847f8eSopenharmony_ci     * @since 11
448661847f8eSopenharmony_ci     */
448761847f8eSopenharmony_ci    HUKS_TAG_TYPE_BOOL = 4 << 28,
448861847f8eSopenharmony_ci    /**
448961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
449061847f8eSopenharmony_ci     * @since 8
449161847f8eSopenharmony_ci     */
449261847f8eSopenharmony_ci    /**
449361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
449461847f8eSopenharmony_ci     * @atomicservice
449561847f8eSopenharmony_ci     * @since 11
449661847f8eSopenharmony_ci     */
449761847f8eSopenharmony_ci    HUKS_TAG_TYPE_BYTES = 5 << 28
449861847f8eSopenharmony_ci  }
449961847f8eSopenharmony_ci
450061847f8eSopenharmony_ci  /**
450161847f8eSopenharmony_ci   * Enum for huks tag.
450261847f8eSopenharmony_ci   *
450361847f8eSopenharmony_ci   * @enum { number }
450461847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
450561847f8eSopenharmony_ci   * @since 8
450661847f8eSopenharmony_ci   */
450761847f8eSopenharmony_ci  /**
450861847f8eSopenharmony_ci   * Enum for huks tag.
450961847f8eSopenharmony_ci   *
451061847f8eSopenharmony_ci   * @enum { number }
451161847f8eSopenharmony_ci   * @syscap SystemCapability.Security.Huks.Core
451261847f8eSopenharmony_ci   * @atomicservice
451361847f8eSopenharmony_ci   * @since 11
451461847f8eSopenharmony_ci   */
451561847f8eSopenharmony_ci  export enum HuksTag {
451661847f8eSopenharmony_ci    /**
451761847f8eSopenharmony_ci     * Invalid TAG
451861847f8eSopenharmony_ci     *
451961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
452061847f8eSopenharmony_ci     * @since 8
452161847f8eSopenharmony_ci     * @deprecated since 9
452261847f8eSopenharmony_ci     */
452361847f8eSopenharmony_ci    HUKS_TAG_INVALID = HuksTagType.HUKS_TAG_TYPE_INVALID | 0,
452461847f8eSopenharmony_ci
452561847f8eSopenharmony_ci    /* Base algorithm TAG: 1 - 200 */
452661847f8eSopenharmony_ci    /**
452761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
452861847f8eSopenharmony_ci     * @since 8
452961847f8eSopenharmony_ci     */
453061847f8eSopenharmony_ci    /**
453161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
453261847f8eSopenharmony_ci     * @atomicservice
453361847f8eSopenharmony_ci     * @since 11
453461847f8eSopenharmony_ci     */
453561847f8eSopenharmony_ci    HUKS_TAG_ALGORITHM = HuksTagType.HUKS_TAG_TYPE_UINT | 1,
453661847f8eSopenharmony_ci    /**
453761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
453861847f8eSopenharmony_ci     * @since 8
453961847f8eSopenharmony_ci     */
454061847f8eSopenharmony_ci    /**
454161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
454261847f8eSopenharmony_ci     * @atomicservice
454361847f8eSopenharmony_ci     * @since 11
454461847f8eSopenharmony_ci     */
454561847f8eSopenharmony_ci    HUKS_TAG_PURPOSE = HuksTagType.HUKS_TAG_TYPE_UINT | 2,
454661847f8eSopenharmony_ci    /**
454761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
454861847f8eSopenharmony_ci     * @since 8
454961847f8eSopenharmony_ci     */
455061847f8eSopenharmony_ci    /**
455161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
455261847f8eSopenharmony_ci     * @atomicservice
455361847f8eSopenharmony_ci     * @since 11
455461847f8eSopenharmony_ci     */
455561847f8eSopenharmony_ci    HUKS_TAG_KEY_SIZE = HuksTagType.HUKS_TAG_TYPE_UINT | 3,
455661847f8eSopenharmony_ci
455761847f8eSopenharmony_ci    /**
455861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
455961847f8eSopenharmony_ci     * @since 8
456061847f8eSopenharmony_ci     */
456161847f8eSopenharmony_ci    /**
456261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
456361847f8eSopenharmony_ci     * @atomicservice
456461847f8eSopenharmony_ci     * @since 12
456561847f8eSopenharmony_ci     */
456661847f8eSopenharmony_ci    HUKS_TAG_DIGEST = HuksTagType.HUKS_TAG_TYPE_UINT | 4,
456761847f8eSopenharmony_ci    /**
456861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
456961847f8eSopenharmony_ci     * @since 8
457061847f8eSopenharmony_ci     */
457161847f8eSopenharmony_ci    /**
457261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
457361847f8eSopenharmony_ci     * @atomicservice
457461847f8eSopenharmony_ci     * @since 11
457561847f8eSopenharmony_ci     */
457661847f8eSopenharmony_ci    HUKS_TAG_PADDING = HuksTagType.HUKS_TAG_TYPE_UINT | 5,
457761847f8eSopenharmony_ci    /**
457861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
457961847f8eSopenharmony_ci     * @since 8
458061847f8eSopenharmony_ci     */
458161847f8eSopenharmony_ci    /**
458261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
458361847f8eSopenharmony_ci     * @atomicservice
458461847f8eSopenharmony_ci     * @since 11
458561847f8eSopenharmony_ci     */
458661847f8eSopenharmony_ci    HUKS_TAG_BLOCK_MODE = HuksTagType.HUKS_TAG_TYPE_UINT | 6,
458761847f8eSopenharmony_ci    /**
458861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
458961847f8eSopenharmony_ci     * @since 8
459061847f8eSopenharmony_ci     */
459161847f8eSopenharmony_ci    /**
459261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
459361847f8eSopenharmony_ci     * @atomicservice
459461847f8eSopenharmony_ci     * @since 12
459561847f8eSopenharmony_ci     */
459661847f8eSopenharmony_ci    HUKS_TAG_KEY_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 7,
459761847f8eSopenharmony_ci    /**
459861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
459961847f8eSopenharmony_ci     * @since 8
460061847f8eSopenharmony_ci     */
460161847f8eSopenharmony_ci    /**
460261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
460361847f8eSopenharmony_ci     * @atomicservice
460461847f8eSopenharmony_ci     * @since 11
460561847f8eSopenharmony_ci     */
460661847f8eSopenharmony_ci    HUKS_TAG_ASSOCIATED_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 8,
460761847f8eSopenharmony_ci
460861847f8eSopenharmony_ci    /**
460961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
461061847f8eSopenharmony_ci     * @since 8
461161847f8eSopenharmony_ci     */
461261847f8eSopenharmony_ci    /**
461361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
461461847f8eSopenharmony_ci     * @atomicservice
461561847f8eSopenharmony_ci     * @since 11
461661847f8eSopenharmony_ci     */
461761847f8eSopenharmony_ci    HUKS_TAG_NONCE = HuksTagType.HUKS_TAG_TYPE_BYTES | 9,
461861847f8eSopenharmony_ci    /**
461961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
462061847f8eSopenharmony_ci     * @since 8
462161847f8eSopenharmony_ci     */
462261847f8eSopenharmony_ci    /**
462361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
462461847f8eSopenharmony_ci     * @atomicservice
462561847f8eSopenharmony_ci     * @since 12
462661847f8eSopenharmony_ci     */
462761847f8eSopenharmony_ci    HUKS_TAG_IV = HuksTagType.HUKS_TAG_TYPE_BYTES | 10,
462861847f8eSopenharmony_ci
462961847f8eSopenharmony_ci    /**
463061847f8eSopenharmony_ci     * Key derivation TAG.
463161847f8eSopenharmony_ci     *
463261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
463361847f8eSopenharmony_ci     * @since 8
463461847f8eSopenharmony_ci     */
463561847f8eSopenharmony_ci    /**
463661847f8eSopenharmony_ci     * Key derivation TAG.
463761847f8eSopenharmony_ci     *
463861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
463961847f8eSopenharmony_ci     * @atomicservice
464061847f8eSopenharmony_ci     * @since 12
464161847f8eSopenharmony_ci     */
464261847f8eSopenharmony_ci    HUKS_TAG_INFO = HuksTagType.HUKS_TAG_TYPE_BYTES | 11,
464361847f8eSopenharmony_ci    /**
464461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
464561847f8eSopenharmony_ci     * @since 8
464661847f8eSopenharmony_ci     */
464761847f8eSopenharmony_ci    /**
464861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
464961847f8eSopenharmony_ci     * @atomicservice
465061847f8eSopenharmony_ci     * @since 12
465161847f8eSopenharmony_ci     */
465261847f8eSopenharmony_ci    HUKS_TAG_SALT = HuksTagType.HUKS_TAG_TYPE_BYTES | 12,
465361847f8eSopenharmony_ci    /**
465461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
465561847f8eSopenharmony_ci     * @since 8
465661847f8eSopenharmony_ci     * @deprecated since 9
465761847f8eSopenharmony_ci     */
465861847f8eSopenharmony_ci    HUKS_TAG_PWD = HuksTagType.HUKS_TAG_TYPE_BYTES | 13,
465961847f8eSopenharmony_ci    /**
466061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
466161847f8eSopenharmony_ci     * @since 8
466261847f8eSopenharmony_ci     */
466361847f8eSopenharmony_ci    /**
466461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
466561847f8eSopenharmony_ci     * @atomicservice
466661847f8eSopenharmony_ci     * @since 12
466761847f8eSopenharmony_ci     */
466861847f8eSopenharmony_ci    HUKS_TAG_ITERATION = HuksTagType.HUKS_TAG_TYPE_UINT | 14,
466961847f8eSopenharmony_ci
467061847f8eSopenharmony_ci    /**
467161847f8eSopenharmony_ci     * choose from enum HuksKeyGenerateType.
467261847f8eSopenharmony_ci     *
467361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
467461847f8eSopenharmony_ci     * @since 8
467561847f8eSopenharmony_ci     */
467661847f8eSopenharmony_ci    /**
467761847f8eSopenharmony_ci     * choose from enum HuksKeyGenerateType.
467861847f8eSopenharmony_ci     *
467961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
468061847f8eSopenharmony_ci     * @atomicservice
468161847f8eSopenharmony_ci     * @since 12
468261847f8eSopenharmony_ci     */
468361847f8eSopenharmony_ci    HUKS_TAG_KEY_GENERATE_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 15,
468461847f8eSopenharmony_ci
468561847f8eSopenharmony_ci    /**
468661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
468761847f8eSopenharmony_ci     * @since 8
468861847f8eSopenharmony_ci     * @deprecated since 9
468961847f8eSopenharmony_ci     */
469061847f8eSopenharmony_ci    HUKS_TAG_DERIVE_MAIN_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES | 16,
469161847f8eSopenharmony_ci    /**
469261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
469361847f8eSopenharmony_ci     * @since 8
469461847f8eSopenharmony_ci     * @deprecated since 9
469561847f8eSopenharmony_ci     */
469661847f8eSopenharmony_ci    HUKS_TAG_DERIVE_FACTOR = HuksTagType.HUKS_TAG_TYPE_BYTES | 17,
469761847f8eSopenharmony_ci    /**
469861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
469961847f8eSopenharmony_ci     * @since 8
470061847f8eSopenharmony_ci     * @deprecated since 9
470161847f8eSopenharmony_ci     */
470261847f8eSopenharmony_ci    HUKS_TAG_DERIVE_ALG = HuksTagType.HUKS_TAG_TYPE_UINT | 18,
470361847f8eSopenharmony_ci    /**
470461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
470561847f8eSopenharmony_ci     * @since 8
470661847f8eSopenharmony_ci     */
470761847f8eSopenharmony_ci    /**
470861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
470961847f8eSopenharmony_ci     * @atomicservice
471061847f8eSopenharmony_ci     * @since 12
471161847f8eSopenharmony_ci     */
471261847f8eSopenharmony_ci    HUKS_TAG_AGREE_ALG = HuksTagType.HUKS_TAG_TYPE_UINT | 19,
471361847f8eSopenharmony_ci    /**
471461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
471561847f8eSopenharmony_ci     * @since 8
471661847f8eSopenharmony_ci     */
471761847f8eSopenharmony_ci    /**
471861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
471961847f8eSopenharmony_ci     * @atomicservice
472061847f8eSopenharmony_ci     * @since 12
472161847f8eSopenharmony_ci     */
472261847f8eSopenharmony_ci    HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL | 20,
472361847f8eSopenharmony_ci    /**
472461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
472561847f8eSopenharmony_ci     * @since 8
472661847f8eSopenharmony_ci     */
472761847f8eSopenharmony_ci    /**
472861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
472961847f8eSopenharmony_ci     * @atomicservice
473061847f8eSopenharmony_ci     * @since 12
473161847f8eSopenharmony_ci     */
473261847f8eSopenharmony_ci    HUKS_TAG_AGREE_PRIVATE_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES | 21,
473361847f8eSopenharmony_ci    /**
473461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
473561847f8eSopenharmony_ci     * @since 8
473661847f8eSopenharmony_ci     */
473761847f8eSopenharmony_ci    /**
473861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
473961847f8eSopenharmony_ci     * @atomicservice
474061847f8eSopenharmony_ci     * @since 12
474161847f8eSopenharmony_ci     */
474261847f8eSopenharmony_ci    HUKS_TAG_AGREE_PUBLIC_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES | 22,
474361847f8eSopenharmony_ci    /**
474461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
474561847f8eSopenharmony_ci     * @since 8
474661847f8eSopenharmony_ci     */
474761847f8eSopenharmony_ci    /**
474861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
474961847f8eSopenharmony_ci     * @atomicservice
475061847f8eSopenharmony_ci     * @since 11
475161847f8eSopenharmony_ci     */
475261847f8eSopenharmony_ci    HUKS_TAG_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES | 23,
475361847f8eSopenharmony_ci    /**
475461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
475561847f8eSopenharmony_ci     * @since 8
475661847f8eSopenharmony_ci     */
475761847f8eSopenharmony_ci    /**
475861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
475961847f8eSopenharmony_ci     * @atomicservice
476061847f8eSopenharmony_ci     * @since 12
476161847f8eSopenharmony_ci     */
476261847f8eSopenharmony_ci    HUKS_TAG_DERIVE_KEY_SIZE = HuksTagType.HUKS_TAG_TYPE_UINT | 24,
476361847f8eSopenharmony_ci
476461847f8eSopenharmony_ci    /**
476561847f8eSopenharmony_ci     * Choose from enum HuksImportKeyType
476661847f8eSopenharmony_ci     *
476761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
476861847f8eSopenharmony_ci     * @since 9
476961847f8eSopenharmony_ci     */
477061847f8eSopenharmony_ci    /**
477161847f8eSopenharmony_ci     * Choose from enum HuksImportKeyType
477261847f8eSopenharmony_ci     *
477361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
477461847f8eSopenharmony_ci     * @atomicservice
477561847f8eSopenharmony_ci     * @since 12
477661847f8eSopenharmony_ci     */
477761847f8eSopenharmony_ci    HUKS_TAG_IMPORT_KEY_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 25,
477861847f8eSopenharmony_ci
477961847f8eSopenharmony_ci    /**
478061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
478161847f8eSopenharmony_ci     * @since 9
478261847f8eSopenharmony_ci     */
478361847f8eSopenharmony_ci    /**
478461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
478561847f8eSopenharmony_ci     * @atomicservice
478661847f8eSopenharmony_ci     * @since 12
478761847f8eSopenharmony_ci     */
478861847f8eSopenharmony_ci    HUKS_TAG_UNWRAP_ALGORITHM_SUITE = HuksTagType.HUKS_TAG_TYPE_UINT | 26,
478961847f8eSopenharmony_ci
479061847f8eSopenharmony_ci    /**
479161847f8eSopenharmony_ci     * Key storage type, which can be HUKS_STORAGE_ONLY_USED_IN_HUKS or HUKS_STORAGE_KEY_EXPORT_ALLOWED.
479261847f8eSopenharmony_ci     *
479361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
479461847f8eSopenharmony_ci     * @since 10
479561847f8eSopenharmony_ci     */
479661847f8eSopenharmony_ci    /**
479761847f8eSopenharmony_ci     * Key storage type, which can be HUKS_STORAGE_ONLY_USED_IN_HUKS or HUKS_STORAGE_KEY_EXPORT_ALLOWED.
479861847f8eSopenharmony_ci     *
479961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
480061847f8eSopenharmony_ci     * @atomicservice
480161847f8eSopenharmony_ci     * @since 12
480261847f8eSopenharmony_ci     */
480361847f8eSopenharmony_ci    HUKS_TAG_DERIVED_AGREED_KEY_STORAGE_FLAG = HuksTagType.HUKS_TAG_TYPE_UINT | 29,
480461847f8eSopenharmony_ci
480561847f8eSopenharmony_ci    /**
480661847f8eSopenharmony_ci     * RSA salt length type. For details, see HuksRsaPssSaltLenType.
480761847f8eSopenharmony_ci     *
480861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
480961847f8eSopenharmony_ci     * @since 10
481061847f8eSopenharmony_ci     */
481161847f8eSopenharmony_ci    /**
481261847f8eSopenharmony_ci     * RSA salt length type. For details, see HuksRsaPssSaltLenType.
481361847f8eSopenharmony_ci     *
481461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
481561847f8eSopenharmony_ci     * @atomicservice
481661847f8eSopenharmony_ci     * @since 12
481761847f8eSopenharmony_ci     */
481861847f8eSopenharmony_ci    HUKS_TAG_RSA_PSS_SALT_LEN_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 30,
481961847f8eSopenharmony_ci
482061847f8eSopenharmony_ci    /*
482161847f8eSopenharmony_ci     * Key authentication related TAG: 201 - 300
482261847f8eSopenharmony_ci     *
482361847f8eSopenharmony_ci     * Start of validity
482461847f8eSopenharmony_ci     */
482561847f8eSopenharmony_ci    /**
482661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
482761847f8eSopenharmony_ci     * @since 8
482861847f8eSopenharmony_ci     * @deprecated since 9
482961847f8eSopenharmony_ci     */
483061847f8eSopenharmony_ci    HUKS_TAG_ACTIVE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 201,
483161847f8eSopenharmony_ci    /**
483261847f8eSopenharmony_ci     * Date when new "messages" should not be created.
483361847f8eSopenharmony_ci     *
483461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
483561847f8eSopenharmony_ci     * @since 8
483661847f8eSopenharmony_ci     * @deprecated since 9
483761847f8eSopenharmony_ci     */
483861847f8eSopenharmony_ci    HUKS_TAG_ORIGINATION_EXPIRE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 202,
483961847f8eSopenharmony_ci    /**
484061847f8eSopenharmony_ci     * Date when existing "messages" should not be used.
484161847f8eSopenharmony_ci     *
484261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
484361847f8eSopenharmony_ci     * @since 8
484461847f8eSopenharmony_ci     * @deprecated since 9
484561847f8eSopenharmony_ci     */
484661847f8eSopenharmony_ci    HUKS_TAG_USAGE_EXPIRE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 203,
484761847f8eSopenharmony_ci    /**
484861847f8eSopenharmony_ci     * Key creation time.
484961847f8eSopenharmony_ci     *
485061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
485161847f8eSopenharmony_ci     * @since 8
485261847f8eSopenharmony_ci     * @deprecated since 9
485361847f8eSopenharmony_ci     */
485461847f8eSopenharmony_ci    HUKS_TAG_CREATION_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 204,
485561847f8eSopenharmony_ci
485661847f8eSopenharmony_ci    /* Other authentication related TAG: 301 - 500 */
485761847f8eSopenharmony_ci    /**
485861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
485961847f8eSopenharmony_ci     * @since 8
486061847f8eSopenharmony_ci     */
486161847f8eSopenharmony_ci    /**
486261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
486361847f8eSopenharmony_ci     * @atomicservice
486461847f8eSopenharmony_ci     * @since 12
486561847f8eSopenharmony_ci     */
486661847f8eSopenharmony_ci    HUKS_TAG_ALL_USERS = HuksTagType.HUKS_TAG_TYPE_BOOL | 301,
486761847f8eSopenharmony_ci    /**
486861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
486961847f8eSopenharmony_ci     * @since 8
487061847f8eSopenharmony_ci     */
487161847f8eSopenharmony_ci    /**
487261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
487361847f8eSopenharmony_ci     * @atomicservice
487461847f8eSopenharmony_ci     * @since 12
487561847f8eSopenharmony_ci     */
487661847f8eSopenharmony_ci    HUKS_TAG_USER_ID = HuksTagType.HUKS_TAG_TYPE_UINT | 302,
487761847f8eSopenharmony_ci    /**
487861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
487961847f8eSopenharmony_ci     * @since 8
488061847f8eSopenharmony_ci     */
488161847f8eSopenharmony_ci    /**
488261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
488361847f8eSopenharmony_ci     * @atomicservice
488461847f8eSopenharmony_ci     * @since 12
488561847f8eSopenharmony_ci     */
488661847f8eSopenharmony_ci    HUKS_TAG_NO_AUTH_REQUIRED = HuksTagType.HUKS_TAG_TYPE_BOOL | 303,
488761847f8eSopenharmony_ci    /**
488861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
488961847f8eSopenharmony_ci     * @since 8
489061847f8eSopenharmony_ci     */
489161847f8eSopenharmony_ci    /**
489261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
489361847f8eSopenharmony_ci     * @atomicservice
489461847f8eSopenharmony_ci     * @since 12
489561847f8eSopenharmony_ci     */
489661847f8eSopenharmony_ci    HUKS_TAG_USER_AUTH_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 304,
489761847f8eSopenharmony_ci    /**
489861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
489961847f8eSopenharmony_ci     * @since 8
490061847f8eSopenharmony_ci     */
490161847f8eSopenharmony_ci    /**
490261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
490361847f8eSopenharmony_ci     * @atomicservice
490461847f8eSopenharmony_ci     * @since 12
490561847f8eSopenharmony_ci     */
490661847f8eSopenharmony_ci    HUKS_TAG_AUTH_TIMEOUT = HuksTagType.HUKS_TAG_TYPE_UINT | 305,
490761847f8eSopenharmony_ci    /**
490861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
490961847f8eSopenharmony_ci     * @since 8
491061847f8eSopenharmony_ci     */
491161847f8eSopenharmony_ci    /**
491261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
491361847f8eSopenharmony_ci     * @atomicservice
491461847f8eSopenharmony_ci     * @since 12
491561847f8eSopenharmony_ci     */
491661847f8eSopenharmony_ci    HUKS_TAG_AUTH_TOKEN = HuksTagType.HUKS_TAG_TYPE_BYTES | 306,
491761847f8eSopenharmony_ci
491861847f8eSopenharmony_ci    /* Key secure access control and user auth TAG */
491961847f8eSopenharmony_ci    /**
492061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
492161847f8eSopenharmony_ci     * @since 9
492261847f8eSopenharmony_ci     */
492361847f8eSopenharmony_ci    /**
492461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
492561847f8eSopenharmony_ci     * @atomicservice
492661847f8eSopenharmony_ci     * @since 12
492761847f8eSopenharmony_ci     */
492861847f8eSopenharmony_ci    HUKS_TAG_KEY_AUTH_ACCESS_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 307,
492961847f8eSopenharmony_ci
493061847f8eSopenharmony_ci    /**
493161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
493261847f8eSopenharmony_ci     * @since 9
493361847f8eSopenharmony_ci     */
493461847f8eSopenharmony_ci    /**
493561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
493661847f8eSopenharmony_ci     * @atomicservice
493761847f8eSopenharmony_ci     * @since 12
493861847f8eSopenharmony_ci     */
493961847f8eSopenharmony_ci    HUKS_TAG_KEY_SECURE_SIGN_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 308,
494061847f8eSopenharmony_ci
494161847f8eSopenharmony_ci    /**
494261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
494361847f8eSopenharmony_ci     * @since 9
494461847f8eSopenharmony_ci     */
494561847f8eSopenharmony_ci    /**
494661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
494761847f8eSopenharmony_ci     * @atomicservice
494861847f8eSopenharmony_ci     * @since 12
494961847f8eSopenharmony_ci     */
495061847f8eSopenharmony_ci    HUKS_TAG_CHALLENGE_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 309,
495161847f8eSopenharmony_ci
495261847f8eSopenharmony_ci    /**
495361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
495461847f8eSopenharmony_ci     * @since 9
495561847f8eSopenharmony_ci     */
495661847f8eSopenharmony_ci    /**
495761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
495861847f8eSopenharmony_ci     * @atomicservice
495961847f8eSopenharmony_ci     * @since 12
496061847f8eSopenharmony_ci     */
496161847f8eSopenharmony_ci    HUKS_TAG_CHALLENGE_POS = HuksTagType.HUKS_TAG_TYPE_UINT | 310,
496261847f8eSopenharmony_ci
496361847f8eSopenharmony_ci    /**
496461847f8eSopenharmony_ci     * Supported key secure access control purpose tag, the value from enum HuksKeyPurpose.
496561847f8eSopenharmony_ci     *
496661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
496761847f8eSopenharmony_ci     * @since 10
496861847f8eSopenharmony_ci     */
496961847f8eSopenharmony_ci    /**
497061847f8eSopenharmony_ci     * Supported key secure access control purpose tag, the value from enum HuksKeyPurpose.
497161847f8eSopenharmony_ci     *
497261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
497361847f8eSopenharmony_ci     * @atomicservice
497461847f8eSopenharmony_ci     * @since 12
497561847f8eSopenharmony_ci     */
497661847f8eSopenharmony_ci    HUKS_TAG_KEY_AUTH_PURPOSE = HuksTagType.HUKS_TAG_TYPE_UINT | 311,
497761847f8eSopenharmony_ci
497861847f8eSopenharmony_ci    /**
497961847f8eSopenharmony_ci     * Security level of access control for key file storage, whose optional values are from enum HuksAuthStorageLevel.
498061847f8eSopenharmony_ci     *
498161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
498261847f8eSopenharmony_ci     * @since 11
498361847f8eSopenharmony_ci     */
498461847f8eSopenharmony_ci    /**
498561847f8eSopenharmony_ci     * Security level of access control for key file storage, whose optional values are from enum HuksAuthStorageLevel.
498661847f8eSopenharmony_ci     *
498761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
498861847f8eSopenharmony_ci     * @atomicservice
498961847f8eSopenharmony_ci     * @since 12
499061847f8eSopenharmony_ci     */
499161847f8eSopenharmony_ci    HUKS_TAG_AUTH_STORAGE_LEVEL = HuksTagType.HUKS_TAG_TYPE_UINT | 316,
499261847f8eSopenharmony_ci
499361847f8eSopenharmony_ci    /**
499461847f8eSopenharmony_ci     * Authentication mode of the user authtoken, whose optional values are from enum HuksUserAuthMode.
499561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
499661847f8eSopenharmony_ci     * @atomicservice
499761847f8eSopenharmony_ci     * @since 12
499861847f8eSopenharmony_ci     */
499961847f8eSopenharmony_ci    HUKS_TAG_USER_AUTH_MODE = HuksTagType.HUKS_TAG_TYPE_UINT | 319,
500061847f8eSopenharmony_ci
500161847f8eSopenharmony_ci    /* Attestation related TAG: 501 - 600 */
500261847f8eSopenharmony_ci    /**
500361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
500461847f8eSopenharmony_ci     * @since 8
500561847f8eSopenharmony_ci     */
500661847f8eSopenharmony_ci    /**
500761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
500861847f8eSopenharmony_ci     * @atomicservice
500961847f8eSopenharmony_ci     * @since 12
501061847f8eSopenharmony_ci     */
501161847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_CHALLENGE = HuksTagType.HUKS_TAG_TYPE_BYTES | 501,
501261847f8eSopenharmony_ci    /**
501361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
501461847f8eSopenharmony_ci     * @since 8
501561847f8eSopenharmony_ci     */
501661847f8eSopenharmony_ci    /**
501761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
501861847f8eSopenharmony_ci     * @atomicservice
501961847f8eSopenharmony_ci     * @since 12
502061847f8eSopenharmony_ci     */
502161847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_APPLICATION_ID = HuksTagType.HUKS_TAG_TYPE_BYTES | 502,
502261847f8eSopenharmony_ci    /**
502361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
502461847f8eSopenharmony_ci     * @since 8
502561847f8eSopenharmony_ci     * @deprecated since 9
502661847f8eSopenharmony_ci     */
502761847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_BRAND = HuksTagType.HUKS_TAG_TYPE_BYTES | 503,
502861847f8eSopenharmony_ci    /**
502961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
503061847f8eSopenharmony_ci     * @since 8
503161847f8eSopenharmony_ci     * @deprecated since 9
503261847f8eSopenharmony_ci     */
503361847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_DEVICE = HuksTagType.HUKS_TAG_TYPE_BYTES | 504,
503461847f8eSopenharmony_ci    /**
503561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
503661847f8eSopenharmony_ci     * @since 8
503761847f8eSopenharmony_ci     * @deprecated since 9
503861847f8eSopenharmony_ci     */
503961847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_PRODUCT = HuksTagType.HUKS_TAG_TYPE_BYTES | 505,
504061847f8eSopenharmony_ci    /**
504161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
504261847f8eSopenharmony_ci     * @since 8
504361847f8eSopenharmony_ci     * @deprecated since 9
504461847f8eSopenharmony_ci     */
504561847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_SERIAL = HuksTagType.HUKS_TAG_TYPE_BYTES | 506,
504661847f8eSopenharmony_ci    /**
504761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
504861847f8eSopenharmony_ci     * @since 8
504961847f8eSopenharmony_ci     * @deprecated since 9
505061847f8eSopenharmony_ci     */
505161847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_IMEI = HuksTagType.HUKS_TAG_TYPE_BYTES | 507,
505261847f8eSopenharmony_ci    /**
505361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
505461847f8eSopenharmony_ci     * @since 8
505561847f8eSopenharmony_ci     * @deprecated since 9
505661847f8eSopenharmony_ci     */
505761847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_MEID = HuksTagType.HUKS_TAG_TYPE_BYTES | 508,
505861847f8eSopenharmony_ci    /**
505961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
506061847f8eSopenharmony_ci     * @since 8
506161847f8eSopenharmony_ci     * @deprecated since 9
506261847f8eSopenharmony_ci     */
506361847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_MANUFACTURER = HuksTagType.HUKS_TAG_TYPE_BYTES | 509,
506461847f8eSopenharmony_ci    /**
506561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
506661847f8eSopenharmony_ci     * @since 8
506761847f8eSopenharmony_ci     * @deprecated since 9
506861847f8eSopenharmony_ci     */
506961847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_MODEL = HuksTagType.HUKS_TAG_TYPE_BYTES | 510,
507061847f8eSopenharmony_ci    /**
507161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
507261847f8eSopenharmony_ci     * @since 8
507361847f8eSopenharmony_ci     */
507461847f8eSopenharmony_ci    /**
507561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
507661847f8eSopenharmony_ci     * @atomicservice
507761847f8eSopenharmony_ci     * @since 12
507861847f8eSopenharmony_ci     */
507961847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES | 511,
508061847f8eSopenharmony_ci    /**
508161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
508261847f8eSopenharmony_ci     * @since 8
508361847f8eSopenharmony_ci     * @deprecated since 9
508461847f8eSopenharmony_ci     */
508561847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_SOCID = HuksTagType.HUKS_TAG_TYPE_BYTES | 512,
508661847f8eSopenharmony_ci    /**
508761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
508861847f8eSopenharmony_ci     * @since 8
508961847f8eSopenharmony_ci     * @deprecated since 9
509061847f8eSopenharmony_ci     */
509161847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_UDID = HuksTagType.HUKS_TAG_TYPE_BYTES | 513,
509261847f8eSopenharmony_ci    /**
509361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
509461847f8eSopenharmony_ci     * @since 8
509561847f8eSopenharmony_ci     */
509661847f8eSopenharmony_ci    /**
509761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
509861847f8eSopenharmony_ci     * @atomicservice
509961847f8eSopenharmony_ci     * @since 12
510061847f8eSopenharmony_ci     */
510161847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO = HuksTagType.HUKS_TAG_TYPE_BYTES | 514,
510261847f8eSopenharmony_ci    /**
510361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
510461847f8eSopenharmony_ci     * @since 8
510561847f8eSopenharmony_ci     */
510661847f8eSopenharmony_ci    /**
510761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
510861847f8eSopenharmony_ci     * @atomicservice
510961847f8eSopenharmony_ci     * @since 12
511061847f8eSopenharmony_ci     */
511161847f8eSopenharmony_ci    HUKS_TAG_ATTESTATION_ID_VERSION_INFO = HuksTagType.HUKS_TAG_TYPE_BYTES | 515,
511261847f8eSopenharmony_ci
511361847f8eSopenharmony_ci    /*
511461847f8eSopenharmony_ci     * Other reserved TAG: 601 - 1000
511561847f8eSopenharmony_ci     *
511661847f8eSopenharmony_ci     * Extension TAG: 1001 - 9999
511761847f8eSopenharmony_ci     */
511861847f8eSopenharmony_ci
511961847f8eSopenharmony_ci    /**
512061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
512161847f8eSopenharmony_ci     * @since 8
512261847f8eSopenharmony_ci     */
512361847f8eSopenharmony_ci    /**
512461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
512561847f8eSopenharmony_ci     * @atomicservice
512661847f8eSopenharmony_ci     * @since 12
512761847f8eSopenharmony_ci     */
512861847f8eSopenharmony_ci    HUKS_TAG_IS_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL | 1001,
512961847f8eSopenharmony_ci    /**
513061847f8eSopenharmony_ci     * choose from enum HuksKeyStorageType.
513161847f8eSopenharmony_ci     *
513261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
513361847f8eSopenharmony_ci     * @since 8
513461847f8eSopenharmony_ci     */
513561847f8eSopenharmony_ci    /**
513661847f8eSopenharmony_ci     * choose from enum HuksKeyStorageType.
513761847f8eSopenharmony_ci     *
513861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
513961847f8eSopenharmony_ci     * @atomicservice
514061847f8eSopenharmony_ci     * @since 12
514161847f8eSopenharmony_ci     */
514261847f8eSopenharmony_ci    HUKS_TAG_KEY_STORAGE_FLAG = HuksTagType.HUKS_TAG_TYPE_UINT | 1002,
514361847f8eSopenharmony_ci    /**
514461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
514561847f8eSopenharmony_ci     * @since 8
514661847f8eSopenharmony_ci     */
514761847f8eSopenharmony_ci    /**
514861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
514961847f8eSopenharmony_ci     * @atomicservice
515061847f8eSopenharmony_ci     * @since 12
515161847f8eSopenharmony_ci     */
515261847f8eSopenharmony_ci    HUKS_TAG_IS_ALLOWED_WRAP = HuksTagType.HUKS_TAG_TYPE_BOOL | 1003,
515361847f8eSopenharmony_ci    /**
515461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
515561847f8eSopenharmony_ci     * @since 8
515661847f8eSopenharmony_ci     */
515761847f8eSopenharmony_ci    /**
515861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
515961847f8eSopenharmony_ci     * @atomicservice
516061847f8eSopenharmony_ci     * @since 12
516161847f8eSopenharmony_ci     */
516261847f8eSopenharmony_ci    HUKS_TAG_KEY_WRAP_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 1004,
516361847f8eSopenharmony_ci    /**
516461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
516561847f8eSopenharmony_ci     * @since 8
516661847f8eSopenharmony_ci     */
516761847f8eSopenharmony_ci    /**
516861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
516961847f8eSopenharmony_ci     * @atomicservice
517061847f8eSopenharmony_ci     * @since 12
517161847f8eSopenharmony_ci     */
517261847f8eSopenharmony_ci    HUKS_TAG_KEY_AUTH_ID = HuksTagType.HUKS_TAG_TYPE_BYTES | 1005,
517361847f8eSopenharmony_ci    /**
517461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
517561847f8eSopenharmony_ci     * @since 8
517661847f8eSopenharmony_ci     */
517761847f8eSopenharmony_ci    /**
517861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
517961847f8eSopenharmony_ci     * @atomicservice
518061847f8eSopenharmony_ci     * @since 12
518161847f8eSopenharmony_ci     */
518261847f8eSopenharmony_ci    HUKS_TAG_KEY_ROLE = HuksTagType.HUKS_TAG_TYPE_UINT | 1006,
518361847f8eSopenharmony_ci    /**
518461847f8eSopenharmony_ci     * choose from enum HuksKeyFlag.
518561847f8eSopenharmony_ci     *
518661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
518761847f8eSopenharmony_ci     * @since 8
518861847f8eSopenharmony_ci     */
518961847f8eSopenharmony_ci    /**
519061847f8eSopenharmony_ci     * choose from enum HuksKeyFlag.
519161847f8eSopenharmony_ci     *
519261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
519361847f8eSopenharmony_ci     * @atomicservice
519461847f8eSopenharmony_ci     * @since 12
519561847f8eSopenharmony_ci     */
519661847f8eSopenharmony_ci    HUKS_TAG_KEY_FLAG = HuksTagType.HUKS_TAG_TYPE_UINT | 1007,
519761847f8eSopenharmony_ci    /**
519861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
519961847f8eSopenharmony_ci     * @since 8
520061847f8eSopenharmony_ci     */
520161847f8eSopenharmony_ci    /**
520261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
520361847f8eSopenharmony_ci     * @atomicservice
520461847f8eSopenharmony_ci     * @since 12
520561847f8eSopenharmony_ci     */
520661847f8eSopenharmony_ci    HUKS_TAG_IS_ASYNCHRONIZED = HuksTagType.HUKS_TAG_TYPE_UINT | 1008,
520761847f8eSopenharmony_ci    /**
520861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
520961847f8eSopenharmony_ci     * @since 8
521061847f8eSopenharmony_ci     * @deprecated since 9
521161847f8eSopenharmony_ci     */
521261847f8eSopenharmony_ci    HUKS_TAG_SECURE_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL | 1009,
521361847f8eSopenharmony_ci    /**
521461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
521561847f8eSopenharmony_ci     * @since 8
521661847f8eSopenharmony_ci     * @deprecated since 9
521761847f8eSopenharmony_ci     */
521861847f8eSopenharmony_ci    HUKS_TAG_SECURE_KEY_UUID = HuksTagType.HUKS_TAG_TYPE_BYTES | 1010,
521961847f8eSopenharmony_ci    /**
522061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
522161847f8eSopenharmony_ci     * @since 8
522261847f8eSopenharmony_ci     */
522361847f8eSopenharmony_ci    /**
522461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
522561847f8eSopenharmony_ci     * @atomicservice
522661847f8eSopenharmony_ci     * @since 12
522761847f8eSopenharmony_ci     */
522861847f8eSopenharmony_ci    HUKS_TAG_KEY_DOMAIN = HuksTagType.HUKS_TAG_TYPE_UINT | 1011,
522961847f8eSopenharmony_ci
523061847f8eSopenharmony_ci    /**
523161847f8eSopenharmony_ci     * Key access control based on device password setting status. True means the key can only be generated and used when the password is set.
523261847f8eSopenharmony_ci     *
523361847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
523461847f8eSopenharmony_ci     * @since 11
523561847f8eSopenharmony_ci     */
523661847f8eSopenharmony_ci    /**
523761847f8eSopenharmony_ci     * Key access control based on device password setting status. True means the key can only be generated and used when the password is set.
523861847f8eSopenharmony_ci     *
523961847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
524061847f8eSopenharmony_ci     * @atomicservice
524161847f8eSopenharmony_ci     * @since 12
524261847f8eSopenharmony_ci     */
524361847f8eSopenharmony_ci    HUKS_TAG_IS_DEVICE_PASSWORD_SET = HuksTagType.HUKS_TAG_TYPE_BOOL | 1012,
524461847f8eSopenharmony_ci
524561847f8eSopenharmony_ci    /* Inner-use TAG: 10001 - 10999 */
524661847f8eSopenharmony_ci
524761847f8eSopenharmony_ci    /**
524861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
524961847f8eSopenharmony_ci     * @since 8
525061847f8eSopenharmony_ci     * @deprecated since 9
525161847f8eSopenharmony_ci     */
525261847f8eSopenharmony_ci    HUKS_TAG_PROCESS_NAME = HuksTagType.HUKS_TAG_TYPE_BYTES | 10001,
525361847f8eSopenharmony_ci    /**
525461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
525561847f8eSopenharmony_ci     * @since 8
525661847f8eSopenharmony_ci     * @deprecated since 9
525761847f8eSopenharmony_ci     */
525861847f8eSopenharmony_ci    HUKS_TAG_PACKAGE_NAME = HuksTagType.HUKS_TAG_TYPE_BYTES | 10002,
525961847f8eSopenharmony_ci    /**
526061847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
526161847f8eSopenharmony_ci     * @since 8
526261847f8eSopenharmony_ci     * @deprecated since 9
526361847f8eSopenharmony_ci     */
526461847f8eSopenharmony_ci    HUKS_TAG_ACCESS_TIME = HuksTagType.HUKS_TAG_TYPE_UINT | 10003,
526561847f8eSopenharmony_ci    /**
526661847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
526761847f8eSopenharmony_ci     * @since 8
526861847f8eSopenharmony_ci     * @deprecated since 9
526961847f8eSopenharmony_ci     */
527061847f8eSopenharmony_ci    HUKS_TAG_USES_TIME = HuksTagType.HUKS_TAG_TYPE_UINT | 10004,
527161847f8eSopenharmony_ci    /**
527261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
527361847f8eSopenharmony_ci     * @since 8
527461847f8eSopenharmony_ci     * @deprecated since 9
527561847f8eSopenharmony_ci     */
527661847f8eSopenharmony_ci    HUKS_TAG_CRYPTO_CTX = HuksTagType.HUKS_TAG_TYPE_ULONG | 10005,
527761847f8eSopenharmony_ci    /**
527861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
527961847f8eSopenharmony_ci     * @since 8
528061847f8eSopenharmony_ci     */
528161847f8eSopenharmony_ci    /**
528261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
528361847f8eSopenharmony_ci     * @atomicservice
528461847f8eSopenharmony_ci     * @since 12
528561847f8eSopenharmony_ci     */
528661847f8eSopenharmony_ci    HUKS_TAG_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES | 10006,
528761847f8eSopenharmony_ci    /**
528861847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
528961847f8eSopenharmony_ci     * @since 8
529061847f8eSopenharmony_ci     * @deprecated since 9
529161847f8eSopenharmony_ci     */
529261847f8eSopenharmony_ci    HUKS_TAG_KEY_VERSION = HuksTagType.HUKS_TAG_TYPE_UINT | 10007,
529361847f8eSopenharmony_ci    /**
529461847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
529561847f8eSopenharmony_ci     * @since 8
529661847f8eSopenharmony_ci     * @deprecated since 9
529761847f8eSopenharmony_ci     */
529861847f8eSopenharmony_ci    HUKS_TAG_PAYLOAD_LEN = HuksTagType.HUKS_TAG_TYPE_UINT | 10008,
529961847f8eSopenharmony_ci
530061847f8eSopenharmony_ci    /**
530161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
530261847f8eSopenharmony_ci     * @since 8
530361847f8eSopenharmony_ci     */
530461847f8eSopenharmony_ci    /**
530561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
530661847f8eSopenharmony_ci     * @atomicservice
530761847f8eSopenharmony_ci     * @since 11
530861847f8eSopenharmony_ci     */
530961847f8eSopenharmony_ci    HUKS_TAG_AE_TAG = HuksTagType.HUKS_TAG_TYPE_BYTES | 10009,
531061847f8eSopenharmony_ci
531161847f8eSopenharmony_ci    /**
531261847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
531361847f8eSopenharmony_ci     * @since 8
531461847f8eSopenharmony_ci     * @deprecated since 9
531561847f8eSopenharmony_ci     */
531661847f8eSopenharmony_ci    HUKS_TAG_IS_KEY_HANDLE = HuksTagType.HUKS_TAG_TYPE_ULONG | 10010,
531761847f8eSopenharmony_ci
531861847f8eSopenharmony_ci    /**
531961847f8eSopenharmony_ci     * Os version related TAG.
532061847f8eSopenharmony_ci     *
532161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
532261847f8eSopenharmony_ci     * @since 8
532361847f8eSopenharmony_ci     * @deprecated since 9
532461847f8eSopenharmony_ci     */
532561847f8eSopenharmony_ci    HUKS_TAG_OS_VERSION = HuksTagType.HUKS_TAG_TYPE_UINT | 10101,
532661847f8eSopenharmony_ci    /**
532761847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
532861847f8eSopenharmony_ci     * @since 8
532961847f8eSopenharmony_ci     * @deprecated since 9
533061847f8eSopenharmony_ci     */
533161847f8eSopenharmony_ci    HUKS_TAG_OS_PATCHLEVEL = HuksTagType.HUKS_TAG_TYPE_UINT | 10102,
533261847f8eSopenharmony_ci
533361847f8eSopenharmony_ci    /*
533461847f8eSopenharmony_ci     * Reserved TAGs: 11000 - 12000
533561847f8eSopenharmony_ci     *
533661847f8eSopenharmony_ci     * Other TAGs: 20001 - N
533761847f8eSopenharmony_ci     * TAGs used for paramSetOut
533861847f8eSopenharmony_ci     */
533961847f8eSopenharmony_ci
534061847f8eSopenharmony_ci    /**
534161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
534261847f8eSopenharmony_ci     * @since 8
534361847f8eSopenharmony_ci     */
534461847f8eSopenharmony_ci    /**
534561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
534661847f8eSopenharmony_ci     * @atomicservice
534761847f8eSopenharmony_ci     * @since 12
534861847f8eSopenharmony_ci     */
534961847f8eSopenharmony_ci    HUKS_TAG_SYMMETRIC_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 20001,
535061847f8eSopenharmony_ci    /**
535161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
535261847f8eSopenharmony_ci     * @since 8
535361847f8eSopenharmony_ci     */
535461847f8eSopenharmony_ci    /**
535561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
535661847f8eSopenharmony_ci     * @atomicservice
535761847f8eSopenharmony_ci     * @since 12
535861847f8eSopenharmony_ci     */
535961847f8eSopenharmony_ci    HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 20002,
536061847f8eSopenharmony_ci    /**
536161847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Extension
536261847f8eSopenharmony_ci     * @since 8
536361847f8eSopenharmony_ci     */
536461847f8eSopenharmony_ci    /**
536561847f8eSopenharmony_ci     * @syscap SystemCapability.Security.Huks.Core
536661847f8eSopenharmony_ci     * @atomicservice
536761847f8eSopenharmony_ci     * @since 12
536861847f8eSopenharmony_ci     */
536961847f8eSopenharmony_ci    HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 20003
537061847f8eSopenharmony_ci  }
537161847f8eSopenharmony_ci}
537261847f8eSopenharmony_ci
537361847f8eSopenharmony_ciexport default huks;
5374