• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_params_key_data_02.h"
26 #include "hks_params_key_data_01.h"
27 
28 using namespace testing::ext;
29 namespace OHOS {
30 namespace Security {
31 namespace Huks {
32 namespace UnitTest {
33 namespace {
34 struct TestCaseParams {
35     HksUsageSpec usageSpec = {0};
36     std::string hexData;
37     std::string keyData;
38 
39     HksErrorCode decryptResult = HksErrorCode::HKS_SUCCESS;
40 };
41 
42 #ifdef HKS_UNTRUSTED_RUNNING_ENV
43 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_013_PARAMS = {
44     .usageSpec = {
45         .algType = HKS_ALG_RSA,
46         .mode = HKS_MODE_ECB,
47         .padding = HKS_PADDING_OAEP,
48         .digest = HKS_DIGEST_SHA1,
49         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
50         .algParam = nullptr,
51     },
52     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_013_PARAMS_KEY_DATA
53     .hexData = "070bd81030f33310b12f3a83894c16ab23ebc6d9843a71988807874a465eb29f06042a5e9b27f16e998815e1bf8"
54         "a5f55b48750632202693fde21264c21dedd33",
55 
56     .decryptResult = HKS_SUCCESS,
57 };
58 
59 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_014_PARAMS = {
60     .usageSpec = {
61         .algType = HKS_ALG_RSA,
62         .mode = HKS_MODE_ECB,
63         .padding = HKS_PADDING_OAEP,
64         .digest = HKS_DIGEST_SHA1,
65         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
66         .algParam = nullptr,
67     },
68     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_014_PARAMS_KEY_DATA
69     .hexData =
70         "35249280c4a155024e0f64c0c26ab980d1ddd9fa05ee8c4ad8122f70647c0c608b63c3efe68dde3e07cacd89398ec1660f858bfb1082e6"
71         "ed82ce54c14a7c6927a229c0b619d0e909c09daab2dae24a809139496217307fb02a5d4dea9b2e0074",
72 
73     .decryptResult = HKS_SUCCESS,
74 };
75 
76 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_015_PARAMS = {
77     .usageSpec = {
78         .algType = HKS_ALG_RSA,
79         .mode = HKS_MODE_ECB,
80         .padding = HKS_PADDING_OAEP,
81         .digest = HKS_DIGEST_SHA1,
82         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
83         .algParam = nullptr,
84     },
85     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_015_PARAMS_KEY_DATA
86     .hexData = "752b367cad05c09718da9077ada4062a3aca68a63c92af640cdfcb6c409cd857df9092bfd1dd14f894fde120434"
87         "f2007e67d10acf835c4767be6b596840faf88a706e95f085d63b46694a5ed492ca36c251636af3839eaba1a7714"
88         "d796a686cd94afdb96893f04fe276d681afe036708dcf3a8bd7516255dd8042eb9517e9584",
89 
90     .decryptResult = HKS_SUCCESS,
91 };
92 #endif
93 
94 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_016_PARAMS = {
95     .usageSpec = {
96         .algType = HKS_ALG_RSA,
97         .mode = HKS_MODE_ECB,
98         .padding = HKS_PADDING_OAEP,
99         .digest = HKS_DIGEST_SHA1,
100         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
101         .algParam = nullptr,
102     },
103     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_016_PARAMS_KEY_DATA
104     .hexData =
105         "c303489c1204761cf6e3ea1d4ebbdd77933dce5acff16594564a9b1c41a5690a04777814c531ff8f0a0112182b0f96c627e3756d4b2756"
106         "d7d1f8a2ec8c7cba4e0cb29d9cb8edf343e5633715297a882f4a864e4543b30063018ce01358639fdd9ad452152fd4d938f9e680b23e7b"
107         "27fa85a23c027c7ca95498c3ee2f8ac0bbeec11c0c8455584f2f583027054b39b92326f018d2d68093b99cf741a2985e8af712548eff72"
108         "5b5c707172458ed73b6fcc98143fd1bf6ede2885a9ebe10e76b215d4554d6cc9b04cc10c76b6a3c4f8d0dd1b67fb439b9dcf4fa2cc59b3"
109         "786a4f57f328645d20d8a3da2e301f42783f453ae93c622173d643516c8484d024d6b5d8",
110 
111     .decryptResult = HKS_SUCCESS,
112 };
113 
114 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_017_PARAMS = {
115     .usageSpec = {
116         .algType = HKS_ALG_RSA,
117         .mode = HKS_MODE_ECB,
118         .padding = HKS_PADDING_OAEP,
119         .digest = HKS_DIGEST_SHA1,
120         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
121         .algParam = nullptr,
122     },
123     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_017_PARAMS_KEY_DATA
124     .hexData =
125         "444665d129abd103992a5953066d4e7a6bbe9f6132d2a783db39c665980b5b89c9bb06de04fabf8aa1d7d2a5ef34d55a336200632a933f"
126         "73f3f9f84ca1cfbb6e69986c128919dcacb16f741b2e0c90562ed3f410e4419411d49650b73be9e910705cb69824286640debf3be88e5a"
127         "c5cc300b38575933df66b9c51907e2e997b531a486bd320becba1992fad8b099f6b110c125c3559431f45cf0ad9ede5c33087e4b464905"
128         "8a9e87bddc647eb02bdc39fb86f5498dbd3a317bbf29d02460a0991f9cfd615f0efffc1a66e5d48af9aeba2702ec7c3c0dd48a1987f333"
129         "5c06208ebdf0c0817604137f9c67718faf301059a2be8da7ac43663410e44362e28fcc0f17de1af251c7145c944c1e4bf29d7989d5805b"
130         "f971ebf021ca7e139f0a1f946636b17e2638f3b59e04ff613c20fe58f9b07bf2c039a27aaf3da4cc788effbc4214f7d3034e1f32ac0361"
131         "e5a7f88871be506b43aa5ed24e42ffdf3174e89d3a3e7337389d3e017ee76005154afae1230993ed1dda61194ef4fb9ade757d5b27af",
132 
133     .decryptResult = HKS_SUCCESS,
134 };
135 
136 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_018_PARAMS = {
137     .usageSpec = {
138         .algType = HKS_ALG_RSA,
139         .mode = HKS_MODE_ECB,
140         .padding = HKS_PADDING_OAEP,
141         .digest = HKS_DIGEST_SHA1,
142         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
143         .algParam = nullptr,
144     },
145     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_018_PARAMS_KEY_DATA
146     .hexData =
147         "193b8cc1eb7736b40ceb90c48a184a2bd7b02759e0ba6f167dfeccdbc09e40ab1ab7e7940b073951892696e5dea1325da7662d61e4b888"
148         "b395067dbe3db7e2fae21c8da725b841e7d05306a44a69736d4003ee18eb3013e9df01b78205e9b8d789f670f51d7e425c0f63355c615f"
149         "460d066d52fc747eaa23f8ec411bd22ea75db5236035b2805d9e356cb8f694a4788dc549db357cb7e914f55ebd9d1b76f272544adb71e6"
150         "6d285c8cbe6bd6b2f835ccc8f5c80f24c19d0e5a50f7c7d158fe354a5d267bdd217359035cc1f0dc38b0c5f40359528314a5129b709a9a"
151         "9b4d3291002aea22da98eda77e096128854f7664572a61fe1f6615fd0c1df1e3cdefef189642bb23fab3450f6d4bae77e9a3df43e08c62"
152         "ebcfb1d2d6f10d8bd6b2f4ddfb3bd4a143d61cc1d065ccf45de5e330fa1ab2f8c6fbd3753549a7cd8bd8e26c88ac21fa277a106f7f9e49"
153         "45b87374f04e73214e4c6ce61e4d77643e1fd8c13ac0e1b93e55ad2b574e9185b0f490dc0cf8858125b505edc330f91bd44bc14f74bdb6"
154         "66e6df9d26bf4c45e414ba569461f3f53915a5b80edb59254e6b786fb24728b4c08180bd912b037a20ac9a4d795121eb7bdbf38cd36aff"
155         "4adc1c693b51ef6d5d85395ba16f35eca51317c9ecbe67b7b583cb8006c79f51e20efc2c2187b529aef5fdd7cfbd2c9cb1798f43883e83"
156         "70bf2e4c27a89d718536c06e449b934b41",
157 
158     .decryptResult = HKS_SUCCESS,
159 };
160 
161 #ifdef HKS_UNTRUSTED_RUNNING_ENV
162 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_019_PARAMS = {
163     .usageSpec = {
164         .algType = HKS_ALG_RSA,
165         .mode = HKS_MODE_ECB,
166         .padding = HKS_PADDING_OAEP,
167         .digest = HKS_DIGEST_SHA224,
168         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
169         .algParam = nullptr,
170     },
171     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_019_PARAMS_KEY_DATA
172     .hexData = "aa7b5d9919b61a4d1a7e7b3651c17a758e995ec9583e9d2b5ef4121b45d8f9dec009fc03b19e4527105ee1d0cbd"
173         "1b3bd66123c12899f1e425ea63e69958e6dc5",
174 
175     .decryptResult = HKS_SUCCESS,
176 };
177 
178 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_020_PARAMS = {
179     .usageSpec = {
180         .algType = HKS_ALG_RSA,
181         .mode = HKS_MODE_ECB,
182         .padding = HKS_PADDING_OAEP,
183         .digest = HKS_DIGEST_SHA224,
184         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
185         .algParam = nullptr,
186     },
187     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_020_PARAMS_KEY_DATA
188     .hexData =
189         "8e5129736a8e1986fcdfadd0393f8aabe080823a7b4275d0dfa4d9fa32b9e05720d957130acf4c8cd512688d447b8f84cfe7f1b4cb4371"
190         "e2f988ee2774b280de4461f40467d2e03e86389547b5066e43f81e2da8e5cfbd9aa0c2f16fdfb618dd",
191 
192     .decryptResult = HKS_SUCCESS,
193 };
194 
195 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_021_PARAMS = {
196     .usageSpec = {
197         .algType = HKS_ALG_RSA,
198         .mode = HKS_MODE_ECB,
199         .padding = HKS_PADDING_OAEP,
200         .digest = HKS_DIGEST_SHA224,
201         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
202         .algParam = nullptr,
203     },
204     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_021_PARAMS_KEY_DATA
205     .hexData = "7d18be21fa944e51759c94e1b276d5051059e2b759a12090c6d22b264d46f00e9d52d3ddd5878c381c00c675ddf"
206         "e08f48dc47b6c8e01a759dfc2ead5bdc72afcec8f8cd939dd256b619cbb98b5cd3e387f048b7ccef09c5c1c8004"
207         "0e59760f64300ef08739e22fa7e272fa3c5ced217b6a7371b435cf9c169ecc1a1d551fc05e",
208 
209     .decryptResult = HKS_SUCCESS,
210 };
211 
212 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_022_PARAMS = {
213     .usageSpec = {
214         .algType = HKS_ALG_RSA,
215         .mode = HKS_MODE_ECB,
216         .padding = HKS_PADDING_OAEP,
217         .digest = HKS_DIGEST_SHA224,
218         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
219         .algParam = nullptr,
220     },
221     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_022_PARAMS_KEY_DATA
222     .hexData =
223         "a3f9244077328f00ed6921234d6d9ede1c1d580a8ba7a5f3748880d29011e50e26e1f84106674d07e20c4ea5ff0d6821979f01d86f4a16"
224         "4e5cc3c3af9fc8bb627beada5686f3281b105f2c5da0453cd75f5ec13d1543dd84dc7a14da3aeb55dca29aa0466f78d0d8e6e223ff5534"
225         "ad1d638f7f4cab4d8fc3a8b68a83df50102302f1445bf5c7782fc787b6e95ad21bb4dd3b2460dd17447296fa898af7e5b8ef99b43d2eb5"
226         "9e7b1142cce5e9bbb2181a3a5241572c194df23f2f4242d825bf6ab6d943db161ec879566d0c3b845c57586109a9f408e4ccb6f79ecc71"
227         "2c18dad3476d283fac34d6513e34e01f9688afe2fca84e00976fd624292aa128b6518dbd",
228 
229     .decryptResult = HKS_SUCCESS,
230 };
231 
232 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_023_PARAMS = {
233     .usageSpec = {
234         .algType = HKS_ALG_RSA,
235         .mode = HKS_MODE_ECB,
236         .padding = HKS_PADDING_OAEP,
237         .digest = HKS_DIGEST_SHA224,
238         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
239         .algParam = nullptr,
240     },
241     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_023_PARAMS_KEY_DATA
242     .hexData =
243         "5e9f606bffcfb96cd8905ccaf2aef45b6c78bb1ff81907c849fc10cbdafed6309df895697051e5c7ff473d65aaa0fcc79ee7c4b1e5f1cd"
244         "3f8b269230303a5d838e93b9a0f8cf12b8bf459faa0653c7a0f9ca94fad2e789bf89b8515dc9e9e3ff3c4fcf86c426f2557a7467005f28"
245         "ab978c3cc4a06faa102d8fa3ad9299d3891bcf50f926e3722075ff89cfc9061a3ea498e37e8202bcb4eedede8541c1425a4e278fa7a821"
246         "202ebb5e64c7052aae99fce16ae14371fa94614c87a62cd1576e0ddc93faf4af81d84cc65d003fc6eed7a9310005c05f5ce7284be77cce"
247         "dc287da88c9ae840ebbc6ef3abc440f089f93b06da4b7b4122c0b9a6f120ce0167aba1551082d93df8e6edacaf442b200c9ad4d5e6aa50"
248         "9245f955d7b3126e8b7edcd294cb8a8e9c52c660c2059d536b6c8c5f9364d86a45f501b0f944207bcd631f9a6b69e3b508946f539f7fa8"
249         "0c877b80522d08bb3f41a7a442894567aac96ecb929cb9c1fc5972172845b2859c094836a0b1755b3c8c50e54a51b93b4aa6958d646a",
250 
251     .decryptResult = HKS_SUCCESS,
252 };
253 
254 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_024_PARAMS = {
255     .usageSpec = {
256         .algType = HKS_ALG_RSA,
257         .mode = HKS_MODE_ECB,
258         .padding = HKS_PADDING_OAEP,
259         .digest = HKS_DIGEST_SHA224,
260         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
261         .algParam = nullptr,
262     },
263     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_024_PARAMS_KEY_DATA
264     .hexData =
265         "8687202d898e1a5cef2f34dc0ab0c57f1ac8e9c0b4e1c2b76362a8bfc427dc2cddee16722b748a521bae5a5013f94bbc2587654ab42fa2"
266         "3d8026c91dfeac05e5adecdc230943a5f4c711cf745f81a852c63823fdbbccf10f5455cec93575d4164a21e07fa9102fb63843aa95f6bc"
267         "0cc299f4a8e9e2b32163485e893aff386c5d573054c63bd56842111b61323335501f858b5e71a566931f7c6f5ea3db1beb29bbdf095eba"
268         "b66477b666e7c74fbc3759319fd25f7f584d6bd556cf067313918e8cdfd8b96857b8c1e50ed1a7159e13ef7296352bea25c802ca0a8d22"
269         "9b96fa66a6c497b7ee5dcb3baf69152050e9c3873e2891c13dea277bfdf5af46f91c406472e96a5e5ffe2f326777c59b9b5926b2db0961"
270         "cd6764cd3bfc7b09af75ce79a34247bf860a502fde341f6e736adb6579fde5b56f8adae621580a6872ad1493ed21f57dd8b2547e0f52f4"
271         "ab21950c8e77a9d15caa5799cf517581f072632acff9309dfd3467ee6e9f3e72b0e9e7cde6dc96d979a8be167337d4689da8d84b46ce53"
272         "14b90ecdb15c84af1b57b906d53bb9d751928a02cae04dc07e752d422c8b91fb9ae26e3c3f034cc488a98719f70146a62fd4999a4716cb"
273         "52ca1212fe0c5fe504fbebe7457253f7993eb5955c440d1d918f873126e6d2c07a613b56137ec4086e9f8dbff10b2333be22203b2e8e48"
274         "de68a475b9453c38ee89a4ccfd895ae851",
275 
276     .decryptResult = HKS_SUCCESS,
277 };
278 
279 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_025_PARAMS = {
280     .usageSpec = {
281         .algType = HKS_ALG_RSA,
282         .mode = HKS_MODE_ECB,
283         .padding = HKS_PADDING_OAEP,
284         .digest = HKS_DIGEST_SHA256,
285         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
286         .algParam = nullptr,
287     },
288     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_025_PARAMS_KEY_DATA
289     .hexData = "50389b5555550000000000000000000050e79855555500000000000010000000000000000000000000000000200"
290         "0000000000000000000000000000000000000",
291     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
292 };
293 
294 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_026_PARAMS = {
295     .usageSpec = {
296         .algType = HKS_ALG_RSA,
297         .mode = HKS_MODE_ECB,
298         .padding = HKS_PADDING_OAEP,
299         .digest = HKS_DIGEST_SHA256,
300         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
301         .algParam = nullptr,
302     },
303     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_026_PARAMS_KEY_DATA
304     .hexData =
305         "5f9be2e65ccb8b571ccdf77b0735d47acd7f0525d465039ad0876ddaf68045d04e84250a35dc3a4facfd7560306cd00894fea152a70124"
306         "6f08df381814ee1552ea9b0735846e9c458653b780d6cda5a042d3eb9ec532faafd3bb47d718b23c10",
307 
308     .decryptResult = HKS_SUCCESS,
309 };
310 
311 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_027_PARAMS = {
312     .usageSpec = {
313         .algType = HKS_ALG_RSA,
314         .mode = HKS_MODE_ECB,
315         .padding = HKS_PADDING_OAEP,
316         .digest = HKS_DIGEST_SHA256,
317         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
318         .algParam = nullptr,
319     },
320     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_027_PARAMS_KEY_DATA
321     .hexData = "9e70d407bae1443ed93a186b966ee760505748026759887955bee36be9960a244e210d7a29d7b7e014dc248d3d5"
322         "5170bdcb89721ce71172db79ccf0f13dc7bb273e913fe92a314aa5b591fdabbf19f45fcc307b88ca3bab20e1a83"
323         "c80bd249d414c6e2c4cda407e52233ff13b527dcd127713e48d9006e62b2bc885a59586347",
324 
325     .decryptResult = HKS_SUCCESS,
326 };
327 #endif
328 
329 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_028_PARAMS = {
330     .usageSpec = {
331         .algType = HKS_ALG_RSA,
332         .mode = HKS_MODE_ECB,
333         .padding = HKS_PADDING_OAEP,
334         .digest = HKS_DIGEST_SHA256,
335         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
336         .algParam = nullptr,
337     },
338     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_028_PARAMS_KEY_DATA
339     .hexData =
340         "0ee884e4926c704ee96a07d8727fbcd4452bb17d65533a735665493befca50dcee93f2c5a331042f30254e78de7f2d6067f8513d56f157"
341         "9b1945f2a3e312c59dcdbc1393765a02a6ff6ee9086e186a97684909a15512c92c22465ce9671b534975b8aa1904a2f06e23e29d8a438e"
342         "9b15bbbb9ea6182479e7823c0ebb27394b9fbe4c167b8ab82f9637c9a28d6f09cf5c8029460ae649407a893b1e68b18940ee77cd8a3439"
343         "6b7d8fff53ce1674e3d58f9c66af1ac858d0cd520b578e0b3a855a7f76755a2c9a2bc205b6541b9ef8ac546aeebd881ccf134c29316053"
344         "7b0aa8f17a02a8fd6681bbfc62edc56991c9042d3bfc66844182a8e36a9edd35ad149668",
345 
346     .decryptResult = HKS_SUCCESS,
347 };
348 
349 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_029_PARAMS = {
350     .usageSpec = {
351         .algType = HKS_ALG_RSA,
352         .mode = HKS_MODE_ECB,
353         .padding = HKS_PADDING_OAEP,
354         .digest = HKS_DIGEST_SHA256,
355         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
356         .algParam = nullptr,
357     },
358     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_029_PARAMS_KEY_DATA
359     .hexData =
360         "0a8424bd6c97912903cd8f5acd83c99474ca3bc9d793393394bcb5b1e651a9b576e77dd3cbe3914181d2052fa20fc118c25e24188f9e33"
361         "85d322a33eae700ca4bcac74f9bf0acbc230c54bb8961cfa76f46b4250b661596995335e627d458aea2491ebccd99312c4ae5b05f2f28e"
362         "020dc80d96120a901cc1b35a8bd00a0a539c63c673b5bc73567e0fbe791ade0285eca2b6d6c1ca9fbb1a7a25e986061941294740197563"
363         "7f30d813d19c554f46c823318ac8d1c7b2db8a3225950b265ec072e42c46f1cdb58a2bb537ab31b3935e772a5ab06535570f328b2c6cc2"
364         "b967a0cb3f37629e6c6e072493b5ca6b6694eb992a9146c469e3b1d24f82cc13ae0465a0a03c8506872b08994b51a30e9d48e2ddc0fcb8"
365         "b5f525be9622edeba13fbc922276710e4809cf83e9a46c4889b2d01b23bf164db06b8e84b52ac7d50614a053837d071e711c0792867ea5"
366         "12208bf9626c41ed53a25090c817dd6c329c9a029e836689b13d9c8a694dd51e4db4311b5f68b56c2b1feebea8ba39e9073b371ad4b9",
367 
368     .decryptResult = HKS_SUCCESS,
369 };
370 
371 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_030_PARAMS = {
372     .usageSpec = {
373         .algType = HKS_ALG_RSA,
374         .mode = HKS_MODE_ECB,
375         .padding = HKS_PADDING_OAEP,
376         .digest = HKS_DIGEST_SHA256,
377         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
378         .algParam = nullptr,
379     },
380     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_030_PARAMS_KEY_DATA
381     .hexData =
382         "042295390fbf8589571e1adc47b7ed8fcae6118ae762581b2890cfa83fec4662488037a690501b84e037e51ca9e4d9f1cad8e9f937d014"
383         "729bf9ec630c357f94dfafdf5dc3c335f93483b8df99d13f88461620269c9aeb6ca68275e47a374d60d6c22d632aa286de179dc1ac90d5"
384         "b5ba87539f292a083244d8bc66e68d17469c9b88c9e26f66f68d39ed56567ebfe865866120d905826852561e1af79e12dd4831ea843841"
385         "bf18eaa62d3fb5ac9fab8f8d3e271035dbdc3086bce5a201f4ecf32d0cf8279826cf1d4167c1cf066aff055ca0ca197f9319c065c22029"
386         "968c76d16bfaf6634ee28bbfbb053dbe558e4c41c4fb1682dcb1d2449c1c86ad9cfbd9f6635103064ca1501133e4cd05f13248f108bfe9"
387         "0393d31369f12bcc4f98f285e6cb9481cededabb1619d6b92ad74bfa824af9290e6ab98a29e7aaa992aaa193b7474b05b526778140d99d"
388         "150c154ca7caa6c9be0a8d362d8c7ebbfab5ec707f8eb7d52b86a3d8ebc7e7909533a19ab83b6b0cd432eae2400f23761b2379bea8055e"
389         "a456b636839dee074b079032a70a65ebe89696502a6796160fa51dbce095d50d5f4a7159d64c3e1f84eac2e22b7ff8a1873a075d1f7fb7"
390         "adecce73a5b226316be1fd24586a08467a1fdfa9a2b47f25f5764d1263b5b121be4e1fe383d9c9491319883f9b618eb7a2359482118eb8"
391         "848d6b6a53a3e851a1c70832cb1123e99f",
392 
393     .decryptResult = HKS_SUCCESS,
394 };
395 
396 #ifdef HKS_UNTRUSTED_RUNNING_ENV
397 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_031_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_031_PARAMS_KEY_DATA
407     .hexData = "0000000000000000000000000000000050e79855555500000000000010000000000000000000000000000000200"
408         "0000000000000000000000000000000000000",
409     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
410 };
411 
412 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_032_PARAMS = {
413     .usageSpec = {
414         .algType = HKS_ALG_RSA,
415         .mode = HKS_MODE_ECB,
416         .padding = HKS_PADDING_OAEP,
417         .digest = HKS_DIGEST_SHA384,
418         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
419         .algParam = nullptr,
420     },
421     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_032_PARAMS_KEY_DATA
422     .hexData =
423         "005e9b55555500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
424         "0000000000000000000000000000000000000000000000000000000000000000000000000000000000",
425     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
426 };
427 
428 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_033_PARAMS = {
429     .usageSpec = {
430         .algType = HKS_ALG_RSA,
431         .mode = HKS_MODE_ECB,
432         .padding = HKS_PADDING_OAEP,
433         .digest = HKS_DIGEST_SHA384,
434         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
435         .algParam = nullptr,
436     },
437     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_033_PARAMS_KEY_DATA
438     .hexData = "72102aa4fd30d438cfe0fcb04d4d5b491efa17b4f75f636648169fc5730b29bbeb781ceef25ad7cceca3e653a84"
439         "31fafb19713ddb566d7618d881aa693248d7bf2d8ff6c1cc7ea2aa1f242227507ec248b412fcbe75aba812578dc"
440         "7e8871f8ef19784c21970236be43656feec81bae8577aff26937cdcf924dc8624f7e6a03fe",
441 
442     .decryptResult = HKS_SUCCESS,
443 };
444 #endif
445 
446 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_034_PARAMS = {
447     .usageSpec = {
448         .algType = HKS_ALG_RSA,
449         .mode = HKS_MODE_ECB,
450         .padding = HKS_PADDING_OAEP,
451         .digest = HKS_DIGEST_SHA384,
452         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
453         .algParam = nullptr,
454     },
455     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_034_PARAMS_KEY_DATA
456     .hexData =
457         "1c0731b85707b5a67dec0bdc291b8a7c00a6fa2f494e573b47a8c8445eee2b49aa6c6b015b0d4f8be60074a8ee01e914a8c7964d05596d"
458         "776c5cdcb826db4574bf579c7d0c204fdeb61f6525f2927adddc0434d48c560206c5a4e95260531aaedfd3ad05a6afa2423aca600ce084"
459         "4be4c0dd5c89ee5b5e58dceb92817751880108bdea99acca257893ca0c407fff41f2b3eb8a4c54b06df07d04aa26ba8e349062e0b6f022"
460         "6e788c2c57a89a00bf1b5411ea3195d0118385a6bae7efcc2257648c4c5a001c6bb7405439adda7f9c449b6802b6fa9166c448d50b7383"
461         "b4b0fc0d0f043a1ec42599e31591be49a344cfed1a0cea16d99f45bbf296fc7a11f2c380",
462 
463     .decryptResult = HKS_SUCCESS,
464 };
465 
466 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_035_PARAMS = {
467     .usageSpec = {
468         .algType = HKS_ALG_RSA,
469         .mode = HKS_MODE_ECB,
470         .padding = HKS_PADDING_OAEP,
471         .digest = HKS_DIGEST_SHA384,
472         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
473         .algParam = nullptr,
474     },
475     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_035_PARAMS_KEY_DATA
476     .hexData =
477         "1a4a913074a6942fae678aa174fba8e958ed838d9720db2a434c1ab80e97ad60cfd0ff14c46c9d76a5d3389d5952a82ae40c25aede5b2c"
478         "23cac516b0927dc8740ce199be8f67e034493c4be5a7b5781444f0bef04af35c8de8f11a833645969b460ee730154df3e86f2f92e98295"
479         "b10ae10e6cd2544bc02081f987951af012bdf9ed2ad49869891e178b2fffdf10b6babbbebe92f48c342fd0306491e5aa52783f525e6e81"
480         "5b598042444cb703e775e4c79faf89a27ee2cfd319db3af4ff30dee3225830a304e35252e9c9b170be90b98d3f5f2bef85ccc9b4892005"
481         "e3bfb8ddf42c3dd4f4d53fd87ff2a8e6a8442328389962680960dbf12d85c92bbdb65a10b4cd51e3195bfbc5ce0bcf0073818ff18eabbe"
482         "29c441ae15a0fce82d1fd7370bbc9209e15ae994311da9399701fc67e2c19b0875898deb21aa446c87f7c91b611dc95e84a7cfe5c900b3"
483         "6c086a173d79cb36981a814bd8a0ca770323371f085935f04417cbad6484e58332e107c5fc9bd21b8c7d12e855849c7cf2be7fac5f3f",
484 
485     .decryptResult = HKS_SUCCESS,
486 };
487 
488 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_036_PARAMS = {
489     .usageSpec = {
490         .algType = HKS_ALG_RSA,
491         .mode = HKS_MODE_ECB,
492         .padding = HKS_PADDING_OAEP,
493         .digest = HKS_DIGEST_SHA384,
494         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
495         .algParam = nullptr,
496     },
497     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_036_PARAMS_KEY_DATA
498     .hexData =
499         "3f8f6c4d7a4a5f2a52d652198476cb4b7936378c0815fbcc5e646b3c60e3495fa4d0ff4bec76b008d7460df745b21656d34bc3bcb45a7f"
500         "ae2a5bfe1b227f88d9bc78381e3f2ade35372ecfa34e4195127572ab77096899c0d74eb0c444424884183f1725fd5068c600706b94b3e5"
501         "af61fd705e3cd5cbdc6b60496f34f3035939a9942c6bf724a6b68183078e8e9c66c216bf89df0c4c27f92c4719e7760db16d6e0b41f1df"
502         "b1897ddb1348d5f70e29649f2a060f2ba93b2f01f6374ca1c53648d12d8c74b063e3abcdaf5f5a4cc329a04c7a2ba5e694dfa5287e7ab4"
503         "2565dc533e9f4e7feec7d81519e7743f46e6a6093e1d58a3726024375df22644591bb2f40d4c4fb56832f0e697094a8727c151cba311a7"
504         "012e003703a4c0f8197b385fbeafa06adde6aeaedd1a4be6079dd29ccdababf5b166db8d501f673d9d7cf4bcee53bfc1c89e9dc9faf490"
505         "ee0a2d409d5a4cc9b164d847fae31977cf6ca597d4bfafadbd8f944aac5620e9e2225327aace2231fc66d4fb45a66dd4e9c156c1aef053"
506         "7d53243abe91f7a4993759f86ec692e962ba64d4efd3bbd928d4c921d44f54761e12a506a4a020ff7efb8ea629bc904aebadecd0cd6351"
507         "b0ef04b9650737b40e3be064aba627b1d175bf16448e50af4710e7413efe1c45b6e087af7a6e00bcc2e37411a17b9c2323e04da7d42f3f"
508         "f24807a3f8f488216af206cf5e109b27dd",
509 
510     .decryptResult = HKS_SUCCESS,
511 };
512 
513 #ifdef HKS_UNTRUSTED_RUNNING_ENV
514 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_037_PARAMS = {
515     .usageSpec = {
516         .algType = HKS_ALG_RSA,
517         .mode = HKS_MODE_ECB,
518         .padding = HKS_PADDING_OAEP,
519         .digest = HKS_DIGEST_SHA512,
520         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
521         .algParam = nullptr,
522     },
523     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_037_PARAMS_KEY_DATA
524     .hexData = "0000000000000000000000000000000050e79855555500000000000010000000000000000000000000000000200"
525         "0000000000000000000000000000000000000",
526     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
527 };
528 
529 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_038_PARAMS = {
530     .usageSpec = {
531         .algType = HKS_ALG_RSA,
532         .mode = HKS_MODE_ECB,
533         .padding = HKS_PADDING_OAEP,
534         .digest = HKS_DIGEST_SHA512,
535         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
536         .algParam = nullptr,
537     },
538     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_038_PARAMS_KEY_DATA
539     .hexData =
540         "a03c3df7ff7f0000a03c3df7ff7f0000000000000000000000000000000000000000000000000000000000000000000000000000000000"
541         "0000000000000000000000000000000000000000000000000000000000000000000000000000000000",
542     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
543 };
544 
545 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_039_PARAMS = {
546     .usageSpec = {
547         .algType = HKS_ALG_RSA,
548         .mode = HKS_MODE_ECB,
549         .padding = HKS_PADDING_OAEP,
550         .digest = HKS_DIGEST_SHA512,
551         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
552         .algParam = nullptr,
553     },
554     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_039_PARAMS_KEY_DATA
555     .hexData = "c0789b555555000000000000000000001efa17b4f75f636648169fc5730b29bbeb781ceef25ad7cceca3e653a84"
556         "31fafb19713ddb566d7618d881aa693248d7bf2d8ff6c1cc7ea2aa1f242227507ec248b412fcbe75aba812578dc"
557         "7e8871f8ef19784c21970236be43656feec81bae8577aff26937cdcf924dc8624f7e6a03fe",
558     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
559 };
560 #endif
561 
562 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_040_PARAMS = {
563     .usageSpec = {
564         .algType = HKS_ALG_RSA,
565         .mode = HKS_MODE_ECB,
566         .padding = HKS_PADDING_OAEP,
567         .digest = HKS_DIGEST_SHA512,
568         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
569         .algParam = nullptr,
570     },
571     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_040_PARAMS_KEY_DATA
572     .hexData =
573         "0a2b55577fab07262b26f974237ef1b3b55d4d8f6f26672144f12958738d2ef52fa64460ac9d48fddad78f778faf650f10c25185a30b3a"
574         "6b0b112a8107b99f54189ec1d3297c76f4677197f536f9917813c735380a0a1d7ef3f1839a2a88e3adb8e9a56e7842573b80b76afb3e32"
575         "a360d42efbce9fe874e4ae1e012fee87f5db1820e78e1d428b452a0103825355389980dc6d40289caa8c90bb9c7f4e69fd8154230717e6"
576         "0c1a1cdc1c52725ed8329d641a5f3dcd5f4774020082eba94137f4cef5a5f8917a221b53e3311ea3b21059d6d680d8ebb2dd21ceb32e40"
577         "bb384da3f37d29b44d95ef6cd8c2de66658326b73eea8785010ef4e8513ae575376f2795",
578 
579     .decryptResult = HKS_SUCCESS,
580 };
581 
582 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_041_PARAMS = {
583     .usageSpec = {
584         .algType = HKS_ALG_RSA,
585         .mode = HKS_MODE_ECB,
586         .padding = HKS_PADDING_OAEP,
587         .digest = HKS_DIGEST_SHA512,
588         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
589         .algParam = nullptr,
590     },
591     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_041_PARAMS_KEY_DATA
592     .hexData =
593         "84807a24502876d729e545f2c07a4eb7df7e15782d3d3a5ec29bce1dc2bacbf03dff90b39442a3b5a3228864ba80af4d27524cdfaa40f6"
594         "9f4f34671566a6c8f127ce39c66e7a35425db127f56f8ea79647e7a6edbc2ff6067f93efdc7077fa1dd16354a3f26c3effab326be32dfa"
595         "69f48ec15f9d7b58ad026ff7f8606d91b69474d740170bb48a32c4e6131181eb34872f6e0343ab91b2d182e59e614a078cb772020a170e"
596         "5e1c925dc84cde890376a632faf61da99033a9040e253d9f69c353e286e7d071e46c1c04633e651d147e57907e20269202d4a6b2855be5"
597         "0301578410419f9e40bca573d8b66bf0313dabc375a8b06f878b84a8e9571c86fd8f80b833f8910351ff2d06052ebf50c8d314d84dcdc5"
598         "3d576a61219ae99b00af82890349632e5d60055a2d68b9887759c1173c9683f2fbe2b88a57c709994e18dd7813aa2f35a4587b753737e0"
599         "3e94e17865dd8a6daf89c34cb1e9d512af5331daf1fe072e8ba5f66db6006ec406c7df4d70142c706c30124a4c5d084522f404e74438",
600 
601     .decryptResult = HKS_SUCCESS,
602 };
603 
604 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_042_PARAMS = {
605     .usageSpec = {
606         .algType = HKS_ALG_RSA,
607         .mode = HKS_MODE_ECB,
608         .padding = HKS_PADDING_OAEP,
609         .digest = HKS_DIGEST_SHA512,
610         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
611         .algParam = nullptr,
612     },
613     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_042_PARAMS_KEY_DATA
614     .hexData =
615         "afca445e73fede94488a5d9b000589a244bd2c27446d26f32e55de317b15b2ca2e8738dc0662db53a472f5a4ab7a8906a9e7bd001066f5"
616         "467cc235a0f335942e57def499c5b7f4a0dcbccfc2814cb2daa59410f035fd474447efee395665063ac2c44ac407ea8bffdd8bc7ac2515"
617         "dff7cda5ec6cb711038e54b2705fff90b2f64e9961d10b784c2ff71d4b5f1b558f406fa768ce11c0017abd24462cb206047dcb5c90876b"
618         "9dfac79cb2093509b9c82a21f9b984342ca80c8559629ef11c08efa543f7d63049c719d7a40770680ab426633f1d34e149124e7cb1cd8b"
619         "f49df625517ae55fb5cd7b4a9c7bfb33d426b1d383cc677a41a8b095c57a48f59a1460af92ab8b09c0e7e90dbf4c9d236bc3f5e785c9db"
620         "25511a546cfaf4c9595ad1f2a1d65432e9e675b22beff63d7131e6068aeac55c15ca9b4c747d0233db32d0d6208ab5e039beb56042c437"
621         "e891a2646042d59e419c82c7dfe207c3a629f071f2bde9caf876fa61d3c3f5b8407376896db682586dc99a1f895466c2808b4953131d4d"
622         "020d8f45bac5ccb7b42357bf14a3e50eaef9d6e105c35822e090355a0e13ba21d64beec5d186e1131ed90bdcfb5e9efa40dc0fd1b3bc8f"
623         "7a05a4863fe74b3c19c8c561adcb3dc3f62542fc8a7ed645a3d47f7d044e4420ce762656e863b559f57f7540f984d49744f7b2a17e037a"
624         "8f6aa6489016f5a36a912f59bf27abbc12",
625 
626     .decryptResult = HKS_SUCCESS,
627 };
628 
629 #ifdef HKS_UNTRUSTED_RUNNING_ENV
630 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_043_PARAMS = {
631     .usageSpec = {
632         .algType = HKS_ALG_RSA,
633         .mode = HKS_MODE_ECB,
634         .padding = HKS_PADDING_OAEP,
635         .digest = HKS_DIGEST_NONE,
636         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
637         .algParam = nullptr,
638     },
639     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_043_PARAMS_KEY_DATA
640     .hexData = "0000000000000000000000000000000050e79855555500000000000010000000000000000000000000000000200"
641         "0000000000000000000000000000000000000",
642 #if defined(_USE_OPENSSL_)
643     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
644 #endif
645 #if defined(_USE_MBEDTLS_)
646     .decryptResult = HKS_ERROR_INVALID_DIGEST,
647 #endif
648 };
649 
650 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_044_PARAMS = {
651     .usageSpec = {
652         .algType = HKS_ALG_RSA,
653         .mode = HKS_MODE_ECB,
654         .padding = HKS_PADDING_OAEP,
655         .digest = HKS_DIGEST_NONE,
656         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
657         .algParam = nullptr,
658     },
659     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_044_PARAMS_KEY_DATA
660     .hexData =
661         "d28a725fbe4b240aba0b2d8c9bf4d024c3044bdb3c505905ebeff937f628b3f1c8d236b411592f4d32f0f8575293db2d3cdc6a35ca14af"
662         "029a1d6204ff8c804d5621f5732e2d70fd80c714568592b38bcffb875dc7cf428033121a16838f80c0",
663 #if defined(_USE_OPENSSL_)
664     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
665 #endif
666 #if defined(_USE_MBEDTLS_)
667     .decryptResult = HKS_ERROR_INVALID_DIGEST,
668 #endif
669 };
670 
671 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_045_PARAMS = {
672     .usageSpec = {
673         .algType = HKS_ALG_RSA,
674         .mode = HKS_MODE_ECB,
675         .padding = HKS_PADDING_OAEP,
676         .digest = HKS_DIGEST_NONE,
677         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
678         .algParam = nullptr,
679     },
680     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_045_PARAMS_KEY_DATA
681     .hexData = "1e3401e969b112a4a7df26a6aaedf3ff16a7dff41af6edc23490a27dedeea873db62d8b1ef22bb94a7d5c7116fa"
682         "aedc5b51ff16dbc2f5b4e064fccb345c8ee7f64cb87015d5e753e399d6f891f7f79d3b017f237a08837795c4744"
683         "4d3ec649a636e5968f217e524a9fc1a47eb5da4f18c8dbcdcaa3a3cefd6b4ef09eb15d805f",
684 #if defined(_USE_OPENSSL_)
685     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
686 #endif
687 #if defined(_USE_MBEDTLS_)
688     .decryptResult = HKS_ERROR_INVALID_DIGEST,
689 #endif
690 };
691 #endif
692 
693 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_046_PARAMS = {
694     .usageSpec = {
695         .algType = HKS_ALG_RSA,
696         .mode = HKS_MODE_ECB,
697         .padding = HKS_PADDING_OAEP,
698         .digest = HKS_DIGEST_NONE,
699         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
700         .algParam = nullptr,
701     },
702     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_046_PARAMS_KEY_DATA
703     .hexData =
704         "8d0cbf0efc5ff64680b435e48977355279a8083567db3ad50208b3ce94103f1794049d7549f968850a81e10504015cde2c433b5285bdbb"
705         "cf3dc2f65d2041fea52c767210a4060861027ab88316d43ce78c37cf56f1a4689bb1dd3cb28f049ec63af250bea3b3387f2ce7b3779e8d"
706         "a8ea425b1d1313f7f1316f5b52768209c085b847d498a71c0e7356c05243a6c61975b64d9354993b0d289ffec94161e58872c0f47c275d"
707         "23f082f27239ce509e4434e555b61b4bc4be22834cd8e9164d86dd20f06e3fab308ca19f33a8b3fc4c931f208c4bf28548e5346014bbfb"
708         "afda034a173ef3523302ee1605ab6a9e50e1514d780a8791f2c9afaa4f7701017bacc665",
709 #if defined(_USE_OPENSSL_)
710     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
711 #endif
712 #if defined(_USE_MBEDTLS_)
713     .decryptResult = HKS_ERROR_INVALID_DIGEST,
714 #endif
715 };
716 
717 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_047_PARAMS = {
718     .usageSpec = {
719         .algType = HKS_ALG_RSA,
720         .mode = HKS_MODE_ECB,
721         .padding = HKS_PADDING_OAEP,
722         .digest = HKS_DIGEST_NONE,
723         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
724         .algParam = nullptr,
725     },
726     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_047_PARAMS_KEY_DATA
727     .hexData =
728         "1d4f65c5a56ae7d3c7eac6da9f60cca30c4ba05e62a0dbf2e5f0fe2f12d359f2cddce668ea4294726790da3ae941bb1186e5fa1197999d"
729         "37a0413e1694dd534f9466b7bed275feee9137358448d3a6d3a0d22501b14f1e8bc68ab80feb63500b8b19c4b27d2f64abe448bc4bba74"
730         "a8ddebb089f3d0c2cd56ffe169d9e4f3c77df534089ae814d1e6d0064546282043b4fdfbaf3d4b866155fb6f727bab1687132ca4ef9967"
731         "ddcbf78ae8d1407b9f1450112bc141f35fbeb57240e99f5ea40a256a6e11b1549b908d66d379a5b744eef01672b891c492b89ed95c7437"
732         "f6039d56de1434dc78b9b037e574421f583cf282af3c326b53e816b0a54f931eddc918a6e6b86d66f949080d64cf3d03cafe6de46da8d1"
733         "818a104fd4a1791957c14b345d53ca1e22e387ac33c7b8b3e457b1ed92642280c9ad712a55a5fa1f621726ece801b97fc1c53c18c4894f"
734         "0c5c34d4fb4322570f29a0d35ad3870d33605e07536d80f51c6e2a2862198c01ff84ed985f109865817c4f8937dd44cdf36e9623a6cd",
735 #if defined(_USE_OPENSSL_)
736     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
737 #endif
738 #if defined(_USE_MBEDTLS_)
739     .decryptResult = HKS_ERROR_INVALID_DIGEST,
740 #endif
741 };
742 
743 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_048_PARAMS = {
744     .usageSpec = {
745         .algType = HKS_ALG_RSA,
746         .mode = HKS_MODE_ECB,
747         .padding = HKS_PADDING_OAEP,
748         .digest = HKS_DIGEST_NONE,
749         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
750         .algParam = nullptr,
751     },
752     .keyData = HKS_CRYPTO_HAL_RSA_OAEP_048_PARAMS_KEY_DATA
753     .hexData =
754         "8577cf3e564f07d0f9457fd6f9e974dba0e7aa86ad20260db31eafc0ce30aeba1bc23324151bdd6cb8b5f251cb40589bd72b896e4da771"
755         "c7b78ce7fb2999c2eaf5ca060feb616967097cfb69ff734f65c43691525ac2d3c36962c2bca15b041641024fe0ff37c487fff44c2fbb7d"
756         "7b58203b1203c2adce58c9c4768ab9f1ac07d76aa86a0d857d62a9d9649ebd5242f50753a2d75c893eb8fa3b6a48a600f699004e8e958e"
757         "874e6a012e4c45b32c3a5706bb00c32924fc50c6d63606ea7a5fe598bdce3c460dcc48949441384b1505e3b94f191cdce10947d8736c46"
758         "4db32a303fb5e61e29dfe69bd185563d3dcf5a7f86412bc450ee160919169f9d87e40257cb48c626bfc1e696cc4a4c0c6e947a308cd60c"
759         "dfb6801c2ccc4a5ec25c2caafd0115f8f9fde3eb8d63be36ff31de8347bcc5da2b3202576adcf0280ecefc9e8f83cbcb60684ae5ddf915"
760         "232a4a204aa98516d6b6fbb6a6b841b52c786f3755577693efb8ef5eeced7a3bbd186adb9458daadae80d28769c79a95041a64ebad9388"
761         "4bbb36e5387fe4264b92c0b0173f690ae39d6d73facb3877f898a60ef4894b52e1c8de3a8e47b69320d2fd412debf80b6569fe185ba89f"
762         "a731a5b2cc0231b4189b9c2780256568cd166cf88dc8a67e7980e2ea29871f078ebd92b1ef1570f28171ef61ed1ea7b69abb3aa8abf6f7"
763         "a8f600f191e2edbaf8d21785903f47cd19",
764 #if defined(_USE_OPENSSL_)
765     .decryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
766 #endif
767 #if defined(_USE_MBEDTLS_)
768     .decryptResult = HKS_ERROR_INVALID_DIGEST,
769 #endif
770 };
771 }  // namespace
772 
773 class HksCryptoHalRsaOaepDecrypt : public HksCryptoHalCommon, public testing::Test {
774 public:
775     static void SetUpTestCase(void);
776     static void TearDownTestCase(void);
777     void TearDown();
778     void SetUp();
779 protected:
RunTestCase(const TestCaseParams & testCaseParams) const780     void RunTestCase(const TestCaseParams &testCaseParams) const
781     {
782         uint32_t keyLen = testCaseParams.keyData.length() / HKS_COUNT_OF_HALF;
783         HksBlob key = { .size = keyLen, .data = (uint8_t *)HksMalloc(keyLen) };
784         ASSERT_EQ(key.data == nullptr, false) << "key malloc failed.";
785         for (uint32_t ii = 0; ii < keyLen; ii++) {
786             key.data[ii] = ReadHex((const uint8_t *)&testCaseParams.keyData[HKS_COUNT_OF_HALF * ii]);
787         }
788 
789         uint32_t inLen = testCaseParams.hexData.length() / HKS_COUNT_OF_HALF;
790         uint32_t outLen = inLen;
791 
792         HksBlob message = { .size = inLen, .data = (uint8_t *)HksMalloc(inLen) };
793         ASSERT_EQ(message.data == nullptr, false) << "message malloc failed.";
794         for (uint32_t ii = 0; ii < inLen; ii++) {
795             message.data[ii] = ReadHex((const uint8_t *)&testCaseParams.hexData[HKS_COUNT_OF_HALF * ii]);
796         }
797 
798         HksBlob cipherText = { .size = outLen, .data = (uint8_t *)HksMalloc(outLen + HKS_PADDING_SUPPLENMENT) };
799         ASSERT_EQ(cipherText.data == nullptr, false) << "cipherText malloc failed.";
800 
801         EXPECT_EQ(
802             HksCryptoHalDecrypt(&key, &testCaseParams.usageSpec, &message, &cipherText), testCaseParams.decryptResult);
803         HKS_FREE(key.data);
804         HKS_FREE(message.data);
805         HKS_FREE(cipherText.data);
806     }
807 };
808 
SetUpTestCase(void)809 void HksCryptoHalRsaOaepDecrypt::SetUpTestCase(void)
810 {
811 }
812 
TearDownTestCase(void)813 void HksCryptoHalRsaOaepDecrypt::TearDownTestCase(void)
814 {
815 }
816 
SetUp()817 void HksCryptoHalRsaOaepDecrypt::SetUp()
818 {
819     EXPECT_EQ(HksCryptoAbilityInit(), 0);
820 }
821 
TearDown()822 void HksCryptoHalRsaOaepDecrypt::TearDown()
823 {
824 }
825 
826 #ifdef HKS_UNTRUSTED_RUNNING_ENV
827 /**
828  * @tc.number    : HksCryptoHalRsaOaepDecrypt_013
829  * @tc.name      : HksCryptoHalRsaOaepDecrypt_013
830  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-512-OAEP_SHA1 key.
831  */
832 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_013, Function | SmallTest | Level1)
833 {
834     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_013_PARAMS);
835 }
836 
837 /**
838  * @tc.number    : HksCryptoHalRsaOaepDecrypt_014
839  * @tc.name      : HksCryptoHalRsaOaepDecrypt_014
840  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-768-OAEP_SHA1 key.
841  */
842 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_014, Function | SmallTest | Level1)
843 {
844     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_014_PARAMS);
845 }
846 
847 /**
848  * @tc.number    : HksCryptoHalRsaOaepDecrypt_015
849  * @tc.name      : HksCryptoHalRsaOaepDecrypt_015
850  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-1024-OAEP_SHA1 key.
851  */
852 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_015, Function | SmallTest | Level1)
853 {
854     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_015_PARAMS);
855 }
856 #endif
857 
858 /**
859  * @tc.number    : HksCryptoHalRsaOaepDecrypt_016
860  * @tc.name      : HksCryptoHalRsaOaepDecrypt_016
861  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-2048-OAEP_SHA1 key.
862  */
863 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_016, Function | SmallTest | Level1)
864 {
865     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_016_PARAMS);
866 }
867 
868 #ifndef CUT_RSA_4096_TEST
869 /**
870  * @tc.number    : HksCryptoHalRsaOaepDecrypt_017
871  * @tc.name      : HksCryptoHalRsaOaepDecrypt_017
872  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-3072-OAEP_SHA1 key.
873  */
874 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_017, Function | SmallTest | Level1)
875 {
876     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_017_PARAMS);
877 }
878 
879 /**
880  * @tc.number    : HksCryptoHalRsaOaepDecrypt_018
881  * @tc.name      : HksCryptoHalRsaOaepDecrypt_018
882  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-4096-OAEP_SHA1 key.
883  */
884 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_018, Function | SmallTest | Level1)
885 {
886     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_018_PARAMS);
887 }
888 #endif
889 
890 #ifdef HKS_UNTRUSTED_RUNNING_ENV
891 /**
892  * @tc.number    : HksCryptoHalRsaOaepDecrypt_019
893  * @tc.name      : HksCryptoHalRsaOaepDecrypt_019
894  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-512-OAEP_SHA224 key.
895  */
896 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_019, Function | SmallTest | Level1)
897 {
898     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_019_PARAMS);
899 }
900 
901 /**
902  * @tc.number    : HksCryptoHalRsaOaepDecrypt_020
903  * @tc.name      : HksCryptoHalRsaOaepDecrypt_020
904  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-768-OAEP_SHA224 key.
905  */
906 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_020, Function | SmallTest | Level1)
907 {
908     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_020_PARAMS);
909 }
910 
911 /**
912  * @tc.number    : HksCryptoHalRsaOaepDecrypt_021
913  * @tc.name      : HksCryptoHalRsaOaepDecrypt_021
914  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-1024-OAEP_SHA224 key.
915  */
916 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_021, Function | SmallTest | Level1)
917 {
918     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_021_PARAMS);
919 }
920 
921 /**
922  * @tc.number    : HksCryptoHalRsaOaepDecrypt_022
923  * @tc.name      : HksCryptoHalRsaOaepDecrypt_022
924  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-2048-OAEP_SHA224 key.
925  */
926 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_022, Function | SmallTest | Level1)
927 {
928     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_022_PARAMS);
929 }
930 
931 #ifndef CUT_RSA_4096_TEST
932 /**
933  * @tc.number    : HksCryptoHalRsaOaepDecrypt_023
934  * @tc.name      : HksCryptoHalRsaOaepDecrypt_023
935  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-3072-OAEP_SHA224 key.
936  */
937 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_023, Function | SmallTest | Level1)
938 {
939     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_023_PARAMS);
940 }
941 
942 /**
943  * @tc.number    : HksCryptoHalRsaOaepDecrypt_024
944  * @tc.name      : HksCryptoHalRsaOaepDecrypt_024
945  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-4096-OAEP_SHA224 key.
946  */
947 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_024, Function | SmallTest | Level1)
948 {
949     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_024_PARAMS);
950 }
951 #endif //CUT_RSA_4096_TEST
952 
953 /**
954  * @tc.number    : HksCryptoHalRsaOaepDecrypt_025
955  * @tc.name      : HksCryptoHalRsaOaepDecrypt_025
956  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-512-OAEP_SHA256 key failed:keysize<sha*2+2.
957  */
958 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_025, Function | SmallTest | Level1)
959 {
960     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_025_PARAMS);
961 }
962 
963 /**
964  * @tc.number    : HksCryptoHalRsaOaepDecrypt_026
965  * @tc.name      : HksCryptoHalRsaOaepDecrypt_026
966  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-768-OAEP_SHA256 key.
967  */
968 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_026, Function | SmallTest | Level1)
969 {
970     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_026_PARAMS);
971 }
972 
973 /**
974  * @tc.number    : HksCryptoHalRsaOaepDecrypt_027
975  * @tc.name      : HksCryptoHalRsaOaepDecrypt_027
976  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-1024-OAEP_SHA256 key.
977  */
978 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_027, Function | SmallTest | Level1)
979 {
980     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_027_PARAMS);
981 }
982 #endif //HKS_UNTRUSTED_RUNNING_ENV
983 
984 /**
985  * @tc.number    : HksCryptoHalRsaOaepDecrypt_028
986  * @tc.name      : HksCryptoHalRsaOaepDecrypt_028
987  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-2048-OAEP_SHA256 key.
988  */
989 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_028, Function | SmallTest | Level1)
990 {
991     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_028_PARAMS);
992 }
993 
994 #ifndef CUT_RSA_4096_TEST
995 /**
996  * @tc.number    : HksCryptoHalRsaOaepDecrypt_029
997  * @tc.name      : HksCryptoHalRsaOaepDecrypt_029
998  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-3072-OAEP_SHA256 key.
999  */
1000 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_029, Function | SmallTest | Level1)
1001 {
1002     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_029_PARAMS);
1003 }
1004 
1005 /**
1006  * @tc.number    : HksCryptoHalRsaOaepDecrypt_030
1007  * @tc.name      : HksCryptoHalRsaOaepDecrypt_030
1008  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-4096-OAEP_SHA256 key.
1009  */
1010 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_030, Function | SmallTest | Level1)
1011 {
1012     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_030_PARAMS);
1013 }
1014 #endif
1015 
1016 #ifdef HKS_UNTRUSTED_RUNNING_ENV
1017 /**
1018  * @tc.number    : HksCryptoHalRsaOaepDecrypt_031
1019  * @tc.name      : HksCryptoHalRsaOaepDecrypt_031
1020  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-512-OAEP_SHA384 key failed:keysize<sha*2+2.
1021  */
1022 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_031, Function | SmallTest | Level1)
1023 {
1024     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_031_PARAMS);
1025 }
1026 
1027 /**
1028  * @tc.number    : HksCryptoHalRsaOaepDecrypt_032
1029  * @tc.name      : HksCryptoHalRsaOaepDecrypt_032
1030  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-768-OAEP_SHA384 key failed:keysize<sha*2+2.
1031  */
1032 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_032, Function | SmallTest | Level1)
1033 {
1034     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_032_PARAMS);
1035 }
1036 
1037 /**
1038  * @tc.number    : HksCryptoHalRsaOaepDecrypt_033
1039  * @tc.name      : HksCryptoHalRsaOaepDecrypt_033
1040  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-1024-OAEP_SHA384 key.
1041  */
1042 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_033, Function | SmallTest | Level1)
1043 {
1044     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_033_PARAMS);
1045 }
1046 #endif
1047 
1048 /**
1049  * @tc.number    : HksCryptoHalRsaOaepDecrypt_034
1050  * @tc.name      : HksCryptoHalRsaOaepDecrypt_034
1051  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-2048-OAEP_SHA384 key.
1052  */
1053 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_034, Function | SmallTest | Level1)
1054 {
1055     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_034_PARAMS);
1056 }
1057 
1058 #ifndef CUT_RSA_4096_TEST
1059 /**
1060  * @tc.number    : HksCryptoHalRsaOaepDecrypt_035
1061  * @tc.name      : HksCryptoHalRsaOaepDecrypt_035
1062  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-3072-OAEP_SHA384 key.
1063  */
1064 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_035, Function | SmallTest | Level1)
1065 {
1066     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_035_PARAMS);
1067 }
1068 
1069 /**
1070  * @tc.number    : HksCryptoHalRsaOaepDecrypt_036
1071  * @tc.name      : HksCryptoHalRsaOaepDecrypt_036
1072  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-4096-OAEP_SHA384 key.
1073  */
1074 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_036, Function | SmallTest | Level1)
1075 {
1076     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_036_PARAMS);
1077 }
1078 #endif
1079 
1080 #ifdef HKS_UNTRUSTED_RUNNING_ENV
1081 /**
1082  * @tc.number    : HksCryptoHalRsaOaepDecrypt_037
1083  * @tc.name      : HksCryptoHalRsaOaepDecrypt_037
1084  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-512-OAEP_SHA512 key failed:keysize<sha*2+2.
1085  */
1086 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_037, Function | SmallTest | Level1)
1087 {
1088     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_037_PARAMS);
1089 }
1090 
1091 /**
1092  * @tc.number    : HksCryptoHalRsaOaepDecrypt_038
1093  * @tc.name      : HksCryptoHalRsaOaepDecrypt_038
1094  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-768-OAEP_SHA512 key failed:keysize<sha*2+2.
1095  */
1096 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_038, Function | SmallTest | Level1)
1097 {
1098     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_038_PARAMS);
1099 }
1100 
1101 /**
1102  * @tc.number    : HksCryptoHalRsaOaepDecrypt_039
1103  * @tc.name      : HksCryptoHalRsaOaepDecrypt_039
1104  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-1024-OAEP_SHA512 key failed:keysize<sha*2+2.
1105  */
1106 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_039, Function | SmallTest | Level1)
1107 {
1108     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_039_PARAMS);
1109 }
1110 #endif
1111 
1112 /**
1113  * @tc.number    : HksCryptoHalRsaOaepDecrypt_040
1114  * @tc.name      : HksCryptoHalRsaOaepDecrypt_040
1115  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-2048-OAEP_SHA512 key.
1116  */
1117 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_040, Function | SmallTest | Level1)
1118 {
1119     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_040_PARAMS);
1120 }
1121 
1122 #ifndef CUT_RSA_4096_TEST
1123 /**
1124  * @tc.number    : HksCryptoHalRsaOaepDecrypt_041
1125  * @tc.name      : HksCryptoHalRsaOaepDecrypt_041
1126  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-3072-OAEP_SHA512 key.
1127  */
1128 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_041, Function | SmallTest | Level1)
1129 {
1130     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_041_PARAMS);
1131 }
1132 
1133 /**
1134  * @tc.number    : HksCryptoHalRsaOaepDecrypt_042
1135  * @tc.name      : HksCryptoHalRsaOaepDecrypt_042
1136  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-4096-OAEP_SHA512 key.
1137  */
1138 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_042, Function | SmallTest | Level1)
1139 {
1140     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_042_PARAMS);
1141 }
1142 #endif
1143 
1144 #ifdef HKS_UNTRUSTED_RUNNING_ENV
1145 /**
1146  * @tc.number    : HksCryptoHalRsaOaepDecrypt_043
1147  * @tc.name      : HksCryptoHalRsaOaepDecrypt_043
1148  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-512-OAEP failed: wrong digest.
1149  */
1150 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_043, Function | SmallTest | Level1)
1151 {
1152     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_043_PARAMS);
1153 }
1154 
1155 /**
1156  * @tc.number    : HksCryptoHalRsaOaepDecrypt_044
1157  * @tc.name      : HksCryptoHalRsaOaepDecrypt_044
1158  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-768-OAEP key failed: wrong digest.
1159  */
1160 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_044, Function | SmallTest | Level1)
1161 {
1162     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_044_PARAMS);
1163 }
1164 
1165 /**
1166  * @tc.number    : HksCryptoHalRsaOaepDecrypt_045
1167  * @tc.name      : HksCryptoHalRsaOaepDecrypt_045
1168  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-1024-OAEP key failed: wrong digest.
1169  */
1170 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_045, Function | SmallTest | Level1)
1171 {
1172     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_045_PARAMS);
1173 }
1174 #endif
1175 
1176 /**
1177  * @tc.number    : HksCryptoHalRsaOaepDecrypt_046
1178  * @tc.name      : HksCryptoHalRsaOaepDecrypt_046
1179  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-2048-OAEP key.
1180  */
1181 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_046, Function | SmallTest | Level1)
1182 {
1183     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_046_PARAMS);
1184 }
1185 
1186 #ifndef CUT_RSA_4096_TEST
1187 /**
1188  * @tc.number    : HksCryptoHalRsaOaepDecrypt_047
1189  * @tc.name      : HksCryptoHalRsaOaepDecrypt_047
1190  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-3072-OAEP key.
1191  */
1192 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_047, Function | SmallTest | Level1)
1193 {
1194     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_047_PARAMS);
1195 }
1196 
1197 /**
1198  * @tc.number    : HksCryptoHalRsaOaepDecrypt_048
1199  * @tc.name      : HksCryptoHalRsaOaepDecrypt_048
1200  * @tc.desc      : Using HksCryptoHalDecrypt Decrypt RSA-4096-OAEP key failed: wrong digest.
1201  */
1202 HWTEST_F(HksCryptoHalRsaOaepDecrypt, HksCryptoHalRsaOaepDecrypt_048, Function | SmallTest | Level1)
1203 {
1204     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_DECRYPT_048_PARAMS);
1205 }
1206 #endif
1207 }  // namespace UnitTest
1208 }  // namespace Huks
1209 }  // namespace Security
1210 }  // namespace OHOS