1/* 2* Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3* Licensed under the Apache License, Version 2.0 (the "License"); 4* you may not use this file except in compliance with the License. 5* You may obtain a copy of the License at 6* 7* http://www.apache.org/licenses/LICENSE-2.0 8* 9* Unless required by applicable law or agreed to in writing, software 10* distributed under the License is distributed on an "AS IS" BASIS, 11* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12* See the License for the specific language governing permissions and 13* limitations under the License. 14*/ 15 16import {AsyncCallback} from './basic'; 17 18/** 19 * OpenHarmony Universal KeyStore 20 * @since 8 21 * @syscap SystemCapability.Security.Huks 22 * @permission N/A 23 */ 24declare namespace huks { 25 /** 26 * Generate Key. 27 * @since 8 28 * @syscap SystemCapability.Security.Huks 29 * @param keyAlias Indicates the key's name. 30 * @param options Indicates the properties of the key. 31 */ 32 function generateKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 33 function generateKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; 34 35 /** 36 * Delete Key. 37 * @since 8 38 * @syscap SystemCapability.Security.Huks 39 * @param keyAlias Indicates the key's name. 40 * @param options Indicates the properties of the key. 41 */ 42 function deleteKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 43 function deleteKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; 44 45 /** 46 * Import Key. 47 * @since 8 48 * @syscap SystemCapability.Security.Huks 49 * @param keyAlias Indicates the key's name. 50 * @param options Indicates the properties of the key. 51 */ 52 function importKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 53 function importKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; 54 55 /** 56 * Export Key. 57 * @since 8 58 * @syscap SystemCapability.Security.Huks 59 * @param keyAlias Indicates the key's name. 60 * @param options Indicates the properties of the key. 61 */ 62 function exportKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 63 function exportKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; 64 65 /** 66 * Get properties of the key. 67 * @since 8 68 * @syscap SystemCapability.Security.Huks 69 * @param keyAlias Indicates the key's name. 70 * @param options Indicates the properties of the key. 71 */ 72 function getKeyProperties(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 73 function getKeyProperties(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; 74 75 /** 76 * Check whether the key exists. 77 * @since 8 78 * @syscap SystemCapability.Security.Huks 79 * @param keyAlias Indicates the key's name. 80 * @param options Indicates the properties of the key. 81 */ 82 function isKeyExist(keyAlias: string, options: HuksOptions, callback: AsyncCallback<boolean>) : void; 83 function isKeyExist(keyAlias: string, options: HuksOptions) : Promise<boolean>; 84 85 /** 86 * Init Operation. 87 * @since 8 88 * @syscap SystemCapability.Security.Huks 89 * @param keyAlias Indicates the key's name. 90 * @param options Indicates the properties of the key. 91 * @return The handle of the init Operation. 92 */ 93 function init(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksHandle>) : void; 94 function init(keyAlias: string, options: HuksOptions) : Promise<HuksHandle>; 95 96 /** 97 * Update Operation. 98 * @since 8 99 * @syscap SystemCapability.Security.Huks 100 * @param handle Indicates the handle of the init operation. 101 * @param token Indicates the value of token. 102 * @param options Indicates the properties of the update operation. 103 */ 104 function update(handle: number, token?: Uint8Array, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 105 function update(handle: number, token?: Uint8Array, options: HuksOptions) : Promise<HuksResult>; 106 107 /** 108 * Finish Operation. 109 * @since 8 110 * @syscap SystemCapability.Security.Huks 111 * @param handle Indicates the handle of the init operation. 112 * @param options Indicates the properties of the finish operation. 113 */ 114 function finish(handle: number, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 115 function finish(handle: number, options: HuksOptions) : Promise<HuksResult>; 116 117 /** 118 * Abort Operation. 119 * @since 8 120 * @syscap SystemCapability.Security.Huks 121 * @param handle Indicates the handle of the init operation. 122 * @param options Indicates the properties of the abort operation. 123 */ 124 function abort(handle: number, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void; 125 function abort(handle: number, options: HuksOptions) : Promise<HuksResult>; 126 127 /** 128 * Get the sdk version. 129 * @since 8 130 * @syscap SystemCapability.Security.Huks 131 * @param options Indicates the properties of the key. 132 * @return Return the character string of the sdk version. 133 */ 134 function getSdkVersion(options: HuksOptions) : string; 135 136 export interface HuksParam { 137 tag: HuksTag; 138 value: boolean | number | bigint | Uint8Array; 139 } 140 141 export interface HuksHandle { 142 errorCode: number; 143 handle: number; 144 token?: Uint8Array; 145 } 146 147 export interface HuksOptions { 148 properties?: Array<HuksParam>; 149 inData?: Uint8Array; 150 } 151 152 export interface HuksResult { 153 errorCode: number; 154 outData?: Uint8Array; 155 properties?: Array<HuksParam>; 156 certChains?: Array<string>; 157 } 158 159 export enum HuksErrorCode { 160 HUKS_SUCCESS = 0, 161 HUKS_FAILURE = -1, 162 HUKS_ERROR_BAD_STATE = -2, 163 HUKS_ERROR_INVALID_ARGUMENT = -3, 164 HUKS_ERROR_NOT_SUPPORTED = -4, 165 HUKS_ERROR_NO_PERMISSION = -5, 166 HUKS_ERROR_INSUFFICIENT_DATA = -6, 167 HUKS_ERROR_BUFFER_TOO_SMALL = -7, 168 HUKS_ERROR_INSUFFICIENT_MEMORY = -8, 169 HUKS_ERROR_COMMUNICATION_FAILURE = -9, 170 HUKS_ERROR_STORAGE_FAILURE = -10, 171 HUKS_ERROR_HARDWARE_FAILURE = -11, 172 HUKS_ERROR_ALREADY_EXISTS = -12, 173 HUKS_ERROR_NOT_EXIST = -13, 174 HUKS_ERROR_NULL_POINTER = -14, 175 HUKS_ERROR_FILE_SIZE_FAIL = -15, 176 HUKS_ERROR_READ_FILE_FAIL = -16, 177 HUKS_ERROR_INVALID_PUBLIC_KEY = -17, 178 HUKS_ERROR_INVALID_PRIVATE_KEY = -18, 179 HUKS_ERROR_INVALID_KEY_INFO = -19, 180 HUKS_ERROR_HASH_NOT_EQUAL = -20, 181 HUKS_ERROR_MALLOC_FAIL = -21, 182 HUKS_ERROR_WRITE_FILE_FAIL = -22, 183 HUKS_ERROR_REMOVE_FILE_FAIL = -23, 184 HUKS_ERROR_OPEN_FILE_FAIL = -24, 185 HUKS_ERROR_CLOSE_FILE_FAIL = -25, 186 HUKS_ERROR_MAKE_DIR_FAIL = -26, 187 HUKS_ERROR_INVALID_KEY_FILE = -27, 188 HUKS_ERROR_IPC_MSG_FAIL = -28, 189 HUKS_ERROR_REQUEST_OVERFLOWS = -29, 190 HUKS_ERROR_PARAM_NOT_EXIST = -30, 191 HUKS_ERROR_CRYPTO_ENGINE_ERROR = -31, 192 HUKS_ERROR_COMMUNICATION_TIMEOUT = -32, 193 HUKS_ERROR_IPC_INIT_FAIL = -33, 194 HUKS_ERROR_IPC_DLOPEN_FAIL = -34, 195 HUKS_ERROR_EFUSE_READ_FAIL = -35, 196 HUKS_ERROR_NEW_ROOT_KEY_MATERIAL_EXIST = -36, 197 HUKS_ERROR_UPDATE_ROOT_KEY_MATERIAL_FAIL = -37, 198 199 HUKS_ERROR_CHECK_GET_ALG_FAIL = -100, 200 HUKS_ERROR_CHECK_GET_KEY_SIZE_FAIL = -101, 201 HUKS_ERROR_CHECK_GET_PADDING_FAIL = -102, 202 HUKS_ERROR_CHECK_GET_PURPOSE_FAIL = -103, 203 HUKS_ERROR_CHECK_GET_DIGEST_FAIL = -104, 204 HUKS_ERROR_CHECK_GET_MODE_FAIL = -105, 205 HUKS_ERROR_CHECK_GET_NONCE_FAIL = -106, 206 HUKS_ERROR_CHECK_GET_AAD_FAIL = -107, 207 HUKS_ERROR_CHECK_GET_IV_FAIL = -108, 208 HUKS_ERROR_CHECK_GET_AE_TAG_FAIL = -109, 209 HUKS_ERROR_CHECK_GET_SALT_FAIL = -110, 210 HUKS_ERROR_CHECK_GET_ITERATION_FAIL = -111, 211 HUKS_ERROR_INVALID_ALGORITHM = -112, 212 HUKS_ERROR_INVALID_KEY_SIZE = -113, 213 HUKS_ERROR_INVALID_PADDING = -114, 214 HUKS_ERROR_INVALID_PURPOSE = -115, 215 HUKS_ERROR_INVALID_MODE = -116, 216 HUKS_ERROR_INVALID_DIGEST = -117, 217 HUKS_ERROR_INVALID_SIGNATURE_SIZE = -118, 218 HUKS_ERROR_INVALID_IV = -119, 219 HUKS_ERROR_INVALID_AAD = -120, 220 HUKS_ERROR_INVALID_NONCE = -121, 221 HUKS_ERROR_INVALID_AE_TAG = -122, 222 HUKS_ERROR_INVALID_SALT = -123, 223 HUKS_ERROR_INVALID_ITERATION = -124, 224 HUKS_ERROR_INVALID_OPERATION = -125, 225 226 HUKS_ERROR_INTERNAL_ERROR = -999, 227 HUKS_ERROR_UNKNOWN_ERROR = -1000, 228 } 229 230 export enum HuksKeyType { 231 HUKS_KEY_TYPE_RSA_PUBLIC_KEY = 0x01001000, 232 HUKS_KEY_TYPE_RSA_KEYPAIR = 0x01002000, 233 234 HUKS_KEY_TYPE_ECC_P256_PUBLIC_KEY = 0x02021000, 235 HUKS_KEY_TYPE_ECC_P256_KEYPAIR = 0x02022000, 236 HUKS_KEY_TYPE_ECC_P384_PUBLIC_KEY = 0x02031000, 237 HUKS_KEY_TYPE_ECC_P384_KEYPAIR = 0x02032000, 238 HUKS_KEY_TYPE_ECC_P521_PUBLIC_KEY = 0x02051000, 239 HUKS_KEY_TYPE_ECC_P521_KEYPAIR = 0x02052000, 240 241 HUKS_KEY_TYPE_ED25519_PUBLIC_KEY = 0x02101000, 242 HUKS_KEY_TYPE_ED25519_KEYPAIR = 0x02102000, 243 HUKS_KEY_TYPE_X25519_PUBLIC_KEY = 0x02111000, 244 HUKS_KEY_TYPE_X25519_KEYPAIR = 0x02112000, 245 246 HUKS_KEY_TYPE_AES = 0x03000000, 247 HUKS_KEY_TYPE_CHACHA20 = 0x04010000, 248 HUKS_KEY_TYPE_CHACHA20_POLY1305 = 0x04020000, 249 250 HUKS_KEY_TYPE_HMAC = 0x05000000, 251 HUKS_KEY_TYPE_HKDF = 0x06000000, 252 HUKS_KEY_TYPE_PBKDF2 = 0x07000000, 253 } 254 255 export enum HuksKeyPurpose { 256 HUKS_KEY_PURPOSE_ENCRYPT = 1, /* Usable with RSA, EC and AES keys. */ 257 HUKS_KEY_PURPOSE_DECRYPT = 2, /* Usable with RSA, EC and AES keys. */ 258 HUKS_KEY_PURPOSE_SIGN = 4, /* Usable with RSA, EC keys. */ 259 HUKS_KEY_PURPOSE_VERIFY = 8, /* Usable with RSA, EC keys. */ 260 HUKS_KEY_PURPOSE_DERIVE = 16, /* Usable with EC keys. */ 261 HUKS_KEY_PURPOSE_WRAP = 32, /* Usable with wrap key. */ 262 HUKS_KEY_PURPOSE_UNWRAP = 64, /* Usable with unwrap key. */ 263 HUKS_KEY_PURPOSE_MAC = 128, /* Usable with mac. */ 264 HUKS_KEY_PURPOSE_AGREE = 256, /* Usable with agree. */ 265 } 266 267 export enum HuksKeyDigest { 268 HUKS_DIGEST_NONE = 0, 269 HUKS_DIGEST_MD5 = 1, 270 HUKS_DIGEST_SHA1 = 10, 271 HUKS_DIGEST_SHA224 = 11, 272 HUKS_DIGEST_SHA256 = 12, 273 HUKS_DIGEST_SHA384 = 13, 274 HUKS_DIGEST_SHA512 = 14, 275 } 276 277 export enum HuksKeyPadding { 278 HUKS_PADDING_NONE = 0, 279 HUKS_PADDING_OAEP = 1, 280 HUKS_PADDING_PSS = 2, 281 HUKS_PADDING_PKCS1_V1_5 = 3, 282 HUKS_PADDING_PKCS5 = 4, 283 HUKS_PADDING_PKCS7 = 5, 284 } 285 286 export enum HuksCipherMode { 287 HUKS_MODE_ECB = 1, 288 HUKS_MODE_CBC = 2, 289 HUKS_MODE_CTR = 3, 290 HUKS_MODE_OFB = 4, 291 HUKS_MODE_CCM = 31, 292 HUKS_MODE_GCM = 32, 293 } 294 295 export enum HuksKeySize { 296 HUKS_RSA_KEY_SIZE_512 = 512, 297 HUKS_RSA_KEY_SIZE_768 = 768, 298 HUKS_RSA_KEY_SIZE_1024 = 1024, 299 HUKS_RSA_KEY_SIZE_2048 = 2048, 300 HUKS_RSA_KEY_SIZE_3072 = 3072, 301 HUKS_RSA_KEY_SIZE_4096 = 4096, 302 303 HUKS_ECC_KEY_SIZE_224 = 224, 304 HUKS_ECC_KEY_SIZE_256 = 256, 305 HUKS_ECC_KEY_SIZE_384 = 384, 306 HUKS_ECC_KEY_SIZE_521 = 521, 307 308 HUKS_AES_KEY_SIZE_128 = 128, 309 HUKS_AES_KEY_SIZE_192 = 192, 310 HUKS_AES_KEY_SIZE_256 = 256, 311 HUKS_AES_KEY_SIZE_512 = 512, 312 313 HUKS_CURVE25519_KEY_SIZE_256 = 256, 314 315 HUKS_DH_KEY_SIZE_2048 = 2048, 316 HUKS_DH_KEY_SIZE_3072 = 3072, 317 HUKS_DH_KEY_SIZE_4096 = 4096, 318 } 319 320 export enum HuksKeyAlg { 321 HUKS_ALG_RSA = 1, 322 HUKS_ALG_ECC = 2, 323 HUKS_ALG_DSA = 3, 324 325 HUKS_ALG_AES = 20, 326 HUKS_ALG_HMAC = 50, 327 HUKS_ALG_HKDF = 51, 328 HUKS_ALG_PBKDF2 = 52, 329 330 HUKS_ALG_ECDH = 100, 331 HUKS_ALG_X25519 = 101, 332 HUKS_ALG_ED25519 = 102, 333 HUKS_ALG_DH = 103, 334 } 335 336 export enum HuksKeyGenerateType { 337 HUKS_KEY_GENERATE_TYPE_DEFAULT = 0, 338 HUKS_KEY_GENERATE_TYPE_DERIVE = 1, 339 HUKS_KEY_GENERATE_TYPE_AGREE = 2, 340 } 341 342 export enum HuksKeyFlag { 343 HUKS_KEY_FLAG_IMPORT_KEY = 1, 344 HUKS_KEY_FLAG_GENERATE_KEY = 2, 345 } 346 347 export enum HuksKeyStorageType { 348 HUKS_STORAGE_TEMP = 0, 349 HUKS_STORAGE_PERSISTENT = 1, 350 } 351 352 export enum HuksSendType { 353 HUKS_SEND_TYPE_ASYNC = 0, 354 HUKS_SEND_TYPE_SYNC = 1, 355 } 356 357 declare enum HuksTagType { 358 HUKS_TAG_TYPE_INVALID = 0 << 28, 359 HUKS_TAG_TYPE_INT = 1 << 28, 360 HUKS_TAG_TYPE_UINT = 2 << 28, 361 HUKS_TAG_TYPE_ULONG = 3 << 28, 362 HUKS_TAG_TYPE_BOOL = 4 << 28, 363 HUKS_TAG_TYPE_BYTES = 5 << 28, 364 } 365 366 export enum HuksTag { 367 /* Invalid TAG */ 368 HUKS_TAG_INVALID = HuksTagType.HUKS_TAG_TYPE_INVALID | 0, 369 370 /* Base algrithom TAG: 1 - 200 */ 371 HUKS_TAG_ALGORITHM = HuksTagType.HUKS_TAG_TYPE_UINT | 1, 372 HUKS_TAG_PURPOSE = HuksTagType.HUKS_TAG_TYPE_UINT | 2, 373 HUKS_TAG_KEY_SIZE = HuksTagType.HUKS_TAG_TYPE_UINT | 3, 374 HUKS_TAG_DIGEST = HuksTagType.HUKS_TAG_TYPE_UINT | 4, 375 HUKS_TAG_PADDING = HuksTagType.HUKS_TAG_TYPE_UINT | 5, 376 HUKS_TAG_BLOCK_MODE = HuksTagType.HUKS_TAG_TYPE_UINT | 6, 377 HUKS_TAG_KEY_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 7, 378 HUKS_TAG_ASSOCIATED_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 8, 379 HUKS_TAG_NONCE = HuksTagType.HUKS_TAG_TYPE_BYTES | 9, 380 HUKS_TAG_IV = HuksTagType.HUKS_TAG_TYPE_BYTES | 10, 381 382 /* Key derivation TAG */ 383 HUKS_TAG_INFO = HuksTagType.HUKS_TAG_TYPE_BYTES | 11, 384 HUKS_TAG_SALT = HuksTagType.HUKS_TAG_TYPE_BYTES | 12, 385 HUKS_TAG_PWD = HuksTagType.HUKS_TAG_TYPE_BYTES | 13, 386 HUKS_TAG_ITERATION = HuksTagType.HUKS_TAG_TYPE_UINT | 14, 387 388 HUKS_TAG_KEY_GENERATE_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 15, /* choose from enum HuksKeyGenerateType */ 389 HUKS_TAG_DERIVE_MAIN_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES | 16, 390 HUKS_TAG_DERIVE_FACTOR = HuksTagType.HUKS_TAG_TYPE_BYTES | 17, 391 HUKS_TAG_DERIVE_ALG = HuksTagType.HUKS_TAG_TYPE_UINT | 18, 392 HUKS_TAG_AGREE_ALG = HuksTagType.HUKS_TAG_TYPE_UINT | 19, 393 HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL | 20, 394 HUKS_TAG_AGREE_PRIVATE_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES | 21, 395 HUKS_TAG_AGREE_PUBLIC_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES | 22, 396 397 /* 398 * Key authentication related TAG: 201 - 300 399 * 400 * Start of validity 401 */ 402 HUKS_TAG_ACTIVE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 201, 403 404 /* Date when new "messages" should not be created. */ 405 HUKS_TAG_ORIGINATION_EXPIRE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 202, 406 407 /* Date when existing "messages" should not be used. */ 408 HUKS_TAG_USAGE_EXPIRE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 203, 409 410 /* Key creation time */ 411 HUKS_TAG_CREATION_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG | 204, 412 413 /* Other authentication related TAG: 301 - 500 */ 414 HUKS_TAG_ALL_USERS = HuksTagType.HUKS_TAG_TYPE_BOOL | 301, 415 HUKS_TAG_USER_ID = HuksTagType.HUKS_TAG_TYPE_UINT | 302, 416 HUKS_TAG_NO_AUTH_REQUIRED = HuksTagType.HUKS_TAG_TYPE_BOOL | 303, 417 HUKS_TAG_USER_AUTH_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 304, 418 HUKS_TAG_AUTH_TIMEOUT = HuksTagType.HUKS_TAG_TYPE_UINT | 305, 419 HUKS_TAG_AUTH_TOKEN = HuksTagType.HUKS_TAG_TYPE_BYTES | 306, 420 421 /* Attestation related TAG: 501 - 600 */ 422 HUKS_TAG_ATTESTATION_CHALLENGE = HuksTagType.HUKS_TAG_TYPE_BYTES | 501, 423 HUKS_TAG_ATTESTATION_APPLICATION_ID = HuksTagType.HUKS_TAG_TYPE_BYTES | 502, 424 HUKS_TAG_ATTESTATION_ID_BRAND = HuksTagType.HUKS_TAG_TYPE_BYTES | 503, 425 HUKS_TAG_ATTESTATION_ID_DEVICE = HuksTagType.HUKS_TAG_TYPE_BYTES | 504, 426 HUKS_TAG_ATTESTATION_ID_PRODUCT = HuksTagType.HUKS_TAG_TYPE_BYTES | 505, 427 HUKS_TAG_ATTESTATION_ID_SERIAL = HuksTagType.HUKS_TAG_TYPE_BYTES | 506, 428 HUKS_TAG_ATTESTATION_ID_IMEI = HuksTagType.HUKS_TAG_TYPE_BYTES | 507, 429 HUKS_TAG_ATTESTATION_ID_MEID = HuksTagType.HUKS_TAG_TYPE_BYTES | 508, 430 HUKS_TAG_ATTESTATION_ID_MANUFACTURER = HuksTagType.HUKS_TAG_TYPE_BYTES | 509, 431 HUKS_TAG_ATTESTATION_ID_MODEL = HuksTagType.HUKS_TAG_TYPE_BYTES | 510, 432 HUKS_TAG_ATTESTATION_ID_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES | 511, 433 434 /* 435 * Other reserved TAG: 601 - 1000 436 * 437 * Extention TAG: 1001 - 9999 438 */ 439 HUKS_TAG_IS_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL | 1001, 440 HUKS_TAG_KEY_STORAGE_FLAG = HuksTagType.HUKS_TAG_TYPE_UINT | 1002, /* choose from enum HuksKeyStorageType */ 441 HUKS_TAG_IS_ALLOWED_WRAP = HuksTagType.HUKS_TAG_TYPE_BOOL | 1003, 442 HUKS_TAG_KEY_WRAP_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT | 1004, 443 HUKS_TAG_KEY_AUTH_ID = HuksTagType.HUKS_TAG_TYPE_BYTES | 1005, 444 HUKS_TAG_KEY_ROLE = HuksTagType.HUKS_TAG_TYPE_UINT | 1006, 445 HUKS_TAG_KEY_FLAG = HuksTagType.HUKS_TAG_TYPE_UINT | 1007, /* choose from enum HuksKeyFlag */ 446 HUKS_TAG_IS_ASYNCHRONIZED = HuksTagType.HUKS_TAG_TYPE_UINT | 1008, 447 HUKS_TAG_SECURE_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL | 1009, 448 HUKS_TAG_SECURE_KEY_UUID = HuksTagType.HUKS_TAG_TYPE_BYTES | 1010, 449 HUKS_TAG_KEY_DOMAIN = HuksTagType.HUKS_TAG_TYPE_UINT | 1011, 450 451 /* Inner-use TAG: 10001 - 10999 */ 452 HUKS_TAG_PROCESS_NAME = HuksTagType.HUKS_TAG_TYPE_BYTES | 10001, 453 HUKS_TAG_PACKAGE_NAME = HuksTagType.HUKS_TAG_TYPE_BYTES | 10002, 454 HUKS_TAG_ACCESS_TIME = HuksTagType.HUKS_TAG_TYPE_UINT | 10003, 455 HUKS_TAG_USES_TIME = HuksTagType.HUKS_TAG_TYPE_UINT | 10004, 456 HUKS_TAG_CRYPTO_CTX = HuksTagType.HUKS_TAG_TYPE_ULONG | 10005, 457 HUKS_TAG_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES | 10006, 458 HUKS_TAG_KEY_VERSION = HuksTagType.HUKS_TAG_TYPE_UINT | 10007, 459 HUKS_TAG_PAYLOAD_LEN = HuksTagType.HUKS_TAG_TYPE_UINT | 10008, 460 HUKS_TAG_AE_TAG = HuksTagType.HUKS_TAG_TYPE_BYTES | 10009, 461 HUKS_TAG_IS_KEY_HANDLE = HuksTagType.HUKS_TAG_TYPE_ULONG | 10010, 462 463 /* Os version related TAG */ 464 HUKS_TAG_OS_VERSION = HuksTagType.HUKS_TAG_TYPE_UINT | 10101, 465 HUKS_TAG_OS_PATCHLEVEL = HuksTagType.HUKS_TAG_TYPE_UINT | 10102, 466 467 /* 468 * Reversed TAGs for SOTER: 11000 - 12000 469 * 470 * Other TAGs: 20001 - N 471 * TAGs used for paramSetOut 472 */ 473 HUKS_TAG_SYMMETRIC_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 20001, 474 HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 20002, 475 HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES | 20003, 476 } 477} 478 479export default huks; 480