• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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