1 /*
2 * Copyright (c) 2021-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 #include "hks_log.h"
26 #include "hks_params_key_data_01.h"
27 #include "hks_params_key_data_02.h"
28
29 using namespace testing::ext;
30 namespace OHOS {
31 namespace Security {
32 namespace Huks {
33 namespace UnitTest {
34 namespace {
35 struct TestCaseParams {
36 HksUsageSpec usageSpec = {0};
37 std::string keyData;
38 std::string hexData;
39 HksKeySize keySize = HksKeySize::HKS_RSA_KEY_SIZE_512;
40
41 HksErrorCode encryptResult = HksErrorCode::HKS_SUCCESS;
42 };
43
44 #ifdef HKS_UNTRUSTED_RUNNING_ENV
45 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_013_PARAMS = {
46 .usageSpec = {
47 .algType = HKS_ALG_RSA,
48 .mode = HKS_MODE_ECB,
49 .padding = HKS_PADDING_OAEP,
50 .digest = HKS_DIGEST_SHA1,
51 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
52 .algParam = nullptr,
53 },
54 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_013_PARAMS_KEY_DATA
55 .hexData = "00112233445566778899aabbccdd",
56 .keySize = HKS_RSA_KEY_SIZE_512,
57
58 .encryptResult = HKS_SUCCESS,
59 };
60
61 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_014_PARAMS = {
62 .usageSpec = {
63 .algType = HKS_ALG_RSA,
64 .mode = HKS_MODE_ECB,
65 .padding = HKS_PADDING_OAEP,
66 .digest = HKS_DIGEST_SHA1,
67 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
68 .algParam = nullptr,
69 },
70 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_014_PARAMS_KEY_DATA
71 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
72 .keySize = HKS_RSA_KEY_SIZE_768,
73
74 .encryptResult = HKS_SUCCESS,
75 };
76
77 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_015_PARAMS = {
78 .usageSpec = {
79 .algType = HKS_ALG_RSA,
80 .mode = HKS_MODE_ECB,
81 .padding = HKS_PADDING_OAEP,
82 .digest = HKS_DIGEST_SHA1,
83 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
84 .algParam = nullptr,
85 },
86 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_015_PARAMS_KEY_DATA
87 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
88 .keySize = HKS_RSA_KEY_SIZE_1024,
89
90 .encryptResult = HKS_SUCCESS,
91 };
92
93 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_016_PARAMS = {
94 .usageSpec = {
95 .algType = HKS_ALG_RSA,
96 .mode = HKS_MODE_ECB,
97 .padding = HKS_PADDING_OAEP,
98 .digest = HKS_DIGEST_SHA1,
99 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
100 .algParam = nullptr,
101 },
102 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_016_PARAMS_KEY_DATA
103 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
104 .keySize = HKS_RSA_KEY_SIZE_2048,
105
106 .encryptResult = HKS_SUCCESS,
107 };
108
109 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_017_PARAMS = {
110 .usageSpec = {
111 .algType = HKS_ALG_RSA,
112 .mode = HKS_MODE_ECB,
113 .padding = HKS_PADDING_OAEP,
114 .digest = HKS_DIGEST_SHA1,
115 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
116 .algParam = nullptr,
117 },
118 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_017_PARAMS_KEY_DATA
119 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
120 .keySize = HKS_RSA_KEY_SIZE_3072,
121
122 .encryptResult = HKS_SUCCESS,
123 };
124
125 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_018_PARAMS = {
126 .usageSpec = {
127 .algType = HKS_ALG_RSA,
128 .mode = HKS_MODE_ECB,
129 .padding = HKS_PADDING_OAEP,
130 .digest = HKS_DIGEST_SHA1,
131 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
132 .algParam = nullptr,
133 },
134 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_018_PARAMS_KEY_DATA
135 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
136 .keySize = HKS_RSA_KEY_SIZE_4096,
137
138 .encryptResult = HKS_SUCCESS,
139 };
140
141 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_019_PARAMS = {
142 .usageSpec = {
143 .algType = HKS_ALG_RSA,
144 .mode = HKS_MODE_ECB,
145 .padding = HKS_PADDING_OAEP,
146 .digest = HKS_DIGEST_SHA224,
147 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
148 .algParam = nullptr,
149 },
150 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_019_PARAMS_KEY_DATA
151 .hexData = "001122334455",
152 .keySize = HKS_RSA_KEY_SIZE_512,
153
154 .encryptResult = HKS_SUCCESS,
155 };
156
157 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_020_PARAMS = {
158 .usageSpec = {
159 .algType = HKS_ALG_RSA,
160 .mode = HKS_MODE_ECB,
161 .padding = HKS_PADDING_OAEP,
162 .digest = HKS_DIGEST_SHA224,
163 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
164 .algParam = nullptr,
165 },
166 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_020_PARAMS_KEY_DATA
167 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
168 .keySize = HKS_RSA_KEY_SIZE_768,
169
170 .encryptResult = HKS_SUCCESS,
171 };
172
173 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_021_PARAMS = {
174 .usageSpec = {
175 .algType = HKS_ALG_RSA,
176 .mode = HKS_MODE_ECB,
177 .padding = HKS_PADDING_OAEP,
178 .digest = HKS_DIGEST_SHA224,
179 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
180 .algParam = nullptr,
181 },
182 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_021_PARAMS_KEY_DATA
183 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
184 .keySize = HKS_RSA_KEY_SIZE_1024,
185
186 .encryptResult = HKS_SUCCESS,
187 };
188
189 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_022_PARAMS = {
190 .usageSpec = {
191 .algType = HKS_ALG_RSA,
192 .mode = HKS_MODE_ECB,
193 .padding = HKS_PADDING_OAEP,
194 .digest = HKS_DIGEST_SHA224,
195 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
196 .algParam = nullptr,
197 },
198 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_022_PARAMS_KEY_DATA
199 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
200 .keySize = HKS_RSA_KEY_SIZE_2048,
201
202 .encryptResult = HKS_SUCCESS,
203 };
204
205 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_023_PARAMS = {
206 .usageSpec = {
207 .algType = HKS_ALG_RSA,
208 .mode = HKS_MODE_ECB,
209 .padding = HKS_PADDING_OAEP,
210 .digest = HKS_DIGEST_SHA224,
211 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
212 .algParam = nullptr,
213 },
214 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_023_PARAMS_KEY_DATA
215 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
216 .keySize = HKS_RSA_KEY_SIZE_3072,
217
218 .encryptResult = HKS_SUCCESS,
219 };
220
221 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_024_PARAMS = {
222 .usageSpec = {
223 .algType = HKS_ALG_RSA,
224 .mode = HKS_MODE_ECB,
225 .padding = HKS_PADDING_OAEP,
226 .digest = HKS_DIGEST_SHA224,
227 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
228 .algParam = nullptr,
229 },
230 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_024_PARAMS_KEY_DATA
231 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
232 .keySize = HKS_RSA_KEY_SIZE_4096,
233
234 .encryptResult = HKS_SUCCESS,
235 };
236
237 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_025_PARAMS = {
238 .usageSpec = {
239 .algType = HKS_ALG_RSA,
240 .mode = HKS_MODE_ECB,
241 .padding = HKS_PADDING_OAEP,
242 .digest = HKS_DIGEST_SHA256,
243 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
244 .algParam = nullptr,
245 },
246 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_025_PARAMS_KEY_DATA
247 .hexData = "00112233",
248 .keySize = HKS_RSA_KEY_SIZE_512,
249 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
250 };
251
252 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_026_PARAMS = {
253 .usageSpec = {
254 .algType = HKS_ALG_RSA,
255 .mode = HKS_MODE_ECB,
256 .padding = HKS_PADDING_OAEP,
257 .digest = HKS_DIGEST_SHA256,
258 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
259 .algParam = nullptr,
260 },
261 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_026_PARAMS_KEY_DATA
262 .hexData = "00112233445566778899aabbccdd",
263 .keySize = HKS_RSA_KEY_SIZE_768,
264
265 .encryptResult = HKS_SUCCESS,
266 };
267
268 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_027_PARAMS = {
269 .usageSpec = {
270 .algType = HKS_ALG_RSA,
271 .mode = HKS_MODE_ECB,
272 .padding = HKS_PADDING_OAEP,
273 .digest = HKS_DIGEST_SHA256,
274 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
275 .algParam = nullptr,
276 },
277 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_027_PARAMS_KEY_DATA
278 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
279 .keySize = HKS_RSA_KEY_SIZE_1024,
280
281 .encryptResult = HKS_SUCCESS,
282 };
283 #endif
284
285 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_028_PARAMS = {
286 .usageSpec = {
287 .algType = HKS_ALG_RSA,
288 .mode = HKS_MODE_ECB,
289 .padding = HKS_PADDING_OAEP,
290 .digest = HKS_DIGEST_SHA256,
291 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
292 .algParam = nullptr,
293 },
294 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_028_PARAMS_KEY_DATA
295 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
296 .keySize = HKS_RSA_KEY_SIZE_2048,
297
298 .encryptResult = HKS_SUCCESS,
299 };
300
301 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_029_PARAMS = {
302 .usageSpec = {
303 .algType = HKS_ALG_RSA,
304 .mode = HKS_MODE_ECB,
305 .padding = HKS_PADDING_OAEP,
306 .digest = HKS_DIGEST_SHA256,
307 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
308 .algParam = nullptr,
309 },
310 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_029_PARAMS_KEY_DATA
311 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
312 .keySize = HKS_RSA_KEY_SIZE_3072,
313
314 .encryptResult = HKS_SUCCESS,
315 };
316
317 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_030_PARAMS = {
318 .usageSpec = {
319 .algType = HKS_ALG_RSA,
320 .mode = HKS_MODE_ECB,
321 .padding = HKS_PADDING_OAEP,
322 .digest = HKS_DIGEST_SHA256,
323 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
324 .algParam = nullptr,
325 },
326 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_030_PARAMS_KEY_DATA
327 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
328 .keySize = HKS_RSA_KEY_SIZE_4096,
329
330 .encryptResult = HKS_SUCCESS,
331 };
332
333 #ifdef HKS_UNTRUSTED_RUNNING_ENV
334 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_031_PARAMS = {
335 .usageSpec = {
336 .algType = HKS_ALG_RSA,
337 .mode = HKS_MODE_ECB,
338 .padding = HKS_PADDING_OAEP,
339 .digest = HKS_DIGEST_SHA384,
340 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
341 .algParam = nullptr,
342 },
343 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_031_PARAMS_KEY_DATA
344 .hexData = "001122334455",
345 .keySize = HKS_RSA_KEY_SIZE_512,
346 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
347 };
348
349 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_032_PARAMS = {
350 .usageSpec = {
351 .algType = HKS_ALG_RSA,
352 .mode = HKS_MODE_ECB,
353 .padding = HKS_PADDING_OAEP,
354 .digest = HKS_DIGEST_SHA384,
355 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
356 .algParam = nullptr,
357 },
358 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_032_PARAMS_KEY_DATA
359 .hexData = "001122334455",
360 .keySize = HKS_RSA_KEY_SIZE_768,
361 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
362 };
363
364 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_033_PARAMS = {
365 .usageSpec = {
366 .algType = HKS_ALG_RSA,
367 .mode = HKS_MODE_ECB,
368 .padding = HKS_PADDING_OAEP,
369 .digest = HKS_DIGEST_SHA384,
370 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
371 .algParam = nullptr,
372 },
373 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_033_PARAMS_KEY_DATA
374 .hexData = "00112233445566778899aabbccdd",
375 .keySize = HKS_RSA_KEY_SIZE_1024,
376
377 .encryptResult = HKS_SUCCESS,
378 };
379 #endif
380
381 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_034_PARAMS = {
382 .usageSpec = {
383 .algType = HKS_ALG_RSA,
384 .mode = HKS_MODE_ECB,
385 .padding = HKS_PADDING_OAEP,
386 .digest = HKS_DIGEST_SHA384,
387 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
388 .algParam = nullptr,
389 },
390 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_034_PARAMS_KEY_DATA
391 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
392 .keySize = HKS_RSA_KEY_SIZE_2048,
393
394 .encryptResult = HKS_SUCCESS,
395 };
396
397 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_035_PARAMS = {
398 .usageSpec = {
399 .algType = HKS_ALG_RSA,
400 .mode = HKS_MODE_ECB,
401 .padding = HKS_PADDING_OAEP,
402 .digest = HKS_DIGEST_SHA384,
403 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
404 .algParam = nullptr,
405 },
406 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_035_PARAMS_KEY_DATA
407 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
408 .keySize = HKS_RSA_KEY_SIZE_3072,
409
410 .encryptResult = HKS_SUCCESS,
411 };
412
413 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_036_PARAMS = {
414 .usageSpec = {
415 .algType = HKS_ALG_RSA,
416 .mode = HKS_MODE_ECB,
417 .padding = HKS_PADDING_OAEP,
418 .digest = HKS_DIGEST_SHA384,
419 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
420 .algParam = nullptr,
421 },
422 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_036_PARAMS_KEY_DATA
423 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
424 .keySize = HKS_RSA_KEY_SIZE_4096,
425
426 .encryptResult = HKS_SUCCESS,
427 };
428
429 #ifdef HKS_UNTRUSTED_RUNNING_ENV
430 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_037_PARAMS = {
431 .usageSpec = {
432 .algType = HKS_ALG_RSA,
433 .mode = HKS_MODE_ECB,
434 .padding = HKS_PADDING_OAEP,
435 .digest = HKS_DIGEST_SHA512,
436 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
437 .algParam = nullptr,
438 },
439 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_037_PARAMS_KEY_DATA
440 .hexData = "001122334455",
441 .keySize = HKS_RSA_KEY_SIZE_512,
442 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
443 };
444
445 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_038_PARAMS = {
446 .usageSpec = {
447 .algType = HKS_ALG_RSA,
448 .mode = HKS_MODE_ECB,
449 .padding = HKS_PADDING_OAEP,
450 .digest = HKS_DIGEST_SHA512,
451 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
452 .algParam = nullptr,
453 },
454 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_038_PARAMS_KEY_DATA
455 .hexData = "001122334455",
456 .keySize = HKS_RSA_KEY_SIZE_768,
457 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
458 };
459
460 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_039_PARAMS = {
461 .usageSpec = {
462 .algType = HKS_ALG_RSA,
463 .mode = HKS_MODE_ECB,
464 .padding = HKS_PADDING_OAEP,
465 .digest = HKS_DIGEST_SHA512,
466 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
467 .algParam = nullptr,
468 },
469 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_039_PARAMS_KEY_DATA
470 .hexData = "001122334455",
471 .keySize = HKS_RSA_KEY_SIZE_1024,
472 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
473 };
474 #endif
475
476 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_040_PARAMS = {
477 .usageSpec = {
478 .algType = HKS_ALG_RSA,
479 .mode = HKS_MODE_ECB,
480 .padding = HKS_PADDING_OAEP,
481 .digest = HKS_DIGEST_SHA512,
482 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
483 .algParam = nullptr,
484 },
485 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_040_PARAMS_KEY_DATA
486 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
487 .keySize = HKS_RSA_KEY_SIZE_2048,
488
489 .encryptResult = HKS_SUCCESS,
490 };
491
492 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_041_PARAMS = {
493 .usageSpec = {
494 .algType = HKS_ALG_RSA,
495 .mode = HKS_MODE_ECB,
496 .padding = HKS_PADDING_OAEP,
497 .digest = HKS_DIGEST_SHA512,
498 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
499 .algParam = nullptr,
500 },
501 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_041_PARAMS_KEY_DATA
502 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
503 .keySize = HKS_RSA_KEY_SIZE_3072,
504
505 .encryptResult = HKS_SUCCESS,
506 };
507
508 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_042_PARAMS = {
509 .usageSpec = {
510 .algType = HKS_ALG_RSA,
511 .mode = HKS_MODE_ECB,
512 .padding = HKS_PADDING_OAEP,
513 .digest = HKS_DIGEST_SHA512,
514 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
515 .algParam = nullptr,
516 },
517 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_042_PARAMS_KEY_DATA
518 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
519 .keySize = HKS_RSA_KEY_SIZE_4096,
520
521 .encryptResult = HKS_SUCCESS,
522 };
523
524 #ifdef HKS_UNTRUSTED_RUNNING_ENV
525 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_043_PARAMS = {
526 .usageSpec = {
527 .algType = HKS_ALG_RSA,
528 .mode = HKS_MODE_ECB,
529 .padding = HKS_PADDING_OAEP,
530 .digest = HKS_DIGEST_NONE,
531 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
532 .algParam = nullptr,
533 },
534 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_043_PARAMS_KEY_DATA
535 .hexData = "001122334455",
536 .keySize = HKS_RSA_KEY_SIZE_512,
537 #if defined(_USE_OPENSSL_)
538 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
539 #endif
540 #if defined(_USE_MBEDTLS_)
541 .encryptResult = HKS_ERROR_INVALID_DIGEST,
542 #endif
543 };
544
545 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_044_PARAMS = {
546 .usageSpec = {
547 .algType = HKS_ALG_RSA,
548 .mode = HKS_MODE_ECB,
549 .padding = HKS_PADDING_OAEP,
550 .digest = HKS_DIGEST_NONE,
551 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
552 .algParam = nullptr,
553 },
554 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_044_PARAMS_KEY_DATA
555 .hexData = "00112233445566778899aabbccdd",
556 .keySize = HKS_RSA_KEY_SIZE_768,
557 #if defined(_USE_OPENSSL_)
558 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
559 #endif
560 #if defined(_USE_MBEDTLS_)
561 .encryptResult = HKS_ERROR_INVALID_DIGEST,
562 #endif
563 };
564
565 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_045_PARAMS = {
566 .usageSpec = {
567 .algType = HKS_ALG_RSA,
568 .mode = HKS_MODE_ECB,
569 .padding = HKS_PADDING_OAEP,
570 .digest = HKS_DIGEST_NONE,
571 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
572 .algParam = nullptr,
573 },
574 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_045_PARAMS_KEY_DATA
575 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
576 .keySize = HKS_RSA_KEY_SIZE_1024,
577 #if defined(_USE_OPENSSL_)
578 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
579 #endif
580 #if defined(_USE_MBEDTLS_)
581 .encryptResult = HKS_ERROR_INVALID_DIGEST,
582 #endif
583 };
584 #endif
585
586 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_046_PARAMS = {
587 .usageSpec = {
588 .algType = HKS_ALG_RSA,
589 .mode = HKS_MODE_ECB,
590 .padding = HKS_PADDING_OAEP,
591 .digest = HKS_DIGEST_NONE,
592 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
593 .algParam = nullptr,
594 },
595 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_046_PARAMS_KEY_DATA
596 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
597 .keySize = HKS_RSA_KEY_SIZE_2048,
598 #if defined(_USE_OPENSSL_)
599 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
600 #endif
601 #if defined(_USE_MBEDTLS_)
602 .encryptResult = HKS_ERROR_INVALID_DIGEST,
603 #endif
604 };
605
606 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_047_PARAMS = {
607 .usageSpec = {
608 .algType = HKS_ALG_RSA,
609 .mode = HKS_MODE_ECB,
610 .padding = HKS_PADDING_OAEP,
611 .digest = HKS_DIGEST_NONE,
612 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
613 .algParam = nullptr,
614 },
615 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_047_PARAMS_KEY_DATA
616 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
617 .keySize = HKS_RSA_KEY_SIZE_3072,
618 #if defined(_USE_OPENSSL_)
619 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
620 #endif
621 #if defined(_USE_MBEDTLS_)
622 .encryptResult = HKS_ERROR_INVALID_DIGEST,
623 #endif
624 };
625
626 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_048_PARAMS = {
627 .usageSpec = {
628 .algType = HKS_ALG_RSA,
629 .mode = HKS_MODE_ECB,
630 .padding = HKS_PADDING_OAEP,
631 .digest = HKS_DIGEST_NONE,
632 .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
633 .algParam = nullptr,
634 },
635 .keyData = HKS_CRYPTO_HAL_RSA_OAEP_048_PARAMS_KEY_DATA
636 .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
637 .keySize = HKS_RSA_KEY_SIZE_4096,
638 #if defined(_USE_OPENSSL_)
639 .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
640 #endif
641 #if defined(_USE_MBEDTLS_)
642 .encryptResult = HKS_ERROR_INVALID_DIGEST,
643 #endif
644 };
645 } // namespace
646
647 class HksCryptoHalRsaOaepEncrypt : public HksCryptoHalCommon, public testing::Test {
648 public:
649 static void SetUpTestCase(void);
650 static void TearDownTestCase(void);
651 void SetUp();
652 void TearDown();
653 protected:
RunTestCase(const TestCaseParams & testCaseParams) const654 void RunTestCase(const TestCaseParams &testCaseParams) const
655 {
656 uint32_t keyLen = testCaseParams.keyData.length() / HKS_COUNT_OF_HALF;
657 HksBlob key = { .size = keyLen, .data = (uint8_t *)HksMalloc(keyLen) };
658 ASSERT_EQ(key.data == nullptr, false) << "key malloc failed.";
659 for (uint32_t ii = 0; ii < keyLen; ii++) {
660 key.data[ii] = ReadHex((const uint8_t *)&testCaseParams.keyData[HKS_COUNT_OF_HALF * ii]);
661 }
662
663 uint32_t inLen = testCaseParams.hexData.length() / HKS_COUNT_OF_HALF;
664 uint32_t outLen = HKS_KEY_BYTES(testCaseParams.keySize);
665
666 HksBlob message = { .size = inLen, .data = (uint8_t *)HksMalloc(inLen) };
667 ASSERT_EQ(message.data == nullptr, false) << "message malloc failed.";
668 for (uint32_t ii = 0; ii < inLen; ii++) {
669 message.data[ii] = ReadHex((const uint8_t *)&testCaseParams.hexData[HKS_COUNT_OF_HALF * ii]);
670 }
671
672 HksBlob cipherText = { .size = outLen, .data = (uint8_t *)HksMalloc(outLen + HKS_PADDING_SUPPLENMENT) };
673 ASSERT_EQ(cipherText.data == nullptr, false) << "cipherText malloc failed.";
674 HksBlob tagAead = { .size = 0, .data = nullptr };
675
676 EXPECT_EQ(HksCryptoHalEncrypt(&key, &testCaseParams.usageSpec, &message, &cipherText, &tagAead),
677 testCaseParams.encryptResult);
678 HKS_FREE(key.data);
679 HKS_FREE(message.data);
680 HKS_FREE(cipherText.data);
681 }
682 };
683
SetUpTestCase(void)684 void HksCryptoHalRsaOaepEncrypt::SetUpTestCase(void)
685 {
686 }
687
TearDownTestCase(void)688 void HksCryptoHalRsaOaepEncrypt::TearDownTestCase(void)
689 {
690 }
691
SetUp()692 void HksCryptoHalRsaOaepEncrypt::SetUp()
693 {
694 EXPECT_EQ(HksCryptoAbilityInit(), 0);
695 }
696
TearDown()697 void HksCryptoHalRsaOaepEncrypt::TearDown()
698 {
699 }
700
701 #ifdef HKS_UNTRUSTED_RUNNING_ENV
702 /**
703 * @tc.number : HksCryptoHalRsaOaepEncrypt_013
704 * @tc.name : HksCryptoHalRsaOaepEncrypt_013
705 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA1 key.
706 */
707 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_013, Function | SmallTest | Level1)
708 {
709 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_013_PARAMS);
710 }
711
712 /**
713 * @tc.number : HksCryptoHalRsaOaepEncrypt_014
714 * @tc.name : HksCryptoHalRsaOaepEncrypt_014
715 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA1 key.
716 */
717 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_014, Function | SmallTest | Level1)
718 {
719 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_014_PARAMS);
720 }
721
722 /**
723 * @tc.number : HksCryptoHalRsaOaepEncrypt_015
724 * @tc.name : HksCryptoHalRsaOaepEncrypt_015
725 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA1 key.
726 */
727 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_015, Function | SmallTest | Level1)
728 {
729 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_015_PARAMS);
730 }
731
732 /**
733 * @tc.number : HksCryptoHalRsaOaepEncrypt_016
734 * @tc.name : HksCryptoHalRsaOaepEncrypt_016
735 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA1 key.
736 */
737 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_016, Function | SmallTest | Level1)
738 {
739 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_016_PARAMS);
740 }
741
742 #ifndef CUT_RSA_4096_TEST
743 /**
744 * @tc.number : HksCryptoHalRsaOaepEncrypt_017
745 * @tc.name : HksCryptoHalRsaOaepEncrypt_017
746 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA1 key.
747 */
748 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_017, Function | SmallTest | Level1)
749 {
750 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_017_PARAMS);
751 }
752
753 /**
754 * @tc.number : HksCryptoHalRsaOaepEncrypt_018
755 * @tc.name : HksCryptoHalRsaOaepEncrypt_018
756 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA1 key.
757 */
758 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_018, Function | SmallTest | Level1)
759 {
760 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_018_PARAMS);
761 }
762 #endif
763
764 /**
765 * @tc.number : HksCryptoHalRsaOaepEncrypt_019
766 * @tc.name : HksCryptoHalRsaOaepEncrypt_019
767 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA224 key.
768 */
769 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_019, Function | SmallTest | Level1)
770 {
771 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_019_PARAMS);
772 }
773
774 /**
775 * @tc.number : HksCryptoHalRsaOaepEncrypt_020
776 * @tc.name : HksCryptoHalRsaOaepEncrypt_020
777 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA224 key.
778 */
779 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_020, Function | SmallTest | Level1)
780 {
781 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_020_PARAMS);
782 }
783
784 /**
785 * @tc.number : HksCryptoHalRsaOaepEncrypt_021
786 * @tc.name : HksCryptoHalRsaOaepEncrypt_021
787 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA224 key.
788 */
789 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_021, Function | SmallTest | Level1)
790 {
791 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_021_PARAMS);
792 }
793
794 /**
795 * @tc.number : HksCryptoHalRsaOaepEncrypt_022
796 * @tc.name : HksCryptoHalRsaOaepEncrypt_022
797 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA224 key.
798 */
799 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_022, Function | SmallTest | Level1)
800 {
801 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_022_PARAMS);
802 }
803
804 #ifndef CUT_RSA_4096_TEST
805 /**
806 * @tc.number : HksCryptoHalRsaOaepEncrypt_023
807 * @tc.name : HksCryptoHalRsaOaepEncrypt_023
808 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA224 key.
809 */
810 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_023, Function | SmallTest | Level1)
811 {
812 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_023_PARAMS);
813 }
814
815 /**
816 * @tc.number : HksCryptoHalRsaOaepEncrypt_024
817 * @tc.name : HksCryptoHalRsaOaepEncrypt_024
818 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA224 key.
819 */
820 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_024, Function | SmallTest | Level1)
821 {
822 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_024_PARAMS);
823 }
824 #endif //CUT_RSA_4096_TEST
825
826 /**
827 * @tc.number : HksCryptoHalRsaOaepEncrypt_025
828 * @tc.name : HksCryptoHalRsaOaepEncrypt_025
829 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA256 key failed:keysize<sha*2+2.
830 */
831 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_025, Function | SmallTest | Level1)
832 {
833 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_025_PARAMS);
834 }
835
836 /**
837 * @tc.number : HksCryptoHalRsaOaepEncrypt_026
838 * @tc.name : HksCryptoHalRsaOaepEncrypt_026
839 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA256 key.
840 */
841 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_026, Function | SmallTest | Level1)
842 {
843 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_026_PARAMS);
844 }
845
846 /**
847 * @tc.number : HksCryptoHalRsaOaepEncrypt_027
848 * @tc.name : HksCryptoHalRsaOaepEncrypt_027
849 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA256 key.
850 */
851 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_027, Function | SmallTest | Level1)
852 {
853 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_027_PARAMS);
854 }
855 #endif
856
857 /**
858 * @tc.number : HksCryptoHalRsaOaepEncrypt_028
859 * @tc.name : HksCryptoHalRsaOaepEncrypt_028
860 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA256 key.
861 */
862 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_028, Function | SmallTest | Level1)
863 {
864 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_028_PARAMS);
865 }
866
867 #ifndef CUT_RSA_4096_TEST
868 /**
869 * @tc.number : HksCryptoHalRsaOaepEncrypt_029
870 * @tc.name : HksCryptoHalRsaOaepEncrypt_029
871 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA256 key.
872 */
873 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_029, Function | SmallTest | Level1)
874 {
875 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_029_PARAMS);
876 }
877
878 /**
879 * @tc.number : HksCryptoHalRsaOaepEncrypt_030
880 * @tc.name : HksCryptoHalRsaOaepEncrypt_030
881 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA256 key.
882 */
883 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_030, Function | SmallTest | Level1)
884 {
885 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_030_PARAMS);
886 }
887 #endif
888
889 #ifdef HKS_UNTRUSTED_RUNNING_ENV
890 /**
891 * @tc.number : HksCryptoHalRsaOaepEncrypt_031
892 * @tc.name : HksCryptoHalRsaOaepEncrypt_031
893 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA384 key failed:keysize<sha*2+2.
894 */
895 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_031, Function | SmallTest | Level1)
896 {
897 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_031_PARAMS);
898 }
899
900 /**
901 * @tc.number : HksCryptoHalRsaOaepEncrypt_032
902 * @tc.name : HksCryptoHalRsaOaepEncrypt_032
903 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA384 key failed:keysize<sha*2+2.
904 */
905 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_032, Function | SmallTest | Level1)
906 {
907 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_032_PARAMS);
908 }
909
910 /**
911 * @tc.number : HksCryptoHalRsaOaepEncrypt_033
912 * @tc.name : HksCryptoHalRsaOaepEncrypt_033
913 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA384 key.
914 */
915 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_033, Function | SmallTest | Level1)
916 {
917 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_033_PARAMS);
918 }
919 #endif
920
921 /**
922 * @tc.number : HksCryptoHalRsaOaepEncrypt_034
923 * @tc.name : HksCryptoHalRsaOaepEncrypt_034
924 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA384 key.
925 */
926 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_034, Function | SmallTest | Level1)
927 {
928 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_034_PARAMS);
929 }
930
931 #ifndef CUT_RSA_4096_TEST
932 /**
933 * @tc.number : HksCryptoHalRsaOaepEncrypt_035
934 * @tc.name : HksCryptoHalRsaOaepEncrypt_035
935 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA384 key.
936 */
937 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_035, Function | SmallTest | Level1)
938 {
939 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_035_PARAMS);
940 }
941
942 /**
943 * @tc.number : HksCryptoHalRsaOaepEncrypt_036
944 * @tc.name : HksCryptoHalRsaOaepEncrypt_036
945 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA384 key.
946 */
947 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_036, Function | SmallTest | Level1)
948 {
949 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_036_PARAMS);
950 }
951 #endif
952
953 #ifdef HKS_UNTRUSTED_RUNNING_ENV
954 /**
955 * @tc.number : HksCryptoHalRsaOaepEncrypt_037
956 * @tc.name : HksCryptoHalRsaOaepEncrypt_037
957 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA512 key failed:keysize<sha*2+2.
958 */
959 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_037, Function | SmallTest | Level1)
960 {
961 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_037_PARAMS);
962 }
963
964 /**
965 * @tc.number : HksCryptoHalRsaOaepEncrypt_038
966 * @tc.name : HksCryptoHalRsaOaepEncrypt_038
967 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA512 key failed:keysize<sha*2+2.
968 */
969 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_038, Function | SmallTest | Level1)
970 {
971 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_038_PARAMS);
972 }
973
974 /**
975 * @tc.number : HksCryptoHalRsaOaepEncrypt_039
976 * @tc.name : HksCryptoHalRsaOaepEncrypt_039
977 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA512 key failed:keysize<sha*2+2.
978 */
979 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_039, Function | SmallTest | Level1)
980 {
981 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_039_PARAMS);
982 }
983 #endif
984
985 /**
986 * @tc.number : HksCryptoHalRsaOaepEncrypt_040
987 * @tc.name : HksCryptoHalRsaOaepEncrypt_040
988 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA512 key.
989 */
990 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_040, Function | SmallTest | Level1)
991 {
992 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_040_PARAMS);
993 }
994
995 #ifndef CUT_RSA_4096_TEST
996 /**
997 * @tc.number : HksCryptoHalRsaOaepEncrypt_041
998 * @tc.name : HksCryptoHalRsaOaepEncrypt_041
999 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA512 key.
1000 */
1001 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_041, Function | SmallTest | Level1)
1002 {
1003 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_041_PARAMS);
1004 }
1005
1006 /**
1007 * @tc.number : HksCryptoHalRsaOaepEncrypt_042
1008 * @tc.name : HksCryptoHalRsaOaepEncrypt_042
1009 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA512 key.
1010 */
1011 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_042, Function | SmallTest | Level1)
1012 {
1013 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_042_PARAMS);
1014 }
1015 #endif
1016
1017 #ifdef HKS_UNTRUSTED_RUNNING_ENV
1018 /**
1019 * @tc.number : HksCryptoHalRsaOaepEncrypt_043
1020 * @tc.name : HksCryptoHalRsaOaepEncrypt_043
1021 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP key failed: wrong digest.
1022 */
1023 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_043, Function | SmallTest | Level1)
1024 {
1025 HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_043");
1026 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_043_PARAMS);
1027 }
1028
1029 /**
1030 * @tc.number : HksCryptoHalRsaOaepEncrypt_044
1031 * @tc.name : HksCryptoHalRsaOaepEncrypt_044
1032 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP key failed: wrong digest.
1033 */
1034 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_044, Function | SmallTest | Level1)
1035 {
1036 HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_044");
1037 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_044_PARAMS);
1038 }
1039
1040 /**
1041 * @tc.number : HksCryptoHalRsaOaepEncrypt_045
1042 * @tc.name : HksCryptoHalRsaOaepEncrypt_045
1043 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP key failed: wrong digest.
1044 */
1045 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_045, Function | SmallTest | Level1)
1046 {
1047 HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_045");
1048 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_045_PARAMS);
1049 }
1050 #endif
1051
1052 /**
1053 * @tc.number : HksCryptoHalRsaOaepEncrypt_046
1054 * @tc.name : HksCryptoHalRsaOaepEncrypt_046
1055 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP key failed: wrong digest.
1056 */
1057 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_046, Function | SmallTest | Level1)
1058 {
1059 HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_046");
1060 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_046_PARAMS);
1061 }
1062
1063 #ifndef CUT_RSA_4096_TEST
1064 /**
1065 * @tc.number : HksCryptoHalRsaOaepEncrypt_047
1066 * @tc.name : HksCryptoHalRsaOaepEncrypt_047
1067 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP key failed: wrong digest.
1068 */
1069 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_047, Function | SmallTest | Level1)
1070 {
1071 HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_047");
1072 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_047_PARAMS);
1073 }
1074
1075 /**
1076 * @tc.number : HksCryptoHalRsaOaepEncrypt_048
1077 * @tc.name : HksCryptoHalRsaOaepEncrypt_048
1078 * @tc.desc : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP key failed: wrong digest.
1079 */
1080 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_048, Function | SmallTest | Level1)
1081 {
1082 HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_048");
1083 RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_048_PARAMS);
1084 }
1085 #endif
1086 } // namespace UnitTest
1087 } // namespace Huks
1088 } // namespace Security
1089 } // namespace OHOS