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