• 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 */
15import * as param from '../publicParam';
16let DSA_COMMON_SIZE = 1024;
17let HuksSignVerifyDSA = {
18  HuksTagDSACOMMONSIZE: {
19    tag: param.HksTag.HKS_TAG_KEY_SIZE,
20    value: DSA_COMMON_SIZE,
21  },
22  HuksKeySIZE: {
23    tag: param.HksTag.HKS_TAG_KEY_SIZE,
24    value: param.HksKeySize.HKS_DSA_KEY_SIZE_512,
25  },
26  HuksKeySIZE1024: {
27    tag: param.HksTag.HKS_TAG_KEY_SIZE,
28    value: param.HksKeySize.HKS_DSA_KEY_SIZE_1024,
29  },
30  HuksKeyAlgDSA: {
31    tag: param.HksTag.HKS_TAG_ALGORITHM,
32    value: param.HksKeyAlg.HKS_ALG_DSA,
33  },
34  HuksKeyDSAPurposeSIGN: {
35    tag: param.HksTag.HKS_TAG_PURPOSE,
36    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN,
37  },
38  HuksKeyDSAPurposeVERIFY: {
39    tag: param.HksTag.HKS_TAG_PURPOSE,
40    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
41  },
42  HuksTagDSADigestSHA1: {
43    tag: param.HksTag.HKS_TAG_DIGEST,
44    value: param.HksKeyDigest.HKS_DIGEST_SHA1,
45  },
46  HuksTagDSADigestSHA224: {
47    tag: param.HksTag.HKS_TAG_DIGEST,
48    value: param.HksKeyDigest.HKS_DIGEST_SHA224,
49  },
50  HuksTagDSADigestSHA256: {
51    tag: param.HksTag.HKS_TAG_DIGEST,
52    value: param.HksKeyDigest.HKS_DIGEST_SHA256,
53  },
54  HuksTagDSADigestSHA384: {
55    tag: param.HksTag.HKS_TAG_DIGEST,
56    value: param.HksKeyDigest.HKS_DIGEST_SHA384,
57  },
58  HuksTagDSADigestSHA512: {
59    tag: param.HksTag.HKS_TAG_DIGEST,
60    value: param.HksKeyDigest.HKS_DIGEST_SHA512,
61  },
62  HuksKeyRSAPurposeSINGVERIFY: {
63    tag: param.HksTag.HKS_TAG_PURPOSE,
64    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN | param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
65  },
66};
67
68let HuksSignVerifyECC = {
69  HuksKeySIZE: {
70    tag: param.HksTag.HKS_TAG_KEY_SIZE,
71    value: param.HksKeySize.HKS_ECC_KEY_SIZE_521,
72  },
73  HuksKeyAlgECC: {
74    tag: param.HksTag.HKS_TAG_ALGORITHM,
75    value: param.HksKeyAlg.HKS_ALG_ECC,
76  },
77  HuksKeyECCPurposeSIGN: {
78    tag: param.HksTag.HKS_TAG_PURPOSE,
79    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN,
80  },
81  HuksKeyECCPurposeVERIFY: {
82    tag: param.HksTag.HKS_TAG_PURPOSE,
83    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
84  },
85  HuksTagECCDigestNONE: {
86    tag: param.HksTag.HKS_TAG_DIGEST,
87    value: param.HksKeyDigest.HKS_DIGEST_NONE,
88  },
89  HuksTagECCDigestSHA1: {
90    tag: param.HksTag.HKS_TAG_DIGEST,
91    value: param.HksKeyDigest.HKS_DIGEST_SHA1,
92  },
93  HuksTagECCDigestSHA224: {
94    tag: param.HksTag.HKS_TAG_DIGEST,
95    value: param.HksKeyDigest.HKS_DIGEST_SHA224,
96  },
97  HuksTagECCDigestSHA256: {
98    tag: param.HksTag.HKS_TAG_DIGEST,
99    value: param.HksKeyDigest.HKS_DIGEST_SHA256,
100  },
101  HuksTagECCDigestSHA384: {
102    tag: param.HksTag.HKS_TAG_DIGEST,
103    value: param.HksKeyDigest.HKS_DIGEST_SHA384,
104  },
105  HuksTagECCDigestSHA512: {
106    tag: param.HksTag.HKS_TAG_DIGEST,
107    value: param.HksKeyDigest.HKS_DIGEST_SHA512,
108  },
109  HuksKeyECCSize224: {
110    tag: param.HksTag.HKS_TAG_KEY_SIZE,
111    value: param.HksKeySize.HKS_ECC_KEY_SIZE_224,
112  },
113  HuksKeyECCSize256: {
114    tag: param.HksTag.HKS_TAG_KEY_SIZE,
115    value: param.HksKeySize.HKS_ECC_KEY_SIZE_256,
116  },
117  HuksKeyECCSize384: {
118    tag: param.HksTag.HKS_TAG_KEY_SIZE,
119    value: param.HksKeySize.HKS_ECC_KEY_SIZE_384,
120  },
121  HuksKeyECCSize521: {
122    tag: param.HksTag.HKS_TAG_KEY_SIZE,
123    value: param.HksKeySize.HKS_ECC_KEY_SIZE_521,
124  },
125  HuksKeyECCPurposeSINGVERIFY: {
126    tag: param.HksTag.HKS_TAG_PURPOSE,
127    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN | param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
128  },
129};
130
131let HuksSignVerifyED25519 = {
132  HuksKeySIZE: {
133    tag: param.HksTag.HKS_TAG_KEY_SIZE,
134    value: param.HksKeySize.HKS_ED25519_KEY_SIZE_512,
135  },
136  HuksKeyAlgED25519: {
137    tag: param.HksTag.HKS_TAG_ALGORITHM,
138    value: param.HksKeyAlg.HKS_ALG_ED25519,
139  },
140  HuksKeyED25519Size256: {
141    tag: param.HksTag.HKS_TAG_KEY_SIZE,
142    value: param.HksKeySize.HKS_CURVE25519_KEY_SIZE_256,
143  },
144  HuksKeyED25519PurposeSIGN: {
145    tag: param.HksTag.HKS_TAG_PURPOSE,
146    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN,
147  },
148  HuksKeyED25519PurposeVERIFY: {
149    tag: param.HksTag.HKS_TAG_PURPOSE,
150    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
151  },
152  HuksKeyRSAPurposeSINGVERIFY: {
153    tag: param.HksTag.HKS_TAG_PURPOSE,
154    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN | param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
155  },
156  HuksTagDigestSHA1: {
157    tag: param.HksTag.HKS_TAG_DIGEST,
158    value: param.HksKeyDigest.HKS_DIGEST_SHA1,
159  },
160  HuksTagDigestSHA256: {
161    tag: param.HksTag.HKS_TAG_DIGEST,
162    value: param.HksKeyDigest.HKS_DIGEST_SHA256,
163  },
164};
165
166let HuksSignVerifyRSA = {
167  HuksKeySIZE: {
168    tag: param.HksTag.HKS_TAG_KEY_SIZE,
169    value: param.HksKeySize.HKS_RSA_KEY_SIZE_512,
170  },
171  HuksKeyAlgRSA: {
172    tag: param.HksTag.HKS_TAG_ALGORITHM,
173    value: param.HksKeyAlg.HKS_ALG_RSA,
174  },
175  HuksKeyRSASize512: {
176    tag: param.HksTag.HKS_TAG_KEY_SIZE,
177    value: param.HksKeySize.HKS_RSA_KEY_SIZE_512,
178  },
179  HuksKeyRSASize768: {
180    tag: param.HksTag.HKS_TAG_KEY_SIZE,
181    value: param.HksKeySize.HKS_RSA_KEY_SIZE_768,
182  },
183  HuksKeyRSASize1024: {
184    tag: param.HksTag.HKS_TAG_KEY_SIZE,
185    value: param.HksKeySize.HKS_RSA_KEY_SIZE_1024,
186  },
187  HuksKeyRSASize2048: {
188    tag: param.HksTag.HKS_TAG_KEY_SIZE,
189    value: param.HksKeySize.HKS_RSA_KEY_SIZE_2048,
190  },
191  HuksKeyRSASize3072: {
192    tag: param.HksTag.HKS_TAG_KEY_SIZE,
193    value: param.HksKeySize.HKS_RSA_KEY_SIZE_3072,
194  },
195  HuksKeyRSASize4096: {
196    tag: param.HksTag.HKS_TAG_KEY_SIZE,
197    value: param.HksKeySize.HKS_RSA_KEY_SIZE_4096,
198  },
199  HuksKeyRSAPurposeSIGN: {
200    tag: param.HksTag.HKS_TAG_PURPOSE,
201    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN,
202  },
203  HuksKeyRSAPurposeVERIFY: {
204    tag: param.HksTag.HKS_TAG_PURPOSE,
205    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
206  },
207  HuksKeyRSAPurposeSINGVERIFY: {
208    tag: param.HksTag.HKS_TAG_PURPOSE,
209    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN | param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
210  },
211  HuksKeyRSAPADDINGPKCS1V15: {
212    tag: param.HksTag.HKS_TAG_PADDING,
213    value: param.HksKeyPadding.HKS_PADDING_PKCS1_V1_5,
214  },
215  HuksKeyRSAPADDINGPSS: {
216    tag: param.HksTag.HKS_TAG_PADDING,
217    value: param.HksKeyPadding.HKS_PADDING_PSS,
218  },
219  HuksTagPKCS1DigestMD5: {
220    tag: param.HksTag.HKS_TAG_DIGEST,
221    value: param.HksKeyDigest.HKS_DIGEST_MD5,
222  },
223  HuksTagPKCS1DigestNONE: {
224    tag: param.HksTag.HKS_TAG_DIGEST,
225    value: param.HksKeyDigest.HKS_DIGEST_NONE,
226  },
227  HuksTagPKCS1DigestSHA1: {
228    tag: param.HksTag.HKS_TAG_DIGEST,
229    value: param.HksKeyDigest.HKS_DIGEST_SHA1,
230  },
231  HuksTagPKCS1DigestSHA224: {
232    tag: param.HksTag.HKS_TAG_DIGEST,
233    value: param.HksKeyDigest.HKS_DIGEST_SHA224,
234  },
235  HuksTagPKCS1DigestSHA256: {
236    tag: param.HksTag.HKS_TAG_DIGEST,
237    value: param.HksKeyDigest.HKS_DIGEST_SHA256,
238  },
239  HuksTagPKCS1DigestSHA384: {
240    tag: param.HksTag.HKS_TAG_DIGEST,
241    value: param.HksKeyDigest.HKS_DIGEST_SHA384,
242  },
243  HuksTagPKCS1DigestSHA512: {
244    tag: param.HksTag.HKS_TAG_DIGEST,
245    value: param.HksKeyDigest.HKS_DIGEST_SHA512,
246  },
247  HuksTagPSSDigestSHA1: {
248    tag: param.HksTag.HKS_TAG_DIGEST,
249    value: param.HksKeyDigest.HKS_DIGEST_SHA1,
250  },
251  HuksTagPSSDigestSHA224: {
252    tag: param.HksTag.HKS_TAG_DIGEST,
253    value: param.HksKeyDigest.HKS_DIGEST_SHA224,
254  },
255  HuksTagPSSDigestSHA256: {
256    tag: param.HksTag.HKS_TAG_DIGEST,
257    value: param.HksKeyDigest.HKS_DIGEST_SHA256,
258  },
259  HuksTagPSSDigestSHA384: {
260    tag: param.HksTag.HKS_TAG_DIGEST,
261    value: param.HksKeyDigest.HKS_DIGEST_SHA384,
262  },
263  HuksTagPSSDigestSHA512: {
264    tag: param.HksTag.HKS_TAG_DIGEST,
265    value: param.HksKeyDigest.HKS_DIGEST_SHA512,
266  },
267};
268let HuksSignVerifySM2 = {
269  HuksKeySize256: {
270    tag: param.HksTag.HKS_TAG_KEY_SIZE,
271    value: param.HksKeySize.HKS_SM2_KEY_SIZE_256,
272  },
273  HuksKeyAlgSM2: {
274    tag: param.HksTag.HKS_TAG_ALGORITHM,
275    value: param.HksKeyAlg.HKS_ALG_SM2,
276  },
277  HuksKeySM2PurposeSIGN: {
278    tag: param.HksTag.HKS_TAG_PURPOSE,
279    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN,
280  },
281  HuksKeySM2PurposeVERIFY: {
282    tag: param.HksTag.HKS_TAG_PURPOSE,
283    value: param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
284  },
285  HuksTagSM2DigestSM3: {
286    tag: param.HksTag.HKS_TAG_DIGEST,
287    value: param.HksKeyDigest.HKS_DIGEST_SM3,
288  },
289  HuksKeySM2PurposeSINGVERIFY: {
290    tag: param.HksTag.HKS_TAG_PURPOSE,
291    value:
292    param.HksKeyPurpose.HKS_KEY_PURPOSE_SIGN |
293    param.HksKeyPurpose.HKS_KEY_PURPOSE_VERIFY,
294  },
295};
296export { HuksSignVerifyRSA, HuksSignVerifyDSA, HuksSignVerifyECC, HuksSignVerifyED25519 ,HuksSignVerifySM2};
297