1/* 2 * Copyright (C) 2021 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 * as param from '../publicParam'; 17import huks from '@ohos.security.huks'; 18 19let HuksCipherAES = { 20 HuksKeyAlgAES: { 21 tag: param.HksTag.HKS_TAG_ALGORITHM, 22 value: param.HksKeyAlg.HKS_ALG_AES, 23 }, 24 HuksKeyPurpose: { 25 tag: param.HksTag.HKS_TAG_PURPOSE, 26 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_ENCRYPT | param.HksKeyPurpose.HKS_KEY_PURPOSE_DECRYPT, 27 }, 28 HuksKeyPurposeENCRYPT: { 29 tag: param.HksTag.HKS_TAG_PURPOSE, 30 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_ENCRYPT, 31 }, 32 HuksKeyPurposeDECRYPT: { 33 tag: param.HksTag.HKS_TAG_PURPOSE, 34 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_DECRYPT, 35 }, 36 HuksKeyAESSize128: { 37 tag: param.HksTag.HKS_TAG_KEY_SIZE, 38 value: param.HksKeySize.HKS_AES_KEY_SIZE_128, 39 }, 40 HuksKeyAESSize192: { 41 tag: param.HksTag.HKS_TAG_KEY_SIZE, 42 value: param.HksKeySize.HKS_AES_KEY_SIZE_192, 43 }, 44 HuksKeyAESSize256: { 45 tag: param.HksTag.HKS_TAG_KEY_SIZE, 46 value: param.HksKeySize.HKS_AES_KEY_SIZE_256, 47 }, 48 HuksKeyAESSize512: { 49 tag: param.HksTag.HKS_TAG_KEY_SIZE, 50 value: param.HksKeySize.HKS_AES_KEY_SIZE_512, 51 }, 52 HuksKeyAESPADDINGNONE: { 53 tag: param.HksTag.HKS_TAG_PADDING, 54 value: param.HksKeyPadding.HKS_PADDING_NONE, 55 }, 56 HuksKeyAESPADDINGPKCS7: { 57 tag: param.HksTag.HKS_TAG_PADDING, 58 value: param.HksKeyPadding.HKS_PADDING_PKCS7, 59 }, 60 HuksKeyAESBLOCKMODE: { 61 tag: param.HksTag.HKS_TAG_BLOCK_MODE, 62 value: param.HksCipherMode.HKS_MODE_CBC, 63 }, 64 HuksKeyAESBLOCKMODECTR: { 65 tag: param.HksTag.HKS_TAG_BLOCK_MODE, 66 value: param.HksCipherMode.HKS_MODE_CTR, 67 }, 68 HuksKeyAESBLOCKMODEECB: { 69 tag: param.HksTag.HKS_TAG_BLOCK_MODE, 70 value: param.HksCipherMode.HKS_MODE_ECB, 71 }, 72 HuksKeyAESDIGESTNONE: { 73 tag: param.HksTag.HKS_TAG_DIGEST, 74 value: param.HksKeyDigest.HKS_DIGEST_NONE, 75 }, 76}; 77 78let HuksCipherRSA = { 79 HuksKeyAlgRSA: { 80 tag: param.HksTag.HKS_TAG_ALGORITHM, 81 value: param.HksKeyAlg.HKS_ALG_RSA, 82 }, 83 HuksKeyPurpose: { 84 tag: param.HksTag.HKS_TAG_PURPOSE, 85 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_ENCRYPT | param.HksKeyPurpose.HKS_KEY_PURPOSE_DECRYPT, 86 }, 87 HuksKeyPurposeENCRYPT: { 88 tag: param.HksTag.HKS_TAG_PURPOSE, 89 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_ENCRYPT, 90 }, 91 HuksKeyPurposeDECRYPT: { 92 tag: param.HksTag.HKS_TAG_PURPOSE, 93 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_DECRYPT, 94 }, 95 HuksKeyRSASize512: { 96 tag: param.HksTag.HKS_TAG_KEY_SIZE, 97 value: param.HksKeySize.HKS_RSA_KEY_SIZE_512, 98 }, 99 HuksKeyRSASize4096: { 100 tag: huks.HuksTag.HUKS_TAG_KEY_SIZE, 101 value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_4096, 102 }, 103 HuksKeyRSAPADDINGNONE: { 104 tag: param.HksTag.HKS_TAG_PADDING, 105 value: param.HksKeyPadding.HKS_PADDING_NONE, 106 }, 107 HuksKeyRSAPADDINGPKCS1V15: { 108 tag: param.HksTag.HKS_TAG_PADDING, 109 value: param.HksKeyPadding.HKS_PADDING_PKCS1_V1_5, 110 }, 111 HuksKeyRSAPADDINGOAEP: { 112 tag: param.HksTag.HKS_TAG_PADDING, 113 value: param.HksKeyPadding.HKS_PADDING_OAEP, 114 }, 115 HuksKeyRSABLOCKMODEECB: { 116 tag: param.HksTag.HKS_TAG_BLOCK_MODE, 117 value: param.HksCipherMode.HKS_MODE_ECB, 118 }, 119 HuksKeyRSADIGESTNONE: { 120 tag: param.HksTag.HKS_TAG_DIGEST, 121 value: param.HksKeyDigest.HKS_DIGEST_NONE, 122 }, 123 HuksKeyRSADIGESTSHA1: { 124 tag: param.HksTag.HKS_TAG_DIGEST, 125 value: param.HksKeyDigest.HKS_DIGEST_SHA1, 126 }, 127 HuksKeyRSADIGESTSHA224: { 128 tag: param.HksTag.HKS_TAG_DIGEST, 129 value: param.HksKeyDigest.HKS_DIGEST_SHA224, 130 }, 131 HuksKeyRSADIGESTSHA256: { 132 tag: param.HksTag.HKS_TAG_DIGEST, 133 value: param.HksKeyDigest.HKS_DIGEST_SHA256, 134 }, 135 HuksKeyRSADIGESTSHA384: { 136 tag: param.HksTag.HKS_TAG_DIGEST, 137 value: param.HksKeyDigest.HKS_DIGEST_SHA384, 138 }, 139 HuksKeyRSADIGESTSHA512: { 140 tag: param.HksTag.HKS_TAG_DIGEST, 141 value: param.HksKeyDigest.HKS_DIGEST_SHA512, 142 }, 143}; 144 145let HuksCipherSM4 = { 146 HuksKeyAlgSM4: { 147 tag: param.HksTag.HKS_TAG_ALGORITHM, 148 value: param.HksKeyAlg.HKS_ALG_SM4, 149 }, 150 HuksKeyPurpose: { 151 tag: param.HksTag.HKS_TAG_PURPOSE, 152 value: 153 param.HksKeyPurpose.HKS_KEY_PURPOSE_ENCRYPT | 154 param.HksKeyPurpose.HKS_KEY_PURPOSE_DECRYPT, 155 }, 156 HuksKeyPurposeENCRYPT: { 157 tag: param.HksTag.HKS_TAG_PURPOSE, 158 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_ENCRYPT, 159 }, 160 HuksKeyPurposeDECRYPT: { 161 tag: param.HksTag.HKS_TAG_PURPOSE, 162 value: param.HksKeyPurpose.HKS_KEY_PURPOSE_DECRYPT, 163 }, 164 HuksKeySM4Size128: { 165 tag: param.HksTag.HKS_TAG_KEY_SIZE, 166 value: param.HksKeySize.HKS_SM4_KEY_SIZE_128, 167 }, 168 HuksKeySM4PADDINGNONE: { 169 tag: param.HksTag.HKS_TAG_PADDING, 170 value: param.HksKeyPadding.HKS_PADDING_NONE, 171 }, 172 HuksKeySM4PADDINGPKCS7: { 173 tag: param.HksTag.HKS_TAG_PADDING, 174 value: param.HksKeyPadding.HKS_PADDING_PKCS7, 175 }, 176 HuksKeySM4BLOCKMODECBC: { 177 tag: param.HksTag.HKS_TAG_BLOCK_MODE, 178 value: param.HksCipherMode.HKS_MODE_CBC, 179 }, 180 HuksKeySM4BLOCKMODECTR: { 181 tag: param.HksTag.HKS_TAG_BLOCK_MODE, 182 value: param.HksCipherMode.HKS_MODE_CTR, 183 }, 184 HuksKeySM4BLOCKMODEECB: { 185 tag: param.HksTag.HKS_TAG_BLOCK_MODE, 186 value: param.HksCipherMode.HKS_MODE_ECB, 187 }, 188}; 189export { HuksCipherAES, HuksCipherRSA, HuksCipherSM4 }; 190