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