• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 
16 #include <gtest/gtest.h>
17 #include <iostream>
18 
19 #include "hks_ability.h"
20 #include "hks_config.h"
21 #include "hks_crypto_hal.h"
22 #include "hks_crypto_hal_common.h"
23 #include "hks_mem.h"
24 
25 using namespace testing::ext;
26 namespace OHOS {
27 namespace Security {
28 namespace Huks {
29 namespace UnitTest {
30 namespace {
31 struct TestCaseParams {
32     HksKeySpec spec = {0};
33     HksUsageSpec usageSpec = {0};
34     std::string hexData;
35     HksStageType runStage = HksStageType::HKS_STAGE_THREE;
36 
37     HksErrorCode generateKeyResult = HksErrorCode::HKS_SUCCESS;
38     HksErrorCode signResult = HksErrorCode::HKS_SUCCESS;
39     HksErrorCode verifyResult = HksErrorCode::HKS_SUCCESS;
40 };
41 
42 const uint32_t SIGNATURE_SIZE = 512;
43 const uint32_t MAX_PUB_KEY_SIZE = 1044;
44 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_001_PARAMS = {
45     .spec = {
46         .algType = HKS_ALG_RSA,
47         .keyLen = HKS_RSA_KEY_SIZE_512,
48         .algParam = nullptr,
49     },
50     .usageSpec = {
51         .algType = HKS_ALG_RSA,
52         .mode = HKS_MODE_ECB,
53         .padding = HKS_PADDING_PKCS1_V1_5,
54         .digest = HKS_DIGEST_MD5,
55         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
56     },
57     .hexData = "00112233445566778899aabbccddeeff",
58 
59     .generateKeyResult = HKS_SUCCESS,
60     .signResult = HKS_SUCCESS,
61     .verifyResult = HKS_SUCCESS,
62 };
63 
64 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_002_PARAMS = {
65     .spec = {
66         .algType = HKS_ALG_RSA,
67         .keyLen = HKS_RSA_KEY_SIZE_768,
68         .algParam = nullptr,
69     },
70     .usageSpec = {
71         .algType = HKS_ALG_RSA,
72         .mode = HKS_MODE_ECB,
73         .padding = HKS_PADDING_PKCS1_V1_5,
74         .digest = HKS_DIGEST_MD5,
75         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
76     },
77     .hexData = "00112233445566778899aabbccddeeff",
78 
79     .generateKeyResult = HKS_SUCCESS,
80     .signResult = HKS_SUCCESS,
81     .verifyResult = HKS_SUCCESS,
82 };
83 
84 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_003_PARAMS = {
85     .spec = {
86         .algType = HKS_ALG_RSA,
87         .keyLen = HKS_RSA_KEY_SIZE_1024,
88         .algParam = nullptr,
89     },
90     .usageSpec = {
91         .algType = HKS_ALG_RSA,
92         .mode = HKS_MODE_ECB,
93         .padding = HKS_PADDING_PKCS1_V1_5,
94         .digest = HKS_DIGEST_MD5,
95         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
96     },
97     .hexData = "00112233445566778899aabbccddeeff",
98 
99     .generateKeyResult = HKS_SUCCESS,
100     .signResult = HKS_SUCCESS,
101     .verifyResult = HKS_SUCCESS,
102 };
103 
104 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_004_PARAMS = {
105     .spec = {
106         .algType = HKS_ALG_RSA,
107         .keyLen = HKS_RSA_KEY_SIZE_2048,
108         .algParam = nullptr,
109     },
110     .usageSpec = {
111         .algType = HKS_ALG_RSA,
112         .mode = HKS_MODE_ECB,
113         .padding = HKS_PADDING_PKCS1_V1_5,
114         .digest = HKS_DIGEST_MD5,
115         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
116     },
117     .hexData = "00112233445566778899aabbccddeeff",
118 
119     .generateKeyResult = HKS_SUCCESS,
120     .signResult = HKS_SUCCESS,
121     .verifyResult = HKS_SUCCESS,
122 };
123 
124 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_005_PARAMS = {
125     .spec = {
126         .algType = HKS_ALG_RSA,
127         .keyLen = HKS_RSA_KEY_SIZE_3072,
128         .algParam = nullptr,
129     },
130     .usageSpec = {
131         .algType = HKS_ALG_RSA,
132         .mode = HKS_MODE_ECB,
133         .padding = HKS_PADDING_PKCS1_V1_5,
134         .digest = HKS_DIGEST_MD5,
135         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
136     },
137     .hexData = "00112233445566778899aabbccddeeff",
138 
139     .generateKeyResult = HKS_SUCCESS,
140     .signResult = HKS_SUCCESS,
141     .verifyResult = HKS_SUCCESS,
142 };
143 
144 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_006_PARAMS = {
145     .spec = {
146         .algType = HKS_ALG_RSA,
147         .keyLen = HKS_RSA_KEY_SIZE_4096,
148         .algParam = nullptr,
149     },
150     .usageSpec = {
151         .algType = HKS_ALG_RSA,
152         .mode = HKS_MODE_ECB,
153         .padding = HKS_PADDING_PKCS1_V1_5,
154         .digest = HKS_DIGEST_MD5,
155         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
156     },
157     .hexData = "00112233445566778899aabbccddeeff",
158 
159     .generateKeyResult = HKS_SUCCESS,
160     .signResult = HKS_SUCCESS,
161     .verifyResult = HKS_SUCCESS,
162 };
163 
164 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_007_PARAMS = {
165     .spec = {
166         .algType = HKS_ALG_RSA,
167         .keyLen = HKS_RSA_KEY_SIZE_512,
168         .algParam = nullptr,
169     },
170     .usageSpec = {
171         .algType = HKS_ALG_RSA,
172         .mode = HKS_MODE_ECB,
173         .padding = HKS_PADDING_PKCS1_V1_5,
174         .digest = HKS_DIGEST_NONE,
175         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
176     },
177     .hexData = "00112233445566778899aabbccddeeff",
178 
179     .generateKeyResult = HKS_SUCCESS,
180     .signResult = HKS_SUCCESS,
181     .verifyResult = HKS_SUCCESS,
182 };
183 
184 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_008_PARAMS = {
185     .spec = {
186         .algType = HKS_ALG_RSA,
187         .keyLen = HKS_RSA_KEY_SIZE_768,
188         .algParam = nullptr,
189     },
190     .usageSpec = {
191         .algType = HKS_ALG_RSA,
192         .mode = HKS_MODE_ECB,
193         .padding = HKS_PADDING_PKCS1_V1_5,
194         .digest = HKS_DIGEST_NONE,
195         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
196     },
197     .hexData = "00112233445566778899aabbccddeeff",
198 
199     .generateKeyResult = HKS_SUCCESS,
200     .signResult = HKS_SUCCESS,
201     .verifyResult = HKS_SUCCESS,
202 };
203 
204 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_009_PARAMS = {
205     .spec = {
206         .algType = HKS_ALG_RSA,
207         .keyLen = HKS_RSA_KEY_SIZE_1024,
208         .algParam = nullptr,
209     },
210     .usageSpec = {
211         .algType = HKS_ALG_RSA,
212         .mode = HKS_MODE_ECB,
213         .padding = HKS_PADDING_PKCS1_V1_5,
214         .digest = HKS_DIGEST_NONE,
215         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
216     },
217     .hexData = "00112233445566778899aabbccddeeff",
218 
219     .generateKeyResult = HKS_SUCCESS,
220     .signResult = HKS_SUCCESS,
221     .verifyResult = HKS_SUCCESS,
222 };
223 
224 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_010_PARAMS = {
225     .spec = {
226         .algType = HKS_ALG_RSA,
227         .keyLen = HKS_RSA_KEY_SIZE_2048,
228         .algParam = nullptr,
229     },
230     .usageSpec = {
231         .algType = HKS_ALG_RSA,
232         .mode = HKS_MODE_ECB,
233         .padding = HKS_PADDING_PKCS1_V1_5,
234         .digest = HKS_DIGEST_NONE,
235         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
236     },
237     .hexData = "00112233445566778899aabbccddeeff",
238 
239     .generateKeyResult = HKS_SUCCESS,
240     .signResult = HKS_SUCCESS,
241     .verifyResult = HKS_SUCCESS,
242 };
243 
244 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_011_PARAMS = {
245     .spec = {
246         .algType = HKS_ALG_RSA,
247         .keyLen = HKS_RSA_KEY_SIZE_3072,
248         .algParam = nullptr,
249     },
250     .usageSpec = {
251         .algType = HKS_ALG_RSA,
252         .mode = HKS_MODE_ECB,
253         .padding = HKS_PADDING_PKCS1_V1_5,
254         .digest = HKS_DIGEST_NONE,
255         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
256     },
257     .hexData = "00112233445566778899aabbccddeeff",
258 
259     .generateKeyResult = HKS_SUCCESS,
260     .signResult = HKS_SUCCESS,
261     .verifyResult = HKS_SUCCESS,
262 };
263 
264 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_012_PARAMS = {
265     .spec = {
266         .algType = HKS_ALG_RSA,
267         .keyLen = HKS_RSA_KEY_SIZE_4096,
268         .algParam = nullptr,
269     },
270     .usageSpec = {
271         .algType = HKS_ALG_RSA,
272         .mode = HKS_MODE_ECB,
273         .padding = HKS_PADDING_PKCS1_V1_5,
274         .digest = HKS_DIGEST_NONE,
275         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
276     },
277     .hexData = "00112233445566778899aabbccddeeff",
278 
279     .generateKeyResult = HKS_SUCCESS,
280     .signResult = HKS_SUCCESS,
281     .verifyResult = HKS_SUCCESS,
282 };
283 
284 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_013_PARAMS = {
285     .spec = {
286         .algType = HKS_ALG_RSA,
287         .keyLen = HKS_RSA_KEY_SIZE_512,
288         .algParam = nullptr,
289     },
290     .usageSpec = {
291         .algType = HKS_ALG_RSA,
292         .mode = HKS_MODE_ECB,
293         .padding = HKS_PADDING_PKCS1_V1_5,
294         .digest = HKS_DIGEST_SHA1,
295         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
296     },
297     .hexData = "00112233445566778899aabbccddeeff",
298 
299     .generateKeyResult = HKS_SUCCESS,
300     .signResult = HKS_SUCCESS,
301     .verifyResult = HKS_SUCCESS,
302 };
303 
304 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_014_PARAMS = {
305     .spec = {
306         .algType = HKS_ALG_RSA,
307         .keyLen = HKS_RSA_KEY_SIZE_768,
308         .algParam = nullptr,
309     },
310     .usageSpec = {
311         .algType = HKS_ALG_RSA,
312         .mode = HKS_MODE_ECB,
313         .padding = HKS_PADDING_PKCS1_V1_5,
314         .digest = HKS_DIGEST_SHA1,
315         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
316     },
317     .hexData = "00112233445566778899aabbccddeeff",
318 
319     .generateKeyResult = HKS_SUCCESS,
320     .signResult = HKS_SUCCESS,
321     .verifyResult = HKS_SUCCESS,
322 };
323 
324 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_015_PARAMS = {
325     .spec = {
326         .algType = HKS_ALG_RSA,
327         .keyLen = HKS_RSA_KEY_SIZE_1024,
328         .algParam = nullptr,
329     },
330     .usageSpec = {
331         .algType = HKS_ALG_RSA,
332         .mode = HKS_MODE_ECB,
333         .padding = HKS_PADDING_PKCS1_V1_5,
334         .digest = HKS_DIGEST_SHA1,
335         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
336     },
337     .hexData = "00112233445566778899aabbccddeeff",
338 
339     .generateKeyResult = HKS_SUCCESS,
340     .signResult = HKS_SUCCESS,
341     .verifyResult = HKS_SUCCESS,
342 };
343 
344 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_016_PARAMS = {
345     .spec = {
346         .algType = HKS_ALG_RSA,
347         .keyLen = HKS_RSA_KEY_SIZE_2048,
348         .algParam = nullptr,
349     },
350     .usageSpec = {
351         .algType = HKS_ALG_RSA,
352         .mode = HKS_MODE_ECB,
353         .padding = HKS_PADDING_PKCS1_V1_5,
354         .digest = HKS_DIGEST_SHA1,
355         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
356     },
357     .hexData = "00112233445566778899aabbccddeeff",
358 
359     .generateKeyResult = HKS_SUCCESS,
360     .signResult = HKS_SUCCESS,
361     .verifyResult = HKS_SUCCESS,
362 };
363 
364 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_017_PARAMS = {
365     .spec = {
366         .algType = HKS_ALG_RSA,
367         .keyLen = HKS_RSA_KEY_SIZE_3072,
368         .algParam = nullptr,
369     },
370     .usageSpec = {
371         .algType = HKS_ALG_RSA,
372         .mode = HKS_MODE_ECB,
373         .padding = HKS_PADDING_PKCS1_V1_5,
374         .digest = HKS_DIGEST_SHA1,
375         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
376     },
377     .hexData = "00112233445566778899aabbccddeeff",
378 
379     .generateKeyResult = HKS_SUCCESS,
380     .signResult = HKS_SUCCESS,
381     .verifyResult = HKS_SUCCESS,
382 };
383 
384 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_018_PARAMS = {
385     .spec = {
386         .algType = HKS_ALG_RSA,
387         .keyLen = HKS_RSA_KEY_SIZE_4096,
388         .algParam = nullptr,
389     },
390     .usageSpec = {
391         .algType = HKS_ALG_RSA,
392         .mode = HKS_MODE_ECB,
393         .padding = HKS_PADDING_PKCS1_V1_5,
394         .digest = HKS_DIGEST_SHA1,
395         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
396     },
397     .hexData = "00112233445566778899aabbccddeeff",
398 
399     .generateKeyResult = HKS_SUCCESS,
400     .signResult = HKS_SUCCESS,
401     .verifyResult = HKS_SUCCESS,
402 };
403 
404 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_019_PARAMS = {
405     .spec = {
406         .algType = HKS_ALG_RSA,
407         .keyLen = HKS_RSA_KEY_SIZE_512,
408         .algParam = nullptr,
409     },
410     .usageSpec = {
411         .algType = HKS_ALG_RSA,
412         .mode = HKS_MODE_ECB,
413         .padding = HKS_PADDING_PKCS1_V1_5,
414         .digest = HKS_DIGEST_SHA224,
415         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
416     },
417     .hexData = "00112233445566778899aabbccddeeff",
418 
419     .generateKeyResult = HKS_SUCCESS,
420     .signResult = HKS_SUCCESS,
421     .verifyResult = HKS_SUCCESS,
422 };
423 
424 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_020_PARAMS = {
425     .spec = {
426         .algType = HKS_ALG_RSA,
427         .keyLen = HKS_RSA_KEY_SIZE_768,
428         .algParam = nullptr,
429     },
430     .usageSpec = {
431         .algType = HKS_ALG_RSA,
432         .mode = HKS_MODE_ECB,
433         .padding = HKS_PADDING_PKCS1_V1_5,
434         .digest = HKS_DIGEST_SHA224,
435         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
436     },
437     .hexData = "00112233445566778899aabbccddeeff",
438 
439     .generateKeyResult = HKS_SUCCESS,
440     .signResult = HKS_SUCCESS,
441     .verifyResult = HKS_SUCCESS,
442 };
443 
444 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_021_PARAMS = {
445     .spec = {
446         .algType = HKS_ALG_RSA,
447         .keyLen = HKS_RSA_KEY_SIZE_1024,
448         .algParam = nullptr,
449     },
450     .usageSpec = {
451         .algType = HKS_ALG_RSA,
452         .mode = HKS_MODE_ECB,
453         .padding = HKS_PADDING_PKCS1_V1_5,
454         .digest = HKS_DIGEST_SHA224,
455         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
456     },
457     .hexData = "00112233445566778899aabbccddeeff",
458 
459     .generateKeyResult = HKS_SUCCESS,
460     .signResult = HKS_SUCCESS,
461     .verifyResult = HKS_SUCCESS,
462 };
463 
464 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_022_PARAMS = {
465     .spec = {
466         .algType = HKS_ALG_RSA,
467         .keyLen = HKS_RSA_KEY_SIZE_2048,
468         .algParam = nullptr,
469     },
470     .usageSpec = {
471         .algType = HKS_ALG_RSA,
472         .mode = HKS_MODE_ECB,
473         .padding = HKS_PADDING_PKCS1_V1_5,
474         .digest = HKS_DIGEST_SHA224,
475         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
476     },
477     .hexData = "00112233445566778899aabbccddeeff",
478 
479     .generateKeyResult = HKS_SUCCESS,
480     .signResult = HKS_SUCCESS,
481     .verifyResult = HKS_SUCCESS,
482 };
483 
484 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_023_PARAMS = {
485     .spec = {
486         .algType = HKS_ALG_RSA,
487         .keyLen = HKS_RSA_KEY_SIZE_3072,
488         .algParam = nullptr,
489     },
490     .usageSpec = {
491         .algType = HKS_ALG_RSA,
492         .mode = HKS_MODE_ECB,
493         .padding = HKS_PADDING_PKCS1_V1_5,
494         .digest = HKS_DIGEST_SHA224,
495         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
496     },
497     .hexData = "00112233445566778899aabbccddeeff",
498 
499     .generateKeyResult = HKS_SUCCESS,
500     .signResult = HKS_SUCCESS,
501     .verifyResult = HKS_SUCCESS,
502 };
503 
504 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_024_PARAMS = {
505     .spec = {
506         .algType = HKS_ALG_RSA,
507         .keyLen = HKS_RSA_KEY_SIZE_4096,
508         .algParam = nullptr,
509     },
510     .usageSpec = {
511         .algType = HKS_ALG_RSA,
512         .mode = HKS_MODE_ECB,
513         .padding = HKS_PADDING_PKCS1_V1_5,
514         .digest = HKS_DIGEST_SHA224,
515         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
516     },
517     .hexData = "00112233445566778899aabbccddeeff",
518 
519     .generateKeyResult = HKS_SUCCESS,
520     .signResult = HKS_SUCCESS,
521     .verifyResult = HKS_SUCCESS,
522 };
523 
524 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_025_PARAMS = {
525     .spec = {
526         .algType = HKS_ALG_RSA,
527         .keyLen = HKS_RSA_KEY_SIZE_512,
528         .algParam = nullptr,
529     },
530     .usageSpec = {
531         .algType = HKS_ALG_RSA,
532         .mode = HKS_MODE_ECB,
533         .padding = HKS_PADDING_PKCS1_V1_5,
534         .digest = HKS_DIGEST_SHA256,
535         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
536     },
537     .hexData = "00112233445566778899aabbccddeeff",
538 
539     .generateKeyResult = HKS_SUCCESS,
540     .signResult = HKS_SUCCESS,
541     .verifyResult = HKS_SUCCESS,
542 };
543 
544 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_026_PARAMS = {
545     .spec = {
546         .algType = HKS_ALG_RSA,
547         .keyLen = HKS_RSA_KEY_SIZE_768,
548         .algParam = nullptr,
549     },
550     .usageSpec = {
551         .algType = HKS_ALG_RSA,
552         .mode = HKS_MODE_ECB,
553         .padding = HKS_PADDING_PKCS1_V1_5,
554         .digest = HKS_DIGEST_SHA256,
555         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
556     },
557     .hexData = "00112233445566778899aabbccddeeff",
558 
559     .generateKeyResult = HKS_SUCCESS,
560     .signResult = HKS_SUCCESS,
561     .verifyResult = HKS_SUCCESS,
562 };
563 
564 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_027_PARAMS = {
565     .spec = {
566         .algType = HKS_ALG_RSA,
567         .keyLen = HKS_RSA_KEY_SIZE_1024,
568         .algParam = nullptr,
569     },
570     .usageSpec = {
571         .algType = HKS_ALG_RSA,
572         .mode = HKS_MODE_ECB,
573         .padding = HKS_PADDING_PKCS1_V1_5,
574         .digest = HKS_DIGEST_SHA256,
575         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
576     },
577     .hexData = "00112233445566778899aabbccddeeff",
578 
579     .generateKeyResult = HKS_SUCCESS,
580     .signResult = HKS_SUCCESS,
581     .verifyResult = HKS_SUCCESS,
582 };
583 
584 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_028_PARAMS = {
585     .spec = {
586         .algType = HKS_ALG_RSA,
587         .keyLen = HKS_RSA_KEY_SIZE_2048,
588         .algParam = nullptr,
589     },
590     .usageSpec = {
591         .algType = HKS_ALG_RSA,
592         .mode = HKS_MODE_ECB,
593         .padding = HKS_PADDING_PKCS1_V1_5,
594         .digest = HKS_DIGEST_SHA256,
595         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
596     },
597     .hexData = "00112233445566778899aabbccddeeff",
598 
599     .generateKeyResult = HKS_SUCCESS,
600     .signResult = HKS_SUCCESS,
601     .verifyResult = HKS_SUCCESS,
602 };
603 
604 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_029_PARAMS = {
605     .spec = {
606         .algType = HKS_ALG_RSA,
607         .keyLen = HKS_RSA_KEY_SIZE_3072,
608         .algParam = nullptr,
609     },
610     .usageSpec = {
611         .algType = HKS_ALG_RSA,
612         .mode = HKS_MODE_ECB,
613         .padding = HKS_PADDING_PKCS1_V1_5,
614         .digest = HKS_DIGEST_SHA256,
615         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
616     },
617     .hexData = "00112233445566778899aabbccddeeff",
618 
619     .generateKeyResult = HKS_SUCCESS,
620     .signResult = HKS_SUCCESS,
621     .verifyResult = HKS_SUCCESS,
622 };
623 
624 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_030_PARAMS = {
625     .spec = {
626         .algType = HKS_ALG_RSA,
627         .keyLen = HKS_RSA_KEY_SIZE_4096,
628         .algParam = nullptr,
629     },
630     .usageSpec = {
631         .algType = HKS_ALG_RSA,
632         .mode = HKS_MODE_ECB,
633         .padding = HKS_PADDING_PKCS1_V1_5,
634         .digest = HKS_DIGEST_SHA256,
635         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
636     },
637     .hexData = "00112233445566778899aabbccddeeff",
638 
639     .generateKeyResult = HKS_SUCCESS,
640     .signResult = HKS_SUCCESS,
641     .verifyResult = HKS_SUCCESS,
642 };
643 
644 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_031_PARAMS = {
645     .spec = {
646         .algType = HKS_ALG_RSA,
647         .keyLen = HKS_RSA_KEY_SIZE_768,
648         .algParam = nullptr,
649     },
650     .usageSpec = {
651         .algType = HKS_ALG_RSA,
652         .mode = HKS_MODE_ECB,
653         .padding = HKS_PADDING_PKCS1_V1_5,
654         .digest = HKS_DIGEST_SHA384,
655         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
656     },
657     .hexData = "00112233445566778899aabbccddeeff",
658 
659     .generateKeyResult = HKS_SUCCESS,
660     .signResult = HKS_SUCCESS,
661     .verifyResult = HKS_SUCCESS,
662 };
663 
664 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_032_PARAMS = {
665     .spec = {
666         .algType = HKS_ALG_RSA,
667         .keyLen = HKS_RSA_KEY_SIZE_1024,
668         .algParam = nullptr,
669     },
670     .usageSpec = {
671         .algType = HKS_ALG_RSA,
672         .mode = HKS_MODE_ECB,
673         .padding = HKS_PADDING_PKCS1_V1_5,
674         .digest = HKS_DIGEST_SHA384,
675         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
676     },
677     .hexData = "00112233445566778899aabbccddeeff",
678 
679     .generateKeyResult = HKS_SUCCESS,
680     .signResult = HKS_SUCCESS,
681     .verifyResult = HKS_SUCCESS,
682 };
683 
684 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_033_PARAMS = {
685     .spec = {
686         .algType = HKS_ALG_RSA,
687         .keyLen = HKS_RSA_KEY_SIZE_2048,
688         .algParam = nullptr,
689     },
690     .usageSpec = {
691         .algType = HKS_ALG_RSA,
692         .mode = HKS_MODE_ECB,
693         .padding = HKS_PADDING_PKCS1_V1_5,
694         .digest = HKS_DIGEST_SHA384,
695         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
696     },
697     .hexData = "00112233445566778899aabbccddeeff",
698 
699     .generateKeyResult = HKS_SUCCESS,
700     .signResult = HKS_SUCCESS,
701     .verifyResult = HKS_SUCCESS,
702 };
703 
704 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_034_PARAMS = {
705     .spec = {
706         .algType = HKS_ALG_RSA,
707         .keyLen = HKS_RSA_KEY_SIZE_3072,
708         .algParam = nullptr,
709     },
710     .usageSpec = {
711         .algType = HKS_ALG_RSA,
712         .mode = HKS_MODE_ECB,
713         .padding = HKS_PADDING_PKCS1_V1_5,
714         .digest = HKS_DIGEST_SHA384,
715         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
716     },
717     .hexData = "00112233445566778899aabbccddeeff",
718 
719     .generateKeyResult = HKS_SUCCESS,
720     .signResult = HKS_SUCCESS,
721     .verifyResult = HKS_SUCCESS,
722 };
723 
724 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_035_PARAMS = {
725     .spec = {
726         .algType = HKS_ALG_RSA,
727         .keyLen = HKS_RSA_KEY_SIZE_4096,
728         .algParam = nullptr,
729     },
730     .usageSpec = {
731         .algType = HKS_ALG_RSA,
732         .mode = HKS_MODE_ECB,
733         .padding = HKS_PADDING_PKCS1_V1_5,
734         .digest = HKS_DIGEST_SHA384,
735         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
736     },
737     .hexData = "00112233445566778899aabbccddeeff",
738 
739     .generateKeyResult = HKS_SUCCESS,
740     .signResult = HKS_SUCCESS,
741     .verifyResult = HKS_SUCCESS,
742 };
743 
744 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_036_PARAMS = {
745     .spec = {
746         .algType = HKS_ALG_RSA,
747         .keyLen = HKS_RSA_KEY_SIZE_768,
748         .algParam = nullptr,
749     },
750     .usageSpec = {
751         .algType = HKS_ALG_RSA,
752         .mode = HKS_MODE_ECB,
753         .padding = HKS_PADDING_PKCS1_V1_5,
754         .digest = HKS_DIGEST_SHA512,
755         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
756     },
757     .hexData = "00112233445566778899aabbccddeeff",
758 
759     .generateKeyResult = HKS_SUCCESS,
760     .signResult = HKS_SUCCESS,
761     .verifyResult = HKS_SUCCESS,
762 };
763 
764 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_037_PARAMS = {
765     .spec = {
766         .algType = HKS_ALG_RSA,
767         .keyLen = HKS_RSA_KEY_SIZE_1024,
768         .algParam = nullptr,
769     },
770     .usageSpec = {
771         .algType = HKS_ALG_RSA,
772         .mode = HKS_MODE_ECB,
773         .padding = HKS_PADDING_PKCS1_V1_5,
774         .digest = HKS_DIGEST_SHA512,
775         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
776     },
777     .hexData = "00112233445566778899aabbccddeeff",
778 
779     .generateKeyResult = HKS_SUCCESS,
780     .signResult = HKS_SUCCESS,
781     .verifyResult = HKS_SUCCESS,
782 };
783 
784 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_038_PARAMS = {
785     .spec = {
786         .algType = HKS_ALG_RSA,
787         .keyLen = HKS_RSA_KEY_SIZE_2048,
788         .algParam = nullptr,
789     },
790     .usageSpec = {
791         .algType = HKS_ALG_RSA,
792         .mode = HKS_MODE_ECB,
793         .padding = HKS_PADDING_PKCS1_V1_5,
794         .digest = HKS_DIGEST_SHA512,
795         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
796     },
797     .hexData = "00112233445566778899aabbccddeeff",
798 
799     .generateKeyResult = HKS_SUCCESS,
800     .signResult = HKS_SUCCESS,
801     .verifyResult = HKS_SUCCESS,
802 };
803 
804 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_039_PARAMS = {
805     .spec = {
806         .algType = HKS_ALG_RSA,
807         .keyLen = HKS_RSA_KEY_SIZE_3072,
808         .algParam = nullptr,
809     },
810     .usageSpec = {
811         .algType = HKS_ALG_RSA,
812         .mode = HKS_MODE_ECB,
813         .padding = HKS_PADDING_PKCS1_V1_5,
814         .digest = HKS_DIGEST_SHA512,
815         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
816     },
817     .hexData = "00112233445566778899aabbccddeeff",
818 
819     .generateKeyResult = HKS_SUCCESS,
820     .signResult = HKS_SUCCESS,
821     .verifyResult = HKS_SUCCESS,
822 };
823 
824 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_040_PARAMS = {
825     .spec = {
826         .algType = HKS_ALG_RSA,
827         .keyLen = HKS_RSA_KEY_SIZE_4096,
828         .algParam = nullptr,
829     },
830     .usageSpec = {
831         .algType = HKS_ALG_RSA,
832         .mode = HKS_MODE_ECB,
833         .padding = HKS_PADDING_PKCS1_V1_5,
834         .digest = HKS_DIGEST_SHA512,
835         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
836     },
837     .hexData = "00112233445566778899aabbccddeeff",
838 
839     .generateKeyResult = HKS_SUCCESS,
840     .signResult = HKS_SUCCESS,
841     .verifyResult = HKS_SUCCESS,
842 };
843 
844 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_041_PARAMS = {
845     .spec = {
846         .algType = HKS_ALG_RSA,
847         .keyLen = HKS_RSA_KEY_SIZE_512,
848         .algParam = nullptr,
849     },
850     .usageSpec = {
851         .algType = HKS_ALG_RSA,
852         .mode = HKS_MODE_ECB,
853         .padding = HKS_PADDING_PSS,
854         .digest = HKS_DIGEST_SHA1,
855         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
856     },
857     .hexData = "00112233445566778899aabbccddeeff",
858 
859     .generateKeyResult = HKS_SUCCESS,
860     .signResult = HKS_SUCCESS,
861     .verifyResult = HKS_SUCCESS,
862 };
863 
864 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_042_PARAMS = {
865     .spec = {
866         .algType = HKS_ALG_RSA,
867         .keyLen = HKS_RSA_KEY_SIZE_768,
868         .algParam = nullptr,
869     },
870     .usageSpec = {
871         .algType = HKS_ALG_RSA,
872         .mode = HKS_MODE_ECB,
873         .padding = HKS_PADDING_PSS,
874         .digest = HKS_DIGEST_SHA1,
875         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
876     },
877     .hexData = "00112233445566778899aabbccddeeff",
878 
879     .generateKeyResult = HKS_SUCCESS,
880     .signResult = HKS_SUCCESS,
881     .verifyResult = HKS_SUCCESS,
882 };
883 
884 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_043_PARAMS = {
885     .spec = {
886         .algType = HKS_ALG_RSA,
887         .keyLen = HKS_RSA_KEY_SIZE_1024,
888         .algParam = nullptr,
889     },
890     .usageSpec = {
891         .algType = HKS_ALG_RSA,
892         .mode = HKS_MODE_ECB,
893         .padding = HKS_PADDING_PSS,
894         .digest = HKS_DIGEST_SHA1,
895         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
896     },
897     .hexData = "00112233445566778899aabbccddeeff",
898 
899     .generateKeyResult = HKS_SUCCESS,
900     .signResult = HKS_SUCCESS,
901     .verifyResult = HKS_SUCCESS,
902 };
903 
904 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_044_PARAMS = {
905     .spec = {
906         .algType = HKS_ALG_RSA,
907         .keyLen = HKS_RSA_KEY_SIZE_2048,
908         .algParam = nullptr,
909     },
910     .usageSpec = {
911         .algType = HKS_ALG_RSA,
912         .mode = HKS_MODE_ECB,
913         .padding = HKS_PADDING_PSS,
914         .digest = HKS_DIGEST_SHA1,
915         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
916     },
917     .hexData = "00112233445566778899aabbccddeeff",
918 
919     .generateKeyResult = HKS_SUCCESS,
920     .signResult = HKS_SUCCESS,
921     .verifyResult = HKS_SUCCESS,
922 };
923 
924 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_045_PARAMS = {
925     .spec = {
926         .algType = HKS_ALG_RSA,
927         .keyLen = HKS_RSA_KEY_SIZE_3072,
928         .algParam = nullptr,
929     },
930     .usageSpec = {
931         .algType = HKS_ALG_RSA,
932         .mode = HKS_MODE_ECB,
933         .padding = HKS_PADDING_PSS,
934         .digest = HKS_DIGEST_SHA1,
935         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
936     },
937     .hexData = "00112233445566778899aabbccddeeff",
938 
939     .generateKeyResult = HKS_SUCCESS,
940     .signResult = HKS_SUCCESS,
941     .verifyResult = HKS_SUCCESS,
942 };
943 
944 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_046_PARAMS = {
945     .spec = {
946         .algType = HKS_ALG_RSA,
947         .keyLen = HKS_RSA_KEY_SIZE_4096,
948         .algParam = nullptr,
949     },
950     .usageSpec = {
951         .algType = HKS_ALG_RSA,
952         .mode = HKS_MODE_ECB,
953         .padding = HKS_PADDING_PSS,
954         .digest = HKS_DIGEST_SHA1,
955         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
956     },
957     .hexData = "00112233445566778899aabbccddeeff",
958 
959     .generateKeyResult = HKS_SUCCESS,
960     .signResult = HKS_SUCCESS,
961     .verifyResult = HKS_SUCCESS,
962 };
963 
964 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_047_PARAMS = {
965     .spec = {
966         .algType = HKS_ALG_RSA,
967         .keyLen = HKS_RSA_KEY_SIZE_512,
968         .algParam = nullptr,
969     },
970     .usageSpec = {
971         .algType = HKS_ALG_RSA,
972         .mode = HKS_MODE_ECB,
973         .padding = HKS_PADDING_PSS,
974         .digest = HKS_DIGEST_SHA224,
975         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
976     },
977     .hexData = "00112233445566778899aabbccddeeff",
978 
979     .generateKeyResult = HKS_SUCCESS,
980     .signResult = HKS_SUCCESS,
981     .verifyResult = HKS_SUCCESS,
982 };
983 
984 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_048_PARAMS = {
985     .spec = {
986         .algType = HKS_ALG_RSA,
987         .keyLen = HKS_RSA_KEY_SIZE_768,
988         .algParam = nullptr,
989     },
990     .usageSpec = {
991         .algType = HKS_ALG_RSA,
992         .mode = HKS_MODE_ECB,
993         .padding = HKS_PADDING_PSS,
994         .digest = HKS_DIGEST_SHA224,
995         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
996     },
997     .hexData = "00112233445566778899aabbccddeeff",
998 
999     .generateKeyResult = HKS_SUCCESS,
1000     .signResult = HKS_SUCCESS,
1001     .verifyResult = HKS_SUCCESS,
1002 };
1003 
1004 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_049_PARAMS = {
1005     .spec = {
1006         .algType = HKS_ALG_RSA,
1007         .keyLen = HKS_RSA_KEY_SIZE_1024,
1008         .algParam = nullptr,
1009     },
1010     .usageSpec = {
1011         .algType = HKS_ALG_RSA,
1012         .mode = HKS_MODE_ECB,
1013         .padding = HKS_PADDING_PSS,
1014         .digest = HKS_DIGEST_SHA224,
1015         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1016     },
1017     .hexData = "00112233445566778899aabbccddeeff",
1018 
1019     .generateKeyResult = HKS_SUCCESS,
1020     .signResult = HKS_SUCCESS,
1021     .verifyResult = HKS_SUCCESS,
1022 };
1023 
1024 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_050_PARAMS = {
1025     .spec = {
1026         .algType = HKS_ALG_RSA,
1027         .keyLen = HKS_RSA_KEY_SIZE_2048,
1028         .algParam = nullptr,
1029     },
1030     .usageSpec = {
1031         .algType = HKS_ALG_RSA,
1032         .mode = HKS_MODE_ECB,
1033         .padding = HKS_PADDING_PSS,
1034         .digest = HKS_DIGEST_SHA224,
1035         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1036     },
1037     .hexData = "00112233445566778899aabbccddeeff",
1038 
1039     .generateKeyResult = HKS_SUCCESS,
1040     .signResult = HKS_SUCCESS,
1041     .verifyResult = HKS_SUCCESS,
1042 };
1043 
1044 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_051_PARAMS = {
1045     .spec = {
1046         .algType = HKS_ALG_RSA,
1047         .keyLen = HKS_RSA_KEY_SIZE_3072,
1048         .algParam = nullptr,
1049     },
1050     .usageSpec = {
1051         .algType = HKS_ALG_RSA,
1052         .mode = HKS_MODE_ECB,
1053         .padding = HKS_PADDING_PSS,
1054         .digest = HKS_DIGEST_SHA224,
1055         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1056     },
1057     .hexData = "00112233445566778899aabbccddeeff",
1058 
1059     .generateKeyResult = HKS_SUCCESS,
1060     .signResult = HKS_SUCCESS,
1061     .verifyResult = HKS_SUCCESS,
1062 };
1063 
1064 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_052_PARAMS = {
1065     .spec = {
1066         .algType = HKS_ALG_RSA,
1067         .keyLen = HKS_RSA_KEY_SIZE_4096,
1068         .algParam = nullptr,
1069     },
1070     .usageSpec = {
1071         .algType = HKS_ALG_RSA,
1072         .mode = HKS_MODE_ECB,
1073         .padding = HKS_PADDING_PSS,
1074         .digest = HKS_DIGEST_SHA224,
1075         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1076     },
1077     .hexData = "00112233445566778899aabbccddeeff",
1078 
1079     .generateKeyResult = HKS_SUCCESS,
1080     .signResult = HKS_SUCCESS,
1081     .verifyResult = HKS_SUCCESS,
1082 };
1083 
1084 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_053_PARAMS = {
1085     .spec = {
1086         .algType = HKS_ALG_RSA,
1087         .keyLen = HKS_RSA_KEY_SIZE_512,
1088         .algParam = nullptr,
1089     },
1090     .usageSpec = {
1091         .algType = HKS_ALG_RSA,
1092         .mode = HKS_MODE_ECB,
1093         .padding = HKS_PADDING_PSS,
1094         .digest = HKS_DIGEST_SHA256,
1095         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1096     },
1097     .hexData = "00112233445566778899aabbccddeeff",
1098 
1099     .generateKeyResult = HKS_SUCCESS,
1100     .signResult = HKS_SUCCESS,
1101     .verifyResult = HKS_SUCCESS,
1102 };
1103 
1104 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_054_PARAMS = {
1105     .spec = {
1106         .algType = HKS_ALG_RSA,
1107         .keyLen = HKS_RSA_KEY_SIZE_768,
1108         .algParam = nullptr,
1109     },
1110     .usageSpec = {
1111         .algType = HKS_ALG_RSA,
1112         .mode = HKS_MODE_ECB,
1113         .padding = HKS_PADDING_PSS,
1114         .digest = HKS_DIGEST_SHA256,
1115         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1116     },
1117     .hexData = "00112233445566778899aabbccddeeff",
1118 
1119     .generateKeyResult = HKS_SUCCESS,
1120     .signResult = HKS_SUCCESS,
1121     .verifyResult = HKS_SUCCESS,
1122 };
1123 
1124 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_055_PARAMS = {
1125     .spec = {
1126         .algType = HKS_ALG_RSA,
1127         .keyLen = HKS_RSA_KEY_SIZE_1024,
1128         .algParam = nullptr,
1129     },
1130     .usageSpec = {
1131         .algType = HKS_ALG_RSA,
1132         .mode = HKS_MODE_ECB,
1133         .padding = HKS_PADDING_PSS,
1134         .digest = HKS_DIGEST_SHA256,
1135         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1136     },
1137     .hexData = "00112233445566778899aabbccddeeff",
1138 
1139     .generateKeyResult = HKS_SUCCESS,
1140     .signResult = HKS_SUCCESS,
1141     .verifyResult = HKS_SUCCESS,
1142 };
1143 
1144 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_056_PARAMS = {
1145     .spec = {
1146         .algType = HKS_ALG_RSA,
1147         .keyLen = HKS_RSA_KEY_SIZE_2048,
1148         .algParam = nullptr,
1149     },
1150     .usageSpec = {
1151         .algType = HKS_ALG_RSA,
1152         .mode = HKS_MODE_ECB,
1153         .padding = HKS_PADDING_PSS,
1154         .digest = HKS_DIGEST_SHA256,
1155         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1156     },
1157     .hexData = "00112233445566778899aabbccddeeff",
1158 
1159     .generateKeyResult = HKS_SUCCESS,
1160     .signResult = HKS_SUCCESS,
1161     .verifyResult = HKS_SUCCESS,
1162 };
1163 
1164 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_057_PARAMS = {
1165     .spec = {
1166         .algType = HKS_ALG_RSA,
1167         .keyLen = HKS_RSA_KEY_SIZE_3072,
1168         .algParam = nullptr,
1169     },
1170     .usageSpec = {
1171         .algType = HKS_ALG_RSA,
1172         .mode = HKS_MODE_ECB,
1173         .padding = HKS_PADDING_PSS,
1174         .digest = HKS_DIGEST_SHA256,
1175         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1176     },
1177     .hexData = "00112233445566778899aabbccddeeff",
1178 
1179     .generateKeyResult = HKS_SUCCESS,
1180     .signResult = HKS_SUCCESS,
1181     .verifyResult = HKS_SUCCESS,
1182 };
1183 
1184 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_058_PARAMS = {
1185     .spec = {
1186         .algType = HKS_ALG_RSA,
1187         .keyLen = HKS_RSA_KEY_SIZE_4096,
1188         .algParam = nullptr,
1189     },
1190     .usageSpec = {
1191         .algType = HKS_ALG_RSA,
1192         .mode = HKS_MODE_ECB,
1193         .padding = HKS_PADDING_PSS,
1194         .digest = HKS_DIGEST_SHA256,
1195         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1196     },
1197     .hexData = "00112233445566778899aabbccddeeff",
1198 
1199     .generateKeyResult = HKS_SUCCESS,
1200     .signResult = HKS_SUCCESS,
1201     .verifyResult = HKS_SUCCESS,
1202 };
1203 
1204 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_059_PARAMS = {
1205     .spec = {
1206         .algType = HKS_ALG_RSA,
1207         .keyLen = HKS_RSA_KEY_SIZE_512,
1208         .algParam = nullptr,
1209     },
1210     .usageSpec = {
1211         .algType = HKS_ALG_RSA,
1212         .mode = HKS_MODE_ECB,
1213         .padding = HKS_PADDING_PSS,
1214         .digest = HKS_DIGEST_SHA384,
1215         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1216     },
1217     .hexData = "00112233445566778899aabbccddeeff",
1218 
1219     .generateKeyResult = HKS_SUCCESS,
1220 #if defined(_USE_MBEDTLS_)
1221     .signResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1222     .verifyResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1223 #endif
1224 #if defined(_USE_OPENSSL_)
1225     .signResult = HKS_SUCCESS,
1226     .verifyResult = HKS_SUCCESS,
1227 #endif
1228 };
1229 
1230 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_060_PARAMS = {
1231     .spec = {
1232         .algType = HKS_ALG_RSA,
1233         .keyLen = HKS_RSA_KEY_SIZE_768,
1234         .algParam = nullptr,
1235     },
1236     .usageSpec = {
1237         .algType = HKS_ALG_RSA,
1238         .mode = HKS_MODE_ECB,
1239         .padding = HKS_PADDING_PSS,
1240         .digest = HKS_DIGEST_SHA384,
1241         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1242     },
1243     .hexData = "00112233445566778899aabbccddeeff",
1244 
1245     .generateKeyResult = HKS_SUCCESS,
1246     .signResult = HKS_SUCCESS,
1247     .verifyResult = HKS_SUCCESS,
1248 };
1249 
1250 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_061_PARAMS = {
1251     .spec = {
1252         .algType = HKS_ALG_RSA,
1253         .keyLen = HKS_RSA_KEY_SIZE_1024,
1254         .algParam = nullptr,
1255     },
1256     .usageSpec = {
1257         .algType = HKS_ALG_RSA,
1258         .mode = HKS_MODE_ECB,
1259         .padding = HKS_PADDING_PSS,
1260         .digest = HKS_DIGEST_SHA384,
1261         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1262     },
1263     .hexData = "00112233445566778899aabbccddeeff",
1264 
1265     .generateKeyResult = HKS_SUCCESS,
1266     .signResult = HKS_SUCCESS,
1267     .verifyResult = HKS_SUCCESS,
1268 };
1269 
1270 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_062_PARAMS = {
1271     .spec = {
1272         .algType = HKS_ALG_RSA,
1273         .keyLen = HKS_RSA_KEY_SIZE_2048,
1274         .algParam = nullptr,
1275     },
1276     .usageSpec = {
1277         .algType = HKS_ALG_RSA,
1278         .mode = HKS_MODE_ECB,
1279         .padding = HKS_PADDING_PSS,
1280         .digest = HKS_DIGEST_SHA384,
1281         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1282     },
1283     .hexData = "00112233445566778899aabbccddeeff",
1284 
1285     .generateKeyResult = HKS_SUCCESS,
1286     .signResult = HKS_SUCCESS,
1287     .verifyResult = HKS_SUCCESS,
1288 };
1289 
1290 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_063_PARAMS = {
1291     .spec = {
1292         .algType = HKS_ALG_RSA,
1293         .keyLen = HKS_RSA_KEY_SIZE_3072,
1294         .algParam = nullptr,
1295     },
1296     .usageSpec = {
1297         .algType = HKS_ALG_RSA,
1298         .mode = HKS_MODE_ECB,
1299         .padding = HKS_PADDING_PSS,
1300         .digest = HKS_DIGEST_SHA384,
1301         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1302     },
1303     .hexData = "00112233445566778899aabbccddeeff",
1304 
1305     .generateKeyResult = HKS_SUCCESS,
1306     .signResult = HKS_SUCCESS,
1307     .verifyResult = HKS_SUCCESS,
1308 };
1309 
1310 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_064_PARAMS = {
1311     .spec = {
1312         .algType = HKS_ALG_RSA,
1313         .keyLen = HKS_RSA_KEY_SIZE_4096,
1314         .algParam = nullptr,
1315     },
1316     .usageSpec = {
1317         .algType = HKS_ALG_RSA,
1318         .mode = HKS_MODE_ECB,
1319         .padding = HKS_PADDING_PSS,
1320         .digest = HKS_DIGEST_SHA384,
1321         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1322     },
1323     .hexData = "00112233445566778899aabbccddeeff",
1324 
1325     .generateKeyResult = HKS_SUCCESS,
1326     .signResult = HKS_SUCCESS,
1327     .verifyResult = HKS_SUCCESS,
1328 };
1329 
1330 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_065_PARAMS = {
1331     .spec = {
1332         .algType = HKS_ALG_RSA,
1333         .keyLen = HKS_RSA_KEY_SIZE_768,
1334         .algParam = nullptr,
1335     },
1336     .usageSpec = {
1337         .algType = HKS_ALG_RSA,
1338         .mode = HKS_MODE_ECB,
1339         .padding = HKS_PADDING_PSS,
1340         .digest = HKS_DIGEST_SHA512,
1341         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1342     },
1343     .hexData = "00112233445566778899aabbccddeeff",
1344 
1345     .generateKeyResult = HKS_SUCCESS,
1346 #if defined(_USE_MBEDTLS_)
1347     .signResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1348     .verifyResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1349 #endif
1350 #if defined(_USE_OPENSSL_)
1351     .signResult = HKS_SUCCESS,
1352     .verifyResult = HKS_SUCCESS,
1353 #endif
1354 };
1355 
1356 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_066_PARAMS = {
1357     .spec = {
1358         .algType = HKS_ALG_RSA,
1359         .keyLen = HKS_RSA_KEY_SIZE_1024,
1360         .algParam = nullptr,
1361     },
1362     .usageSpec = {
1363         .algType = HKS_ALG_RSA,
1364         .mode = HKS_MODE_ECB,
1365         .padding = HKS_PADDING_PSS,
1366         .digest = HKS_DIGEST_SHA512,
1367         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1368     },
1369     .hexData = "00112233445566778899aabbccddeeff",
1370 
1371     .generateKeyResult = HKS_SUCCESS,
1372     .signResult = HKS_SUCCESS,
1373     .verifyResult = HKS_SUCCESS,
1374 };
1375 
1376 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_067_PARAMS = {
1377     .spec = {
1378         .algType = HKS_ALG_RSA,
1379         .keyLen = HKS_RSA_KEY_SIZE_2048,
1380         .algParam = nullptr,
1381     },
1382     .usageSpec = {
1383         .algType = HKS_ALG_RSA,
1384         .mode = HKS_MODE_ECB,
1385         .padding = HKS_PADDING_PSS,
1386         .digest = HKS_DIGEST_SHA512,
1387         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1388     },
1389     .hexData = "00112233445566778899aabbccddeeff",
1390 
1391     .generateKeyResult = HKS_SUCCESS,
1392     .signResult = HKS_SUCCESS,
1393     .verifyResult = HKS_SUCCESS,
1394 };
1395 
1396 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_068_PARAMS = {
1397     .spec = {
1398         .algType = HKS_ALG_RSA,
1399         .keyLen = HKS_RSA_KEY_SIZE_3072,
1400         .algParam = nullptr,
1401     },
1402     .usageSpec = {
1403         .algType = HKS_ALG_RSA,
1404         .mode = HKS_MODE_ECB,
1405         .padding = HKS_PADDING_PSS,
1406         .digest = HKS_DIGEST_SHA512,
1407         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1408     },
1409     .hexData = "00112233445566778899aabbccddeeff",
1410 
1411     .generateKeyResult = HKS_SUCCESS,
1412     .signResult = HKS_SUCCESS,
1413     .verifyResult = HKS_SUCCESS,
1414 };
1415 
1416 const TestCaseParams HKS_CRYPTO_HAL_RSA_SIGN_069_PARAMS = {
1417     .spec = {
1418         .algType = HKS_ALG_RSA,
1419         .keyLen = HKS_RSA_KEY_SIZE_4096,
1420         .algParam = nullptr,
1421     },
1422     .usageSpec = {
1423         .algType = HKS_ALG_RSA,
1424         .mode = HKS_MODE_ECB,
1425         .padding = HKS_PADDING_PSS,
1426         .digest = HKS_DIGEST_SHA512,
1427         .purpose = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY,
1428     },
1429     .hexData = "00112233445566778899aabbccddeeff",
1430 
1431     .generateKeyResult = HKS_SUCCESS,
1432     .signResult = HKS_SUCCESS,
1433     .verifyResult = HKS_SUCCESS,
1434 };
1435 }  // namespace
1436 
1437 class HksCryptoHalRsaSign : public HksCryptoHalCommon, public testing::Test {
1438 public:
1439     static void SetUpTestCase(void);
1440     static void TearDownTestCase(void);
1441     void SetUp();
1442     void TearDown();
1443 protected:
RunTestCase(const TestCaseParams & testCaseParams) const1444     void RunTestCase(const TestCaseParams &testCaseParams) const
1445     {
1446         HksBlob key = { .size = 0, .data = nullptr };
1447 
1448         EXPECT_EQ(HksCryptoHalGenerateKey(&testCaseParams.spec, &key), testCaseParams.generateKeyResult);
1449 
1450         uint32_t dataLen = testCaseParams.hexData.length() / HKS_COUNT_OF_HALF;
1451 
1452         HksBlob message = { .size = dataLen, .data = (uint8_t *)HksMalloc(dataLen) };
1453         ASSERT_NE(message.data, nullptr);
1454         for (uint32_t ii = 0; ii < dataLen; ii++) {
1455             message.data[ii] = ReadHex((const uint8_t *)&testCaseParams.hexData[HKS_COUNT_OF_HALF * ii]);
1456         }
1457 
1458         struct HksBlob* pBlob = nullptr;
1459         uint8_t hashData[HKS_HMAC_DIGEST_SHA512_LEN] = {0};
1460         struct HksBlob hash = { HKS_HMAC_DIGEST_SHA512_LEN, hashData };
1461         if (testCaseParams.runStage == HksStageType::HKS_STAGE_THREE) {
1462             /* NONEwithECDSA default sha256: ec_pkey_ctrl default md nid */
1463             struct HksUsageSpec usageSpec = testCaseParams.usageSpec;
1464             uint32_t inputDigest = usageSpec.digest;
1465             usageSpec.digest = (inputDigest == HKS_DIGEST_NONE) ? HKS_DIGEST_SHA256 : inputDigest;
1466             EXPECT_EQ(HksCryptoHalHash(usageSpec.digest, &message, &hash), HKS_SUCCESS);
1467             pBlob = &hash;
1468         } else {
1469             pBlob = &message;
1470         }
1471 
1472         struct HksBlob signature = { .size = SIGNATURE_SIZE, .data = (uint8_t *)HksMalloc(SIGNATURE_SIZE) };
1473         ASSERT_NE(signature.data, nullptr);
1474 
1475         EXPECT_EQ(HksCryptoHalSign(&key, &testCaseParams.usageSpec, pBlob, &signature), testCaseParams.signResult);
1476 
1477         struct HksBlob pubKey = { .size = MAX_PUB_KEY_SIZE, .data = (uint8_t *)HksMalloc(MAX_PUB_KEY_SIZE) };
1478         ASSERT_NE(pubKey.data, nullptr);
1479 
1480         EXPECT_EQ(HksCryptoHalGetPubKey(&key, &pubKey), HKS_SUCCESS);
1481 
1482         EXPECT_EQ(
1483             HksCryptoHalVerify(&pubKey, &testCaseParams.usageSpec, pBlob, &signature), testCaseParams.verifyResult);
1484 
1485         HksFree(message.data);
1486         HksFree(signature.data);
1487         HksFree(pubKey.data);
1488         HksFree(key.data);
1489     }
1490 };
1491 
SetUpTestCase(void)1492 void HksCryptoHalRsaSign::SetUpTestCase(void)
1493 {
1494 }
1495 
TearDownTestCase(void)1496 void HksCryptoHalRsaSign::TearDownTestCase(void)
1497 {
1498 }
1499 
SetUp()1500 void HksCryptoHalRsaSign::SetUp()
1501 {
1502     EXPECT_EQ(HksCryptoAbilityInit(), 0);
1503 }
1504 
TearDown()1505 void HksCryptoHalRsaSign::TearDown()
1506 {
1507 }
1508 
1509 /**
1510  * @tc.number    : HksCryptoHalRsaSign_001
1511  * @tc.name      : HksCryptoHalRsaSign_001
1512  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PKCS1PADDING-MD5 key.
1513  */
1514 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_001, Function | SmallTest | Level1)
1515 {
1516     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_001_PARAMS);
1517 }
1518 
1519 /**
1520  * @tc.number    : HksCryptoHalRsaSign_002
1521  * @tc.name      : HksCryptoHalRsaSign_002
1522  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PKCS1PADDING-MD5 key.
1523  */
1524 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_002, Function | SmallTest | Level1)
1525 {
1526     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_002_PARAMS);
1527 }
1528 
1529 /**
1530  * @tc.number    : HksCryptoHalRsaSign_003
1531  * @tc.name      : HksCryptoHalRsaSign_003
1532  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PKCS1PADDING-MD5 key.
1533  */
1534 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_003, Function | SmallTest | Level1)
1535 {
1536     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_003_PARAMS);
1537 }
1538 
1539 /**
1540  * @tc.number    : HksCryptoHalRsaSign_004
1541  * @tc.name      : HksCryptoHalRsaSign_004
1542  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PKCS1PADDING-MD5 key.
1543  */
1544 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_004, Function | SmallTest | Level1)
1545 {
1546     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_004_PARAMS);
1547 }
1548 
1549 #ifndef CUT_RSA_4096_TEST
1550 /**
1551  * @tc.number    : HksCryptoHalRsaSign_005
1552  * @tc.name      : HksCryptoHalRsaSign_005
1553  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PKCS1PADDING-MD5 key.
1554  */
1555 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_005, Function | SmallTest | Level1)
1556 {
1557     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_005_PARAMS);
1558 }
1559 
1560 /**
1561  * @tc.number    : HksCryptoHalRsaSign_006
1562  * @tc.name      : HksCryptoHalRsaSign_006
1563  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PKCS1PADDING-MD5 key.
1564  */
1565 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_006, Function | SmallTest | Level1)
1566 {
1567     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_006_PARAMS);
1568 }
1569 #endif
1570 
1571 /**
1572  * @tc.number    : HksCryptoHalRsaSign_007
1573  * @tc.name      : HksCryptoHalRsaSign_007
1574  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PKCS1PADDING-NONE key.
1575  */
1576 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_007, Function | SmallTest | Level1)
1577 {
1578     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_007_PARAMS);
1579 }
1580 
1581 /**
1582  * @tc.number    : HksCryptoHalRsaSign_008
1583  * @tc.name      : HksCryptoHalRsaSign_008
1584  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PKCS1PADDING-NONE key.
1585  */
1586 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_008, Function | SmallTest | Level1)
1587 {
1588     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_008_PARAMS);
1589 }
1590 
1591 /**
1592  * @tc.number    : HksCryptoHalRsaSign_009
1593  * @tc.name      : HksCryptoHalRsaSign_009
1594  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PKCS1PADDING-NONE key.
1595  */
1596 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_009, Function | SmallTest | Level1)
1597 {
1598     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_009_PARAMS);
1599 }
1600 
1601 /**
1602  * @tc.number    : HksCryptoHalRsaSign_010
1603  * @tc.name      : HksCryptoHalRsaSign_010
1604  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PKCS1PADDING-NONE key.
1605  */
1606 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_010, Function | SmallTest | Level1)
1607 {
1608     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_010_PARAMS);
1609 }
1610 
1611 #ifndef CUT_RSA_4096_TEST
1612 /**
1613  * @tc.number    : HksCryptoHalRsaSign_011
1614  * @tc.name      : HksCryptoHalRsaSign_011
1615  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PKCS1PADDING-NONE key.
1616  */
1617 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_011, Function | SmallTest | Level1)
1618 {
1619     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_011_PARAMS);
1620 }
1621 
1622 /**
1623  * @tc.number    : HksCryptoHalRsaSign_012
1624  * @tc.name      : HksCryptoHalRsaSign_012
1625  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PKCS1PADDING-NONE key.
1626  */
1627 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_012, Function | SmallTest | Level1)
1628 {
1629     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_012_PARAMS);
1630 }
1631 #endif
1632 
1633 /**
1634  * @tc.number    : HksCryptoHalRsaSign_013
1635  * @tc.name      : HksCryptoHalRsaSign_013
1636  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PKCS1PADDING-SHA1 key.
1637  */
1638 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_013, Function | SmallTest | Level1)
1639 {
1640     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_013_PARAMS);
1641 }
1642 
1643 /**
1644  * @tc.number    : HksCryptoHalRsaSign_014
1645  * @tc.name      : HksCryptoHalRsaSign_014
1646  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PKCS1PADDING-SHA1 key.
1647  */
1648 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_014, Function | SmallTest | Level1)
1649 {
1650     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_014_PARAMS);
1651 }
1652 
1653 /**
1654  * @tc.number    : HksCryptoHalRsaSign_015
1655  * @tc.name      : HksCryptoHalRsaSign_015
1656  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PKCS1PADDING-SHA1 key.
1657  */
1658 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_015, Function | SmallTest | Level1)
1659 {
1660     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_015_PARAMS);
1661 }
1662 
1663 /**
1664  * @tc.number    : HksCryptoHalRsaSign_016
1665  * @tc.name      : HksCryptoHalRsaSign_016
1666  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PKCS1PADDING-SHA1 key.
1667  */
1668 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_016, Function | SmallTest | Level1)
1669 {
1670     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_016_PARAMS);
1671 }
1672 
1673 #ifndef CUT_RSA_4096_TEST
1674 /**
1675  * @tc.number    : HksCryptoHalRsaSign_017
1676  * @tc.name      : HksCryptoHalRsaSign_017
1677  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PKCS1PADDING-SHA1 key.
1678  */
1679 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_017, Function | SmallTest | Level1)
1680 {
1681     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_017_PARAMS);
1682 }
1683 
1684 /**
1685  * @tc.number    : HksCryptoHalRsaSign_018
1686  * @tc.name      : HksCryptoHalRsaSign_018
1687  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PKCS1PADDING-SHA1 key.
1688  */
1689 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_018, Function | SmallTest | Level1)
1690 {
1691     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_018_PARAMS);
1692 }
1693 #endif
1694 
1695 /**
1696  * @tc.number    : HksCryptoHalRsaSign_019
1697  * @tc.name      : HksCryptoHalRsaSign_019
1698  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PKCS1PADDING-SHA224 key.
1699  */
1700 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_019, Function | SmallTest | Level1)
1701 {
1702     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_019_PARAMS);
1703 }
1704 
1705 /**
1706  * @tc.number    : HksCryptoHalRsaSign_020
1707  * @tc.name      : HksCryptoHalRsaSign_020
1708  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PKCS1PADDING-SHA224 key.
1709  */
1710 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_020, Function | SmallTest | Level1)
1711 {
1712     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_020_PARAMS);
1713 }
1714 
1715 /**
1716  * @tc.number    : HksCryptoHalRsaSign_021
1717  * @tc.name      : HksCryptoHalRsaSign_021
1718  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PKCS1PADDING-SHA224 key.
1719  */
1720 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_021, Function | SmallTest | Level1)
1721 {
1722     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_021_PARAMS);
1723 }
1724 
1725 /**
1726  * @tc.number    : HksCryptoHalRsaSign_022
1727  * @tc.name      : HksCryptoHalRsaSign_022
1728  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PKCS1PADDING-SHA224 key.
1729  */
1730 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_022, Function | SmallTest | Level1)
1731 {
1732     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_022_PARAMS);
1733 }
1734 
1735 #ifndef CUT_RSA_4096_TEST
1736 /**
1737  * @tc.number    : HksCryptoHalRsaSign_023
1738  * @tc.name      : HksCryptoHalRsaSign_023
1739  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PKCS1PADDING-SHA224 key.
1740  */
1741 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_023, Function | SmallTest | Level1)
1742 {
1743     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_023_PARAMS);
1744 }
1745 
1746 /**
1747  * @tc.number    : HksCryptoHalRsaSign_024
1748  * @tc.name      : HksCryptoHalRsaSign_024
1749  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PKCS1PADDING-SHA224 key.
1750  */
1751 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_024, Function | SmallTest | Level1)
1752 {
1753     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_024_PARAMS);
1754 }
1755 #endif
1756 
1757 /**
1758  * @tc.number    : HksCryptoHalRsaSign_025
1759  * @tc.name      : HksCryptoHalRsaSign_025
1760  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PKCS1PADDING-SHA256 key.
1761  */
1762 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_025, Function | SmallTest | Level1)
1763 {
1764     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_025_PARAMS);
1765 }
1766 
1767 /**
1768  * @tc.number    : HksCryptoHalRsaSign_026
1769  * @tc.name      : HksCryptoHalRsaSign_026
1770  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PKCS1PADDING-SHA256 key.
1771  */
1772 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_026, Function | SmallTest | Level1)
1773 {
1774     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_026_PARAMS);
1775 }
1776 
1777 /**
1778  * @tc.number    : HksCryptoHalRsaSign_027
1779  * @tc.name      : HksCryptoHalRsaSign_027
1780  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PKCS1PADDING-SHA256 key.
1781  */
1782 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_027, Function | SmallTest | Level1)
1783 {
1784     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_027_PARAMS);
1785 }
1786 
1787 /**
1788  * @tc.number    : HksCryptoHalRsaSign_028
1789  * @tc.name      : HksCryptoHalRsaSign_028
1790  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PKCS1PADDING-SHA256 key.
1791  */
1792 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_028, Function | SmallTest | Level1)
1793 {
1794     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_028_PARAMS);
1795 }
1796 
1797 #ifndef CUT_RSA_4096_TEST
1798 /**
1799  * @tc.number    : HksCryptoHalRsaSign_029
1800  * @tc.name      : HksCryptoHalRsaSign_029
1801  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PKCS1PADDING-SHA256 key.
1802  */
1803 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_029, Function | SmallTest | Level1)
1804 {
1805     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_029_PARAMS);
1806 }
1807 
1808 /**
1809  * @tc.number    : HksCryptoHalRsaSign_030
1810  * @tc.name      : HksCryptoHalRsaSign_030
1811  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PKCS1PADDING-SHA256 key.
1812  */
1813 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_030, Function | SmallTest | Level1)
1814 {
1815     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_030_PARAMS);
1816 }
1817 #endif
1818 
1819 /**
1820  * @tc.number    : HksCryptoHalRsaSign_031
1821  * @tc.name      : HksCryptoHalRsaSign_031
1822  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PKCS1PADDING-SHA384 key.
1823  */
1824 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_031, Function | SmallTest | Level1)
1825 {
1826     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_031_PARAMS);
1827 }
1828 
1829 /**
1830  * @tc.number    : HksCryptoHalRsaSign_032
1831  * @tc.name      : HksCryptoHalRsaSign_032
1832  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PKCS1PADDING-SHA384 key.
1833  */
1834 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_032, Function | SmallTest | Level1)
1835 {
1836     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_032_PARAMS);
1837 }
1838 
1839 /**
1840  * @tc.number    : HksCryptoHalRsaSign_033
1841  * @tc.name      : HksCryptoHalRsaSign_033
1842  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PKCS1PADDING-SHA384 key.
1843  */
1844 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_033, Function | SmallTest | Level1)
1845 {
1846     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_033_PARAMS);
1847 }
1848 
1849 #ifndef CUT_RSA_4096_TEST
1850 /**
1851  * @tc.number    : HksCryptoHalRsaSign_034
1852  * @tc.name      : HksCryptoHalRsaSign_034
1853  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PKCS1PADDING-SHA384 key.
1854  */
1855 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_034, Function | SmallTest | Level1)
1856 {
1857     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_034_PARAMS);
1858 }
1859 
1860 /**
1861  * @tc.number    : HksCryptoHalRsaSign_035
1862  * @tc.name      : HksCryptoHalRsaSign_035
1863  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PKCS1PADDING-SHA384 key.
1864  */
1865 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_035, Function | SmallTest | Level1)
1866 {
1867     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_035_PARAMS);
1868 }
1869 #endif
1870 
1871 /**
1872  * @tc.number    : HksCryptoHalRsaSign_036
1873  * @tc.name      : HksCryptoHalRsaSign_036
1874  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PKCS1PADDING-SHA512 key.
1875  */
1876 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_036, Function | SmallTest | Level1)
1877 {
1878     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_036_PARAMS);
1879 }
1880 
1881 /**
1882  * @tc.number    : HksCryptoHalRsaSign_037
1883  * @tc.name      : HksCryptoHalRsaSign_037
1884  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PKCS1PADDING-SHA512 key.
1885  */
1886 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_037, Function | SmallTest | Level1)
1887 {
1888     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_037_PARAMS);
1889 }
1890 
1891 /**
1892  * @tc.number    : HksCryptoHalRsaSign_038
1893  * @tc.name      : HksCryptoHalRsaSign_038
1894  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PKCS1PADDING-SHA512 key.
1895  */
1896 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_038, Function | SmallTest | Level1)
1897 {
1898     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_038_PARAMS);
1899 }
1900 
1901 #ifndef CUT_RSA_4096_TEST
1902 /**
1903  * @tc.number    : HksCryptoHalRsaSign_039
1904  * @tc.name      : HksCryptoHalRsaSign_039
1905  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PKCS1PADDING-SHA512 key.
1906  */
1907 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_039, Function | SmallTest | Level1)
1908 {
1909     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_039_PARAMS);
1910 }
1911 
1912 /**
1913  * @tc.number    : HksCryptoHalRsaSign_040
1914  * @tc.name      : HksCryptoHalRsaSign_040
1915  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PKCS1PADDING-SHA512 key.
1916  */
1917 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_040, Function | SmallTest | Level1)
1918 {
1919     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_040_PARAMS);
1920 }
1921 #endif
1922 
1923 /**
1924  * @tc.number    : HksCryptoHalRsaSign_041
1925  * @tc.name      : HksCryptoHalRsaSign_041
1926  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PSSPADDING-SHA1 key.
1927  */
1928 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_041, Function | SmallTest | Level1)
1929 {
1930     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_041_PARAMS);
1931 }
1932 
1933 /**
1934  * @tc.number    : HksCryptoHalRsaSign_042
1935  * @tc.name      : HksCryptoHalRsaSign_042
1936  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PSSPADDING-SHA1 key.
1937  */
1938 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_042, Function | SmallTest | Level1)
1939 {
1940     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_042_PARAMS);
1941 }
1942 
1943 /**
1944  * @tc.number    : HksCryptoHalRsaSign_043
1945  * @tc.name      : HksCryptoHalRsaSign_043
1946  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PSSPADDING-SHA1 key.
1947  */
1948 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_043, Function | SmallTest | Level1)
1949 {
1950     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_043_PARAMS);
1951 }
1952 
1953 /**
1954  * @tc.number    : HksCryptoHalRsaSign_044
1955  * @tc.name      : HksCryptoHalRsaSign_044
1956  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PSSPADDING-SHA1 key.
1957  */
1958 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_044, Function | SmallTest | Level1)
1959 {
1960     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_044_PARAMS);
1961 }
1962 
1963 #ifndef CUT_RSA_4096_TEST
1964 /**
1965  * @tc.number    : HksCryptoHalRsaSign_045
1966  * @tc.name      : HksCryptoHalRsaSign_045
1967  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PSSPADDING-SHA1 key.
1968  */
1969 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_045, Function | SmallTest | Level1)
1970 {
1971     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_045_PARAMS);
1972 }
1973 
1974 /**
1975  * @tc.number    : HksCryptoHalRsaSign_046
1976  * @tc.name      : HksCryptoHalRsaSign_046
1977  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PSSPADDING-SHA1 key.
1978  */
1979 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_046, Function | SmallTest | Level1)
1980 {
1981     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_046_PARAMS);
1982 }
1983 #endif
1984 
1985 /**
1986  * @tc.number    : HksCryptoHalRsaSign_047
1987  * @tc.name      : HksCryptoHalRsaSign_047
1988  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PSSPADDING-SHA224 key.
1989  */
1990 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_047, Function | SmallTest | Level1)
1991 {
1992     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_047_PARAMS);
1993 }
1994 
1995 /**
1996  * @tc.number    : HksCryptoHalRsaSign_048
1997  * @tc.name      : HksCryptoHalRsaSign_048
1998  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PSSPADDING-SHA224 key.
1999  */
2000 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_048, Function | SmallTest | Level1)
2001 {
2002     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_048_PARAMS);
2003 }
2004 
2005 /**
2006  * @tc.number    : HksCryptoHalRsaSign_049
2007  * @tc.name      : HksCryptoHalRsaSign_049
2008  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PSSPADDING-SHA224 key.
2009  */
2010 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_049, Function | SmallTest | Level1)
2011 {
2012     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_049_PARAMS);
2013 }
2014 
2015 /**
2016  * @tc.number    : HksCryptoHalRsaSign_050
2017  * @tc.name      : HksCryptoHalRsaSign_050
2018  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PSSPADDING-SHA224 key.
2019  */
2020 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_050, Function | SmallTest | Level1)
2021 {
2022     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_050_PARAMS);
2023 }
2024 
2025 #ifndef CUT_RSA_4096_TEST
2026 /**
2027  * @tc.number    : HksCryptoHalRsaSign_051
2028  * @tc.name      : HksCryptoHalRsaSign_051
2029  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PSSPADDING-SHA224 key.
2030  */
2031 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_051, Function | SmallTest | Level1)
2032 {
2033     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_051_PARAMS);
2034 }
2035 
2036 /**
2037  * @tc.number    : HksCryptoHalRsaSign_052
2038  * @tc.name      : HksCryptoHalRsaSign_052
2039  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PSSPADDING-SHA224 key.
2040  */
2041 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_052, Function | SmallTest | Level1)
2042 {
2043     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_052_PARAMS);
2044 }
2045 #endif
2046 
2047 /**
2048  * @tc.number    : HksCryptoHalRsaSign_053
2049  * @tc.name      : HksCryptoHalRsaSign_053
2050  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PSSPADDING-SHA256 key.
2051  */
2052 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_053, Function | SmallTest | Level1)
2053 {
2054     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_053_PARAMS);
2055 }
2056 
2057 /**
2058  * @tc.number    : HksCryptoHalRsaSign_054
2059  * @tc.name      : HksCryptoHalRsaSign_054
2060  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PSSPADDING-SHA256 key.
2061  */
2062 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_054, Function | SmallTest | Level1)
2063 {
2064     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_054_PARAMS);
2065 }
2066 
2067 /**
2068  * @tc.number    : HksCryptoHalRsaSign_055
2069  * @tc.name      : HksCryptoHalRsaSign_055
2070  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PSSPADDING-SHA256 key.
2071  */
2072 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_055, Function | SmallTest | Level1)
2073 {
2074     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_055_PARAMS);
2075 }
2076 
2077 /**
2078  * @tc.number    : HksCryptoHalRsaSign_056
2079  * @tc.name      : HksCryptoHalRsaSign_056
2080  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PSSPADDING-SHA256 key.
2081  */
2082 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_056, Function | SmallTest | Level1)
2083 {
2084     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_056_PARAMS);
2085 }
2086 
2087 #ifndef CUT_RSA_4096_TEST
2088 /**
2089  * @tc.number    : HksCryptoHalRsaSign_057
2090  * @tc.name      : HksCryptoHalRsaSign_057
2091  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PSSPADDING-SHA256 key.
2092  */
2093 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_057, Function | SmallTest | Level1)
2094 {
2095     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_057_PARAMS);
2096 }
2097 
2098 /**
2099  * @tc.number    : HksCryptoHalRsaSign_058
2100  * @tc.name      : HksCryptoHalRsaSign_058
2101  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PSSPADDING-SHA256 key.
2102  */
2103 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_058, Function | SmallTest | Level1)
2104 {
2105     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_058_PARAMS);
2106 }
2107 #endif
2108 
2109 /**
2110  * @tc.number    : HksCryptoHalRsaSign_059
2111  * @tc.name      : HksCryptoHalRsaSign_059
2112  * @tc.desc      : Using HksCryptoHalSign Sign RSA-512-PSSPADDING-SHA384 key.
2113  */
2114 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_059, Function | SmallTest | Level1)
2115 {
2116     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_059_PARAMS);
2117 }
2118 
2119 /**
2120  * @tc.number    : HksCryptoHalRsaSign_060
2121  * @tc.name      : HksCryptoHalRsaSign_060
2122  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PSSPADDING-SHA384 key.
2123  */
2124 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_060, Function | SmallTest | Level1)
2125 {
2126     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_060_PARAMS);
2127 }
2128 
2129 /**
2130  * @tc.number    : HksCryptoHalRsaSign_061
2131  * @tc.name      : HksCryptoHalRsaSign_061
2132  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PSSPADDING-SHA384 key.
2133  */
2134 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_061, Function | SmallTest | Level1)
2135 {
2136     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_061_PARAMS);
2137 }
2138 
2139 /**
2140  * @tc.number    : HksCryptoHalRsaSign_062
2141  * @tc.name      : HksCryptoHalRsaSign_062
2142  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PSSPADDING-SHA384 key.
2143  */
2144 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_062, Function | SmallTest | Level1)
2145 {
2146     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_062_PARAMS);
2147 }
2148 
2149 #ifndef CUT_RSA_4096_TEST
2150 /**
2151  * @tc.number    : HksCryptoHalRsaSign_063
2152  * @tc.name      : HksCryptoHalRsaSign_063
2153  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PSSPADDING-SHA384 key.
2154  */
2155 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_063, Function | SmallTest | Level1)
2156 {
2157     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_063_PARAMS);
2158 }
2159 
2160 /**
2161  * @tc.number    : HksCryptoHalRsaSign_064
2162  * @tc.name      : HksCryptoHalRsaSign_064
2163  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PSSPADDING-SHA384 key.
2164  */
2165 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_064, Function | SmallTest | Level1)
2166 {
2167     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_064_PARAMS);
2168 }
2169 #endif
2170 
2171 /**
2172  * @tc.number    : HksCryptoHalRsaSign_065
2173  * @tc.name      : HksCryptoHalRsaSign_065
2174  * @tc.desc      : Using HksCryptoHalSign Sign RSA-768-PSSPADDING-SHA512 key.
2175  */
2176 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_065, Function | SmallTest | Level1)
2177 {
2178     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_065_PARAMS);
2179 }
2180 
2181 /**
2182  * @tc.number    : HksCryptoHalRsaSign_066
2183  * @tc.name      : HksCryptoHalRsaSign_066
2184  * @tc.desc      : Using HksCryptoHalSign Sign RSA-1024-PSSPADDING-SHA512 key.
2185  */
2186 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_066, Function | SmallTest | Level1)
2187 {
2188     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_066_PARAMS);
2189 }
2190 
2191 /**
2192  * @tc.number    : HksCryptoHalRsaSign_067
2193  * @tc.name      : HksCryptoHalRsaSign_067
2194  * @tc.desc      : Using HksCryptoHalSign Sign RSA-2048-PSSPADDING-SHA512 key.
2195  */
2196 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_067, Function | SmallTest | Level1)
2197 {
2198     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_067_PARAMS);
2199 }
2200 
2201 #ifndef CUT_RSA_4096_TEST
2202 /**
2203  * @tc.number    : HksCryptoHalRsaSign_068
2204  * @tc.name      : HksCryptoHalRsaSign_068
2205  * @tc.desc      : Using HksCryptoHalSign Sign RSA-3072-PSSPADDING-SHA512 key.
2206  */
2207 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_068, Function | SmallTest | Level1)
2208 {
2209     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_068_PARAMS);
2210 }
2211 
2212 /**
2213  * @tc.number    : HksCryptoHalRsaSign_069
2214  * @tc.name      : HksCryptoHalRsaSign_069
2215  * @tc.desc      : Using HksCryptoHalSign Sign RSA-4096-PSSPADDING-SHA512 key.
2216  */
2217 HWTEST_F(HksCryptoHalRsaSign, HksCryptoHalRsaSign_069, Function | SmallTest | Level1)
2218 {
2219     RunTestCase(HKS_CRYPTO_HAL_RSA_SIGN_069_PARAMS);
2220 }
2221 #endif
2222 }  // namespace UnitTest
2223 }  // namespace Huks
2224 }  // namespace Security
2225 }  // namespace OHOS