1 /*
2 * Copyright (c) 2025 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 "identityservice_fuzzer.h"
17
18 #include <cinttypes>
19 #include <unistd.h>
20 #include "alg_loader.h"
21 #include "common_defs.h"
22 #include "device_auth.h"
23 #include "device_auth_defines.h"
24 #include "device_auth_ext.h"
25 #include "hc_dev_info_mock.h"
26 #include "json_utils.h"
27 #include "protocol_task_main_mock.h"
28 #include "securec.h"
29 #include "hc_file.h"
30 #include "hc_string.h"
31 #include <dirent.h>
32 #include <fcntl.h>
33 #include <sys/types.h>
34 #include <sys/stat.h>
35 #include "hc_log.h"
36 #include "hc_types.h"
37 #include "base/security/device_auth/services/identity_service/src/identity_service_impl.c"
38 #include "base/security/device_auth/services/identity_service/src/identity_operation.c"
39 #include "base/security/device_auth/services/identity_service/src/identity_service.c"
40 #include "base/security/device_auth/services/data_manager/cred_data_manager/src/credential_data_manager.c"
41
42 namespace OHOS {
43 #define TEST_RESULT_SUCCESS 0
44 #define TEST_APP_ID "TestAppId"
45 #define TEST_APP_ID1 "TestAppId1"
46 #define QUERY_RESULT_NUM 0
47 #define QUERY_RESULT_NUM_2 2
48 #define TEST_CRED_TYPE 1
49 #define TEST_CRED_TYPE_1 3
50 #define TEST_REQ_ID 11111111
51 #define TEST_REQ_ID_S 22222222
52 #define TEST_REQ_ID_AUTH 12312121
53 #define TEST_REQ_ID_AUTH_S 4352345234534
54 #define TEST_OWNER_UID_1 1
55 #define TEST_OWNER_UID_2 2
56 #define TEST_OWNER_UID_1 1
57 #define TEST_OWNER_UID_2 2
58 #define TEST_DEV_AUTH_SLEEP_TIME 50000
59 #define DATA_LEN 10
60
61 #define TEST_CRED_DATA_PATH "/data/service/el1/public/deviceauthMock/hccredential.dat"
62
63 static const char *ADD_PARAMS =
64 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
65 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
66 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
67 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
68 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
69 static const char *CLIENT_AUTH_PARAMS =
70 "{\"credType\":2,\"keyFormat\":1,\"algorithmType\":1,\"subject\":1,"
71 "\"proofType\":1,\"method\":2,\"authorizedScope\":1,"
72 "\"keyValue\":\"1234567812345678123456781234567812345678123456781234567812345678\","
73 "\"deviceId\":\"52E2706717D5C39D736E134CC1E3BE1BAA2AA52DB7C76A37C749558BD2E6492C\",\"credOwner\":\"TestAppId\","
74 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
75 "\"peerUserSpaceId\":\"0\",\"extendInfo\":\"\"}";
76 static const char *SERVER_AUTH_PARAMS =
77 "{\"credType\":2,\"keyFormat\":1,\"algorithmType\":1,\"subject\":1,"
78 "\"proofType\":1,\"method\":2,\"authorizedScope\":1,"
79 "\"keyValue\":\"1234567812345678123456781234567812345678123456781234567812345678\","
80 "\"deviceId\":\"5420459D93FE773F9945FD64277FBA2CAB8FB996DDC1D0B97676FBB1242B3930\",\"credOwner\":\"TestAppId\","
81 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
82 "\"peerUserSpaceId\":\"0\",\"extendInfo\":\"\"}";
83 static const char *ADD_PARAMS1 =
84 "{\"credType\":0,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
85 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
86 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
87 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
88 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
89 static const char *ADD_PARAMS2 =
90 "{\"credType\":1,\"keyFormat\":0,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
91 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
92 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
93 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
94 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
95 static const char *ADD_PARAMS3 =
96 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":0,\"subject\":1,\"issuer\":1,"
97 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
98 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
99 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
100 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
101 static const char *ADD_PARAMS4 =
102 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":0,\"issuer\":1,"
103 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
104 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
105 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
106 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
107 static const char *ADD_PARAMS5 =
108 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":0,"
109 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
110 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
111 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
112 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
113 static const char *ADD_PARAMS6 =
114 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
115 "\"proofType\":0,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
116 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
117 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
118 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
119 static const char *ADD_PARAMS7 =
120 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
121 "\"proofType\":1,\"method\":0,\"authorizedScope\":1,\"userId\":\"TestUserId\","
122 "\"keyValue\":\"TestKeyValue\",\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
123 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
124 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
125 static const char *ADD_PARAMS8 =
126 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
127 "\"proofType\":1,\"method\":1,\"authorizedScope\":0,\"userId\":\"TestUserId\","
128 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
129 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
130 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
131 static const char *ADD_PARAMS9 =
132 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
133 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
134 "\"credOwner\":\"TestAppId\","
135 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
136 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
137 static const char *ADD_PARAMS10 =
138 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
139 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
140 "\"deviceId\":\"TestDeviceId\","
141 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
142 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
143 static const char *ADD_PARAMS11 =
144 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
145 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,"
146 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
147 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
148 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
149 static const char *ADD_PARAMS12 =
150 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
151 "\"proofType\":1,\"method\":2,\"authorizedScope\":1,\"userId\":\"TestUserId\","
152 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
153 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
154 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
155 static const char *ADD_PARAMS13 =
156 "{\"credType\":2,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
157 "\"proofType\":1,\"method\":2,\"authorizedScope\":1,\"userId\":\"TestUserId\","
158 "\"keyValue\":\"9A9A9A9A\",\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
159 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
160 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
161 static const char *ADD_PARAMS14 =
162 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
163 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
164 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId1\","
165 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
166 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
167 static const char *ADD_PARAMS15 =
168 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
169 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
170 "\"keyValue\":\"TestKeyValue\",\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
171 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
172 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
173 static const char *REQUEST_PARAMS =
174 "{\"authorizedScope\":1, \"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\","
175 "\"TestName4\"],\"extendInfo\":\"\"}";
176 static const char *BATCH_UPDATE_PARAMS =
177 "{\"baseInfo\":{\"credType\":3,\"credOwner\":\"com.test.test\"},"
178 "\"updateLists\":[{\"deviceId\":\"testDevicId\", \"userId\":\"TestUserId\"}]}";
179
180 static const char *QUERY_PARAMS = "{\"deviceId\":\"TestDeviceId\"}";
181 static const char *QUERY_PARAMS1 = "{\"deviceId\":\"TestDeviceId1\"}";
182 static const char *TEST_CRED_ID = "345234562567437654356743";
183 static const char *TEST_USER_ID = "testUserId";
184 static const char *TEST_DEVICE_ID = "testDeviceId";
185 static const char *TEST_CRED_OWNER = "testCredOwner";
186
187 enum CredListenerStatus {
188 CRED_LISTENER_INIT = 0,
189 CRED_LISTENER_ON_ADD = 1,
190 CRED_LISTENER_ON_UPDATE = 2,
191 CRED_LISTENER_ON_DELETE = 3,
192 };
193 enum AsyncStatus {
194 ASYNC_STATUS_WAITING = 0,
195 ASYNC_STATUS_TRANSMIT = 1,
196 ASYNC_STATUS_FINISH = 2,
197 ASYNC_STATUS_ERROR = 3
198 };
199
200 static AsyncStatus volatile g_asyncStatus;
201 static uint32_t g_transmitDataMaxLen = 2048;
202 static uint8_t g_transmitData[2048] = { 0 };
203 static uint32_t g_transmitDataLen = 0;
204 static bool g_isBind = false;
205 static char g_clientCredId[256] = { 0 };
206 static char g_serverCredId[256] = { 0 };
207 static const char *PIN_CODE = "000000";
208
209 static CredListenerStatus volatile g_credListenerStatus;
210
TestOnCredAdd(const char * credId,const char * credInfo)211 static void TestOnCredAdd(const char *credId, const char *credInfo)
212 {
213 (void)credId;
214 (void)credInfo;
215 g_credListenerStatus = CRED_LISTENER_ON_ADD;
216 }
217
TestOnCredUpdate(const char * credId,const char * credInfo)218 static void TestOnCredUpdate(const char *credId, const char *credInfo)
219 {
220 (void)credId;
221 (void)credInfo;
222 g_credListenerStatus = CRED_LISTENER_ON_UPDATE;
223 }
224
TestOnCredDelete(const char * credId,const char * credInfo)225 static void TestOnCredDelete(const char *credId, const char *credInfo)
226 {
227 (void)credId;
228 (void)credInfo;
229 g_credListenerStatus = CRED_LISTENER_ON_DELETE;
230 }
231
232 static CredChangeListener g_credChangeListener = {
233 .onCredAdd = TestOnCredAdd,
234 .onCredDelete = TestOnCredDelete,
235 .onCredUpdate = TestOnCredUpdate,
236 };
237
DeleteDatabase()238 static void DeleteDatabase()
239 {
240 HcFileRemove(TEST_CRED_DATA_PATH);
241 }
242
CompareSubject(Credential * credential,QueryCredentialParams * params)243 static bool CompareSubject(Credential *credential, QueryCredentialParams *params)
244 {
245 credential->subject = SUBJECT_ACCESSORY_DEVICE;
246 (void)CompareIntParams(params, credential);
247 credential->subject = DEFAULT_CRED_PARAM_VAL;
248 (void)CompareIntParams(params, credential);
249 params->subject = SUBJECT_MASTER_CONTROLLER;
250 credential->subject = SUBJECT_ACCESSORY_DEVICE;
251 (void)CompareIntParams(params, credential);
252 credential->subject = SUBJECT_MASTER_CONTROLLER;
253 bool ret = CompareIntParams(params, credential);
254 params->subject = DEFAULT_CRED_PARAM_VAL;
255 return ret;
256 }
257
CompareIssuer(Credential * credential,QueryCredentialParams * params)258 static bool CompareIssuer(Credential *credential, QueryCredentialParams *params)
259 {
260 credential->issuer = SYSTEM_ACCOUNT;
261 (void)CompareIntParams(params, credential);
262 credential->issuer = DEFAULT_CRED_PARAM_VAL;
263 (void)CompareIntParams(params, credential);
264 params->issuer = SYSTEM_ACCOUNT;
265 credential->issuer = SYSTEM_ACCOUNT;
266 (void)CompareIntParams(params, credential);
267 credential->issuer = APP_ACCOUNT;
268 bool ret = CompareIntParams(params, credential);
269 params->issuer = DEFAULT_CRED_PARAM_VAL;
270 return ret;
271 }
272
CompareOwnerUid(Credential * credential,QueryCredentialParams * params)273 static bool CompareOwnerUid(Credential *credential, QueryCredentialParams *params)
274 {
275 credential->ownerUid = TEST_OWNER_UID_1;
276 (void)CompareIntParams(params, credential);
277 credential->ownerUid = DEFAULT_CRED_PARAM_VAL;
278 (void)CompareIntParams(params, credential);
279 params->ownerUid = TEST_OWNER_UID_1;
280 credential->ownerUid = TEST_OWNER_UID_1;
281 (void)CompareIntParams(params, credential);
282 credential->ownerUid = TEST_OWNER_UID_2;
283 bool ret = CompareIntParams(params, credential);
284 params->ownerUid = DEFAULT_CRED_PARAM_VAL;
285 return ret;
286 }
287
CompareAuthorziedScope(Credential * credential,QueryCredentialParams * params)288 static bool CompareAuthorziedScope(Credential *credential, QueryCredentialParams *params)
289 {
290 credential->authorizedScope = SCOPE_DEVICE;
291 (void)CompareIntParams(params, credential);
292 credential->authorizedScope = DEFAULT_CRED_PARAM_VAL;
293 (void)CompareIntParams(params, credential);
294 params->authorizedScope = SCOPE_DEVICE;
295 credential->authorizedScope = SCOPE_DEVICE;
296 (void)CompareIntParams(params, credential);
297 credential->authorizedScope = SCOPE_USER;
298 bool ret = CompareIntParams(params, credential);
299 params->authorizedScope = DEFAULT_CRED_PARAM_VAL;
300 return ret;
301 }
302
CompareKeyFormat(Credential * credential,QueryCredentialParams * params)303 static bool CompareKeyFormat(Credential *credential, QueryCredentialParams *params)
304 {
305 credential->keyFormat = SYMMETRIC_KEY;
306 (void)CompareIntParams(params, credential);
307 credential->keyFormat = DEFAULT_CRED_PARAM_VAL;
308 (void)CompareIntParams(params, credential);
309 params->keyFormat = SYMMETRIC_KEY;
310 credential->keyFormat = SYMMETRIC_KEY;
311 (void)CompareIntParams(params, credential);
312 credential->keyFormat = ASYMMETRIC_PUB_KEY;
313 bool ret = CompareIntParams(params, credential);
314 params->keyFormat = DEFAULT_CRED_PARAM_VAL;
315 return ret;
316 }
317
CompareAlgorithmType(Credential * credential,QueryCredentialParams * params)318 static bool CompareAlgorithmType(Credential *credential, QueryCredentialParams *params)
319 {
320 credential->algorithmType = ALGO_TYPE_AES_256;
321 (void)CompareIntParams(params, credential);
322 credential->algorithmType = DEFAULT_CRED_PARAM_VAL;
323 (void)CompareIntParams(params, credential);
324 params->algorithmType = ALGO_TYPE_AES_256;
325 credential->algorithmType = ALGO_TYPE_AES_256;
326 (void)CompareIntParams(params, credential);
327 credential->algorithmType = ALGO_TYPE_AES_128;
328 bool ret = CompareIntParams(params, credential);
329 params->algorithmType = DEFAULT_CRED_PARAM_VAL;
330 return ret;
331 }
332
CompareProofType(Credential * credential,QueryCredentialParams * params)333 static bool CompareProofType(Credential *credential, QueryCredentialParams *params)
334 {
335 credential->proofType = PROOF_TYPE_PSK;
336 (void)CompareIntParams(params, credential);
337 credential->proofType = DEFAULT_CRED_PARAM_VAL;
338 (void)CompareIntParams(params, credential);
339 params->proofType = PROOF_TYPE_PSK;
340 credential->proofType = PROOF_TYPE_PSK;
341 (void)CompareIntParams(params, credential);
342 credential->proofType = PROOF_TYPE_PKI;
343 bool ret = CompareIntParams(params, credential);
344 params->proofType = DEFAULT_CRED_PARAM_VAL;
345 return ret;
346 }
347
348
OnTransmit(int64_t requestId,const uint8_t * data,uint32_t dataLen)349 static bool OnTransmit(int64_t requestId, const uint8_t *data, uint32_t dataLen)
350 {
351 if (memcpy_s(g_transmitData, g_transmitDataMaxLen, data, dataLen) != EOK) {
352 return false;
353 }
354 g_transmitDataLen = dataLen;
355 g_asyncStatus = ASYNC_STATUS_TRANSMIT;
356 return true;
357 }
358
OnSessionKeyReturned(int64_t requestId,const uint8_t * sessionKey,uint32_t sessionKeyLen)359 static void OnSessionKeyReturned(int64_t requestId, const uint8_t *sessionKey, uint32_t sessionKeyLen)
360 {
361 (void)requestId;
362 (void)sessionKey;
363 (void)sessionKeyLen;
364 return;
365 }
366
OnFinish(int64_t requestId,int operationCode,const char * authReturn)367 static void OnFinish(int64_t requestId, int operationCode, const char *authReturn)
368 {
369 g_asyncStatus = ASYNC_STATUS_FINISH;
370 }
371
OnError(int64_t requestId,int operationCode,int errorCode,const char * errorReturn)372 static void OnError(int64_t requestId, int operationCode, int errorCode, const char *errorReturn)
373 {
374 g_asyncStatus = ASYNC_STATUS_ERROR;
375 }
376
OnAuthRequest(int64_t requestId,int operationCode,const char * reqParam)377 static char *OnAuthRequest(int64_t requestId, int operationCode, const char* reqParam)
378 {
379 CJson *json = CreateJson();
380 AddIntToJson(json, FIELD_CONFIRMATION, REQUEST_ACCEPTED);
381 AddIntToJson(json, FIELD_OS_ACCOUNT_ID, DEFAULT_OS_ACCOUNT);
382 if (g_isBind) {
383 AddStringToJson(json, FIELD_PIN_CODE, PIN_CODE);
384 } else {
385 AddStringToJson(json, FIELD_CRED_ID, g_serverCredId);
386 }
387 AddStringToJson(json, FIELD_SERVICE_PKG_NAME, TEST_APP_ID);
388 char *returnDataStr = PackJsonToString(json);
389 FreeJson(json);
390 return returnDataStr;
391 }
392
393 static DeviceAuthCallback g_caCallback = {
394 .onTransmit = OnTransmit,
395 .onSessionKeyReturned = OnSessionKeyReturned,
396 .onFinish = OnFinish,
397 .onError = OnError,
398 .onRequest = OnAuthRequest
399 };
400
GenerateBindParams()401 static const char *GenerateBindParams()
402 {
403 CJson *json = CreateJson();
404 AddStringToJson(json, FIELD_PIN_CODE, PIN_CODE);
405 AddIntToJson(json, FIELD_OS_ACCOUNT_ID, DEFAULT_OS_ACCOUNT);
406 AddStringToJson(json, FIELD_SERVICE_PKG_NAME, TEST_APP_ID);
407 char *returnDataStr = PackJsonToString(json);
408 FreeJson(json);
409 return returnDataStr;
410 }
411
GenerateAuthParams()412 static const char *GenerateAuthParams()
413 {
414 CJson *json = CreateJson();
415 AddStringToJson(json, FIELD_CRED_ID, g_clientCredId);
416 AddStringToJson(json, FIELD_SERVICE_PKG_NAME, TEST_APP_ID);
417 char *returnDataStr = PackJsonToString(json);
418 FreeJson(json);
419 return returnDataStr;
420 }
421
IdentityServiceTestCase001(void)422 static int32_t IdentityServiceTestCase001(void)
423 {
424 DeleteDatabase();
425 int32_t ret = InitDeviceAuthService();
426 if (ret != HC_SUCCESS) {
427 return ret;
428 }
429 do {
430 char *returnData = nullptr;
431 const CredManager *cm = GetCredMgrInstance();
432 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
433 HcFree(returnData);
434 } while (0);
435 DestroyDeviceAuthService();
436 return ret;
437 }
438
IdentityServiceTestCase002(void)439 static int32_t IdentityServiceTestCase002(void)
440 {
441 DeleteDatabase();
442 int32_t ret = InitDeviceAuthService();
443 if (ret != HC_SUCCESS) {
444 return ret;
445 }
446 do {
447 char *returnData = nullptr;
448 const CredManager *cm = GetCredMgrInstance();
449 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, nullptr, &returnData);
450 HcFree(returnData);
451 } while (0);
452 DestroyDeviceAuthService();
453 return ret;
454 }
455
IdentityServiceTestCase003(void)456 static int32_t IdentityServiceTestCase003(void)
457 {
458 DeleteDatabase();
459 int32_t ret = InitDeviceAuthService();
460 if (ret != HC_SUCCESS) {
461 return ret;
462 }
463 do {
464 const CredManager *cm = GetCredMgrInstance();
465 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, nullptr);
466 } while (0);
467 DestroyDeviceAuthService();
468 return ret;
469 }
470
IdentityServiceTestCase004(void)471 static int32_t IdentityServiceTestCase004(void)
472 {
473 DeleteDatabase();
474 int32_t ret = InitDeviceAuthService();
475 if (ret != HC_SUCCESS) {
476 return ret;
477 }
478 do {
479 const CredManager *cm = GetCredMgrInstance();
480 char *returnData = nullptr;
481 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS1, &returnData);
482 HcFree(returnData);
483 } while (0);
484 DestroyDeviceAuthService();
485 return ret;
486 }
487
IdentityServiceTestCase005(void)488 static int32_t IdentityServiceTestCase005(void)
489 {
490 DeleteDatabase();
491 int32_t ret = InitDeviceAuthService();
492 if (ret != HC_SUCCESS) {
493 return ret;
494 }
495 do {
496 const CredManager *cm = GetCredMgrInstance();
497 char *returnData = nullptr;
498 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS2, &returnData);
499 HcFree(returnData);
500 } while (0);
501 DestroyDeviceAuthService();
502 return ret;
503 }
504
IdentityServiceTestCase006(void)505 static int32_t IdentityServiceTestCase006(void)
506 {
507 DeleteDatabase();
508 int32_t ret = InitDeviceAuthService();
509 if (ret != HC_SUCCESS) {
510 return ret;
511 }
512 do {
513 const CredManager *cm = GetCredMgrInstance();
514 char *returnData = nullptr;
515 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS3, &returnData);
516 HcFree(returnData);
517 } while (0);
518 DestroyDeviceAuthService();
519 return ret;
520 }
521
IdentityServiceTestCase007(void)522 static int32_t IdentityServiceTestCase007(void)
523 {
524 DeleteDatabase();
525 int32_t ret = InitDeviceAuthService();
526 if (ret != HC_SUCCESS) {
527 return ret;
528 }
529 do {
530 const CredManager *cm = GetCredMgrInstance();
531 char *returnData = nullptr;
532 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS4, &returnData);
533 HcFree(returnData);
534 } while (0);
535 DestroyDeviceAuthService();
536 return ret;
537 }
538
IdentityServiceTestCase008(void)539 static int32_t IdentityServiceTestCase008(void)
540 {
541 DeleteDatabase();
542 int32_t ret = InitDeviceAuthService();
543 if (ret != HC_SUCCESS) {
544 return ret;
545 }
546 do {
547 const CredManager *cm = GetCredMgrInstance();
548 char *returnData = nullptr;
549 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS5, &returnData);
550 HcFree(returnData);
551 } while (0);
552 DestroyDeviceAuthService();
553 return ret;
554 }
555
IdentityServiceTestCase009(void)556 static int32_t IdentityServiceTestCase009(void)
557 {
558 DeleteDatabase();
559 int32_t ret = InitDeviceAuthService();
560 if (ret != HC_SUCCESS) {
561 return ret;
562 }
563 do {
564 const CredManager *cm = GetCredMgrInstance();
565 char *returnData = nullptr;
566 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS6, &returnData);
567 HcFree(returnData);
568 } while (0);
569 DestroyDeviceAuthService();
570 return ret;
571 }
572
IdentityServiceTestCase010(void)573 static int32_t IdentityServiceTestCase010(void)
574 {
575 DeleteDatabase();
576 int32_t ret = InitDeviceAuthService();
577 if (ret != HC_SUCCESS) {
578 return ret;
579 }
580 do {
581 const CredManager *cm = GetCredMgrInstance();
582 char *returnData = nullptr;
583 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS7, &returnData);
584 HcFree(returnData);
585 } while (0);
586 DestroyDeviceAuthService();
587 return ret;
588 }
589
IdentityServiceTestCase011(void)590 static int32_t IdentityServiceTestCase011(void)
591 {
592 DeleteDatabase();
593 int32_t ret = InitDeviceAuthService();
594 if (ret != HC_SUCCESS) {
595 return ret;
596 }
597 do {
598 const CredManager *cm = GetCredMgrInstance();
599 char *returnData = nullptr;
600 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS8, &returnData);
601 HcFree(returnData);
602 } while (0);
603 DestroyDeviceAuthService();
604 return ret;
605 }
606
IdentityServiceTestCase012(void)607 static int32_t IdentityServiceTestCase012(void)
608 {
609 DeleteDatabase();
610 int32_t ret = InitDeviceAuthService();
611 if (ret != HC_SUCCESS) {
612 return ret;
613 }
614 do {
615 const CredManager *cm = GetCredMgrInstance();
616 char *returnData = nullptr;
617 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS9, &returnData);
618 HcFree(returnData);
619 } while (0);
620 DestroyDeviceAuthService();
621 return ret;
622 }
623
IdentityServiceTestCase013(void)624 static int32_t IdentityServiceTestCase013(void)
625 {
626 DeleteDatabase();
627 int32_t ret = InitDeviceAuthService();
628 if (ret != HC_SUCCESS) {
629 return ret;
630 }
631 do {
632 const CredManager *cm = GetCredMgrInstance();
633 char *returnData = nullptr;
634 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS10, &returnData);
635 HcFree(returnData);
636 } while (0);
637 DestroyDeviceAuthService();
638 return ret;
639 }
640
IdentityServiceTestCase014(void)641 static int32_t IdentityServiceTestCase014(void)
642 {
643 DeleteDatabase();
644 int32_t ret = InitDeviceAuthService();
645 if (ret != HC_SUCCESS) {
646 return ret;
647 }
648 do {
649 const CredManager *cm = GetCredMgrInstance();
650 char *returnData = nullptr;
651 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS11, &returnData);
652 HcFree(returnData);
653 } while (0);
654 DestroyDeviceAuthService();
655 return ret;
656 }
657
IdentityServiceTestCase015(void)658 static int32_t IdentityServiceTestCase015(void)
659 {
660 DeleteDatabase();
661 int32_t ret = InitDeviceAuthService();
662 if (ret != HC_SUCCESS) {
663 return ret;
664 }
665 do {
666 const CredManager *cm = GetCredMgrInstance();
667 char *returnData = nullptr;
668 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS12, &returnData);
669 HcFree(returnData);
670 } while (0);
671 DestroyDeviceAuthService();
672 return ret;
673 }
674
IdentityServiceTestCase016(void)675 static int32_t IdentityServiceTestCase016(void)
676 {
677 DeleteDatabase();
678 int32_t ret = InitDeviceAuthService();
679 if (ret != HC_SUCCESS) {
680 return ret;
681 }
682 do {
683 const CredManager *cm = GetCredMgrInstance();
684 char *returnData = nullptr;
685 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS13, &returnData);
686 HcFree(returnData);
687 } while (0);
688 DestroyDeviceAuthService();
689 return ret;
690 }
691
IdentityServiceTestCase048(void)692 static int32_t IdentityServiceTestCase048(void)
693 {
694 DeleteDatabase();
695 int32_t ret = InitDeviceAuthService();
696 if (ret != HC_SUCCESS) {
697 return ret;
698 }
699 do {
700 const CredManager *cm = GetCredMgrInstance();
701 char *returnData = nullptr;
702 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS15, &returnData);
703 HcFree(returnData);
704 } while (0);
705 DestroyDeviceAuthService();
706 return ret;
707 }
708
IdentityServiceTestCase017(void)709 static int32_t IdentityServiceTestCase017(void)
710 {
711 DeleteDatabase();
712 int32_t ret = InitDeviceAuthService();
713 if (ret != HC_SUCCESS) {
714 return ret;
715 }
716 do {
717 const CredManager *cm = GetCredMgrInstance();
718 char *credId = nullptr;
719 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
720 char *returnData = nullptr;
721 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, credId, &returnData);
722 HcFree(credId);
723 HcFree(returnData);
724 } while (0);
725 DestroyDeviceAuthService();
726 return ret;
727 }
728
IdentityServiceTestCase018(void)729 static int32_t IdentityServiceTestCase018(void)
730 {
731 DeleteDatabase();
732 int32_t ret = InitDeviceAuthService();
733 if (ret != HC_SUCCESS) {
734 return ret;
735 }
736 do {
737 const CredManager *cm = GetCredMgrInstance();
738 char *credId = nullptr;
739 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS2, &credId);
740 char *returnData = nullptr;
741 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, credId, &returnData);
742 HcFree(credId);
743 HcFree(returnData);
744 } while (0);
745 DestroyDeviceAuthService();
746 return ret;
747 }
748
IdentityServiceTestCase019(void)749 static int32_t IdentityServiceTestCase019(void)
750 {
751 DeleteDatabase();
752 int32_t ret = InitDeviceAuthService();
753 if (ret != HC_SUCCESS) {
754 return ret;
755 }
756 do {
757 const CredManager *cm = GetCredMgrInstance();
758 char *credId = nullptr;
759 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
760 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, credId, nullptr);
761 HcFree(credId);
762 } while (0);
763 DestroyDeviceAuthService();
764 return ret;
765 }
766
IdentityServiceTestCase020(void)767 static int32_t IdentityServiceTestCase020(void)
768 {
769 DeleteDatabase();
770 int32_t ret = InitDeviceAuthService();
771 if (ret != HC_SUCCESS) {
772 return ret;
773 }
774 do {
775 const CredManager *cm = GetCredMgrInstance();
776 char *credId = nullptr;
777 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
778 HcFree(credId);
779 char *returnData = nullptr;
780 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, nullptr, &returnData);
781 } while (0);
782 DestroyDeviceAuthService();
783 return ret;
784 }
785
IdentityServiceTestCase021(void)786 static int32_t IdentityServiceTestCase021(void)
787 {
788 DeleteDatabase();
789 int32_t ret = InitDeviceAuthService();
790 if (ret != HC_SUCCESS) {
791 return ret;
792 }
793 do {
794 const CredManager *cm = GetCredMgrInstance();
795 char *returnData = nullptr;
796 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
797 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS14, &returnData);
798 HcFree(returnData);
799 char *credIdList = nullptr;
800 ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, QUERY_PARAMS, &credIdList);
801 CJson *jsonArr = CreateJsonFromString(credIdList);
802 HcFree(credIdList);
803 FreeJson(jsonArr);
804 } while (0);
805 DestroyDeviceAuthService();
806 return ret;
807 }
808
IdentityServiceTestCase022(void)809 static int32_t IdentityServiceTestCase022(void)
810 {
811 DeleteDatabase();
812 int32_t ret = InitDeviceAuthService();
813 if (ret != HC_SUCCESS) {
814 return ret;
815 }
816 do {
817 const CredManager *cm = GetCredMgrInstance();
818 char *credIdList = nullptr;
819 ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, nullptr, &credIdList);
820 } while (0);
821 DestroyDeviceAuthService();
822 return ret;
823 }
824
IdentityServiceTestCase023(void)825 static int32_t IdentityServiceTestCase023(void)
826 {
827 DeleteDatabase();
828 int32_t ret = InitDeviceAuthService();
829 if (ret != HC_SUCCESS) {
830 return ret;
831 }
832 do {
833 const CredManager *cm = GetCredMgrInstance();
834 ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, QUERY_PARAMS, nullptr);
835 } while (0);
836 DestroyDeviceAuthService();
837 return ret;
838 }
839
IdentityServiceTestCase024(void)840 static int32_t IdentityServiceTestCase024(void)
841 {
842 DeleteDatabase();
843 int32_t ret = InitDeviceAuthService();
844 if (ret != HC_SUCCESS) {
845 return ret;
846 }
847 do {
848 const CredManager *cm = GetCredMgrInstance();
849 char *returnData = nullptr;
850 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
851 HcFree(returnData);
852 char *credIdList = nullptr;
853 ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, QUERY_PARAMS1, &credIdList);
854 CJson *jsonArr = CreateJsonFromString(credIdList);
855 HcFree(credIdList);
856 FreeJson(jsonArr);
857 } while (0);
858 DestroyDeviceAuthService();
859 return ret;
860 }
861
IdentityServiceTestCase025(void)862 static int32_t IdentityServiceTestCase025(void)
863 {
864 DeleteDatabase();
865 int32_t ret = InitDeviceAuthService();
866 if (ret != HC_SUCCESS) {
867 return ret;
868 }
869 do {
870 const CredManager *cm = GetCredMgrInstance();
871 char *credId = nullptr;
872 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
873 char *returnCredInfo = nullptr;
874 ret = cm->queryCredInfoByCredId(DEFAULT_OS_ACCOUNT, credId, &returnCredInfo);
875 HcFree(credId);
876 CJson *credInfoJson = CreateJsonFromString(returnCredInfo);
877 HcFree(returnCredInfo);
878 FreeJson(credInfoJson);
879 } while (0);
880 DestroyDeviceAuthService();
881 return ret;
882 }
883
IdentityServiceTestCase026(void)884 static int32_t IdentityServiceTestCase026(void)
885 {
886 DeleteDatabase();
887 int32_t ret = InitDeviceAuthService();
888 if (ret != HC_SUCCESS) {
889 return ret;
890 }
891 do {
892 const CredManager *cm = GetCredMgrInstance();
893 char *returnCredInfo = nullptr;
894 ret = cm->queryCredInfoByCredId(DEFAULT_OS_ACCOUNT, nullptr, &returnCredInfo);
895 } while (0);
896 DestroyDeviceAuthService();
897 return ret;
898 }
899
IdentityServiceTestCase027(void)900 static int32_t IdentityServiceTestCase027(void)
901 {
902 DeleteDatabase();
903 int32_t ret = InitDeviceAuthService();
904 if (ret != HC_SUCCESS) {
905 return ret;
906 }
907 do {
908 const CredManager *cm = GetCredMgrInstance();
909 char *returnCredInfo = nullptr;
910 ret = cm->queryCredInfoByCredId(DEFAULT_OS_ACCOUNT, nullptr, &returnCredInfo);
911 } while (0);
912 DestroyDeviceAuthService();
913 return ret;
914 }
915
IdentityServiceTestCase028(void)916 static int32_t IdentityServiceTestCase028(void)
917 {
918 DeleteDatabase();
919 int32_t ret = InitDeviceAuthService();
920 if (ret != HC_SUCCESS) {
921 return ret;
922 }
923 do {
924 const CredManager *cm = GetCredMgrInstance();
925 char *credId = nullptr;
926 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS14, &credId);
927 ret = cm->queryCredInfoByCredId(DEFAULT_OS_ACCOUNT, credId, nullptr);
928 HcFree(credId);
929 } while (0);
930 DestroyDeviceAuthService();
931 return ret;
932 }
933
IdentityServiceTestCase029(void)934 static int32_t IdentityServiceTestCase029(void)
935 {
936 DeleteDatabase();
937 int32_t ret = InitDeviceAuthService();
938 if (ret != HC_SUCCESS) {
939 return ret;
940 }
941 do {
942 const CredManager *cm = GetCredMgrInstance();
943 char *credId = nullptr;
944 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
945 ret = cm->deleteCredential(DEFAULT_OS_ACCOUNT, credId);
946 HcFree(credId);
947 } while (0);
948 DestroyDeviceAuthService();
949 return ret;
950 }
951
IdentityServiceTestCase031(void)952 static int32_t IdentityServiceTestCase031(void)
953 {
954 DeleteDatabase();
955 int32_t ret = InitDeviceAuthService();
956 if (ret != HC_SUCCESS) {
957 return ret;
958 }
959 do {
960 const CredManager *cm = GetCredMgrInstance();
961 ret = cm->deleteCredential(DEFAULT_OS_ACCOUNT, nullptr);
962 } while (0);
963 DestroyDeviceAuthService();
964 return ret;
965 }
966
IdentityServiceTestCase033(void)967 static int32_t IdentityServiceTestCase033(void)
968 {
969 DeleteDatabase();
970 int32_t ret = InitDeviceAuthService();
971 if (ret != HC_SUCCESS) {
972 return ret;
973 }
974 do {
975 const CredManager *cm = GetCredMgrInstance();
976 char *credId = nullptr;
977 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
978 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, credId, REQUEST_PARAMS);
979 HcFree(credId);
980 } while (0);
981 DestroyDeviceAuthService();
982 return ret;
983 }
984
IdentityServiceTestCase034(void)985 static int32_t IdentityServiceTestCase034(void)
986 {
987 DeleteDatabase();
988 int32_t ret = InitDeviceAuthService();
989 if (ret != HC_SUCCESS) {
990 return ret;
991 }
992 do {
993 const CredManager *cm = GetCredMgrInstance();
994 char *credId = nullptr;
995 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
996 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, credId, "");
997 HcFree(credId);
998 } while (0);
999 DestroyDeviceAuthService();
1000 return ret;
1001 }
1002
IdentityServiceTestCase036(void)1003 static int32_t IdentityServiceTestCase036(void)
1004 {
1005 DeleteDatabase();
1006 int32_t ret = InitDeviceAuthService();
1007 if (ret != HC_SUCCESS) {
1008 return ret;
1009 }
1010 do {
1011 const CredManager *cm = GetCredMgrInstance();
1012 char *credId = nullptr;
1013 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
1014 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, nullptr, REQUEST_PARAMS);
1015 HcFree(credId);
1016 } while (0);
1017 DestroyDeviceAuthService();
1018 return ret;
1019 }
1020
IdentityServiceTestCase038(void)1021 static int32_t IdentityServiceTestCase038(void)
1022 {
1023 DeleteDatabase();
1024 int32_t ret = InitDeviceAuthService();
1025 if (ret != HC_SUCCESS) {
1026 return ret;
1027 }
1028 do {
1029 const CredManager *cm = GetCredMgrInstance();
1030 CredChangeListener listener;
1031 ret = cm->registerChangeListener(TEST_APP_ID, &listener);
1032 } while (0);
1033 DestroyDeviceAuthService();
1034 return ret;
1035 }
1036
IdentityServiceTestCase039(void)1037 static int32_t IdentityServiceTestCase039(void)
1038 {
1039 DeleteDatabase();
1040 int32_t ret = InitDeviceAuthService();
1041 if (ret != HC_SUCCESS) {
1042 return ret;
1043 }
1044 do {
1045 const CredManager *cm = GetCredMgrInstance();
1046 CredChangeListener listener;
1047 ret = cm->registerChangeListener(TEST_APP_ID, &listener);
1048 ret = cm->registerChangeListener(TEST_APP_ID, &listener);
1049 } while (0);
1050 DestroyDeviceAuthService();
1051 return ret;
1052 }
1053
IdentityServiceTestCase040(void)1054 static int32_t IdentityServiceTestCase040(void)
1055 {
1056 DeleteDatabase();
1057 int32_t ret = InitDeviceAuthService();
1058 if (ret != HC_SUCCESS) {
1059 return ret;
1060 }
1061 do {
1062 const CredManager *cm = GetCredMgrInstance();
1063 CredChangeListener listener;
1064 ret = cm->registerChangeListener(nullptr, &listener);
1065 } while (0);
1066 DestroyDeviceAuthService();
1067 return ret;
1068 }
1069
IdentityServiceTestCase041(void)1070 static int32_t IdentityServiceTestCase041(void)
1071 {
1072 DeleteDatabase();
1073 int32_t ret = InitDeviceAuthService();
1074 if (ret != HC_SUCCESS) {
1075 return ret;
1076 }
1077 do {
1078 const CredManager *cm = GetCredMgrInstance();
1079 ret = cm->registerChangeListener(TEST_APP_ID, nullptr);
1080 } while (0);
1081 DestroyDeviceAuthService();
1082 return ret;
1083 }
1084
IdentityServiceTestCase042(void)1085 static int32_t IdentityServiceTestCase042(void)
1086 {
1087 DeleteDatabase();
1088 int32_t ret = InitDeviceAuthService();
1089 if (ret != HC_SUCCESS) {
1090 return ret;
1091 }
1092 do {
1093 g_credListenerStatus = CRED_LISTENER_INIT;
1094 const CredManager *cm = GetCredMgrInstance();
1095 ret = cm->registerChangeListener(TEST_APP_ID, &g_credChangeListener);
1096 char *credId = nullptr;
1097 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
1098 HcFree(credId);
1099 } while (0);
1100 DestroyDeviceAuthService();
1101 return ret;
1102 }
1103
IdentityServiceTestCase043(void)1104 static int32_t IdentityServiceTestCase043(void)
1105 {
1106 DeleteDatabase();
1107 int32_t ret = InitDeviceAuthService();
1108 if (ret != HC_SUCCESS) {
1109 return ret;
1110 }
1111 do {
1112 g_credListenerStatus = CRED_LISTENER_INIT;
1113 const CredManager *cm = GetCredMgrInstance();
1114 ret = cm->registerChangeListener(TEST_APP_ID, &g_credChangeListener);
1115 char *credId = nullptr;
1116 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
1117 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, credId, REQUEST_PARAMS);
1118 HcFree(credId);
1119 } while (0);
1120 DestroyDeviceAuthService();
1121 return ret;
1122 }
1123
IdentityServiceTestCase044(void)1124 static int32_t IdentityServiceTestCase044(void)
1125 {
1126 DeleteDatabase();
1127 int32_t ret = InitDeviceAuthService();
1128 if (ret != HC_SUCCESS) {
1129 return ret;
1130 }
1131 do {
1132 g_credListenerStatus = CRED_LISTENER_INIT;
1133 const CredManager *cm = GetCredMgrInstance();
1134 ret = cm->registerChangeListener(TEST_APP_ID, &g_credChangeListener);
1135 char *credId = nullptr;
1136 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
1137 ret = cm->deleteCredential(DEFAULT_OS_ACCOUNT, credId);
1138 HcFree(credId);
1139 } while (0);
1140 DestroyDeviceAuthService();
1141 return ret;
1142 }
1143
IdentityServiceTestCase045(void)1144 static int32_t IdentityServiceTestCase045(void)
1145 {
1146 DeleteDatabase();
1147 int32_t ret = InitDeviceAuthService();
1148 if (ret != HC_SUCCESS) {
1149 return ret;
1150 }
1151 do {
1152 const CredManager *cm = GetCredMgrInstance();
1153 CredChangeListener listener;
1154 ret = cm->registerChangeListener(TEST_APP_ID, &listener);
1155 ret = cm->unregisterChangeListener(TEST_APP_ID);
1156 } while (0);
1157 DestroyDeviceAuthService();
1158 return ret;
1159 }
1160
IdentityServiceTestCase046(void)1161 static int32_t IdentityServiceTestCase046(void)
1162 {
1163 DeleteDatabase();
1164 int32_t ret = InitDeviceAuthService();
1165 if (ret != HC_SUCCESS) {
1166 return ret;
1167 }
1168 do {
1169 const CredManager *cm = GetCredMgrInstance();
1170 ret = cm->unregisterChangeListener(TEST_APP_ID);
1171 } while (0);
1172 DestroyDeviceAuthService();
1173 return ret;
1174 }
1175
IdentityServiceTestCase047(void)1176 static int32_t IdentityServiceTestCase047(void)
1177 {
1178 DeleteDatabase();
1179 int32_t ret = InitDeviceAuthService();
1180 if (ret != HC_SUCCESS) {
1181 return ret;
1182 }
1183 do {
1184 const CredManager *cm = GetCredMgrInstance();
1185 ret = cm->unregisterChangeListener(nullptr);
1186 } while (0);
1187 DestroyDeviceAuthService();
1188 return ret;
1189 }
1190
AddCredFuzzPart(void)1191 static void AddCredFuzzPart(void)
1192 {
1193 (void)IdentityServiceTestCase001();
1194 (void)IdentityServiceTestCase002();
1195 (void)IdentityServiceTestCase003();
1196 (void)IdentityServiceTestCase004();
1197 (void)IdentityServiceTestCase005();
1198 (void)IdentityServiceTestCase006();
1199 (void)IdentityServiceTestCase007();
1200 (void)IdentityServiceTestCase008();
1201 (void)IdentityServiceTestCase009();
1202 (void)IdentityServiceTestCase010();
1203 (void)IdentityServiceTestCase011();
1204 (void)IdentityServiceTestCase012();
1205 (void)IdentityServiceTestCase013();
1206 (void)IdentityServiceTestCase014();
1207 (void)IdentityServiceTestCase015();
1208 (void)IdentityServiceTestCase016();
1209 (void)IdentityServiceTestCase048();
1210 }
1211
ExportCredFuzzPart(void)1212 static void ExportCredFuzzPart(void)
1213 {
1214 (void)IdentityServiceTestCase017();
1215 (void)IdentityServiceTestCase018();
1216 (void)IdentityServiceTestCase019();
1217 (void)IdentityServiceTestCase020();
1218 }
1219
QueryCredFuzzPart(void)1220 static void QueryCredFuzzPart(void)
1221 {
1222 (void)IdentityServiceTestCase021();
1223 (void)IdentityServiceTestCase022();
1224 (void)IdentityServiceTestCase023();
1225 (void)IdentityServiceTestCase024();
1226 (void)IdentityServiceTestCase025();
1227 (void)IdentityServiceTestCase026();
1228 (void)IdentityServiceTestCase027();
1229 (void)IdentityServiceTestCase028();
1230 }
1231
DelCredFuzzPart(void)1232 static void DelCredFuzzPart(void)
1233 {
1234 (void)IdentityServiceTestCase029();
1235 (void)IdentityServiceTestCase031();
1236 }
1237
UpdateCredFuzzPart(void)1238 static void UpdateCredFuzzPart(void)
1239 {
1240 (void)IdentityServiceTestCase033();
1241 (void)IdentityServiceTestCase034();
1242 (void)IdentityServiceTestCase036();
1243 }
1244
CredListenerFuzzPart(void)1245 static void CredListenerFuzzPart(void)
1246 {
1247 (void)IdentityServiceTestCase038();
1248 (void)IdentityServiceTestCase039();
1249 (void)IdentityServiceTestCase040();
1250 (void)IdentityServiceTestCase041();
1251 (void)IdentityServiceTestCase042();
1252 (void)IdentityServiceTestCase043();
1253 (void)IdentityServiceTestCase044();
1254 (void)IdentityServiceTestCase045();
1255 (void)IdentityServiceTestCase046();
1256 (void)IdentityServiceTestCase047();
1257 }
1258
IdentityServiceTestCase049()1259 static void IdentityServiceTestCase049()
1260 {
1261 CredentialVec vec = CreateCredentialVec();
1262 Credential *credential = CreateCredential();
1263 if (vec.pushBackT(&vec, credential) == nullptr) {
1264 LOGE("[CRED#DB]: Failed to push entry to vec!");
1265 DestroyCredential(credential);
1266 }
1267 (void)DelCredsWithHash(DEFAULT_OS_ACCOUNT, nullptr, &vec, nullptr);
1268 (void)StringSetPointer(&credential->credId, TEST_CRED_ID);
1269 (void)DelCredsWithHash(DEFAULT_OS_ACCOUNT, nullptr, &vec, nullptr);
1270 ClearCredentialVec(&vec);
1271 }
1272
IdentityServiceTestCase050()1273 static void IdentityServiceTestCase050()
1274 {
1275 char *returnData = nullptr;
1276 (void)DeleteCredByParamsImpl(DEFAULT_OS_ACCOUNT, ADD_PARAMS14, &returnData);
1277 FreeJsonString(returnData);
1278 }
1279
IdentityServiceTestCase051()1280 static void IdentityServiceTestCase051()
1281 {
1282 QueryCredentialParams params = InitQueryCredentialParams();
1283 params.userId = TEST_USER_ID;
1284 params.deviceId = TEST_DEVICE_ID;
1285 (void)AddUpdateCred(DEFAULT_OS_ACCOUNT, nullptr, ¶ms);
1286 CJson *json = CreateJson();
1287 (void)AddUpdateCred(DEFAULT_OS_ACCOUNT, json, ¶ms);
1288 FreeJson(json);
1289 }
1290
IdentityServiceTestCase052()1291 static void IdentityServiceTestCase052()
1292 {
1293 CredentialVec vec = CreateCredentialVec();
1294 Credential *credential = CreateCredential();
1295 if (vec.pushBackT(&vec, credential) == nullptr) {
1296 LOGE("[CRED#DB]: Failed to push entry to vec!");
1297 DestroyCredential(credential);
1298 }
1299 (void)DelCredInVec(DEFAULT_OS_ACCOUNT, &vec);
1300 (void)StringSetPointer(&credential->credId, TEST_CRED_ID);
1301 (void)DelCredInVec(DEFAULT_OS_ACCOUNT, &vec);
1302 ClearCredentialVec(&vec);
1303 }
1304
IdentityServiceTestCase053()1305 static void IdentityServiceTestCase053()
1306 {
1307 (void)ProcessAbnormalCreds(DEFAULT_OS_ACCOUNT, nullptr, nullptr);
1308 QueryCredentialParams params = InitQueryCredentialParams();
1309 params.userId = TEST_USER_ID;
1310 params.deviceId = TEST_DEVICE_ID;
1311 CJson *json = CreateJson();
1312 (void)ProcessAbnormalCreds(DEFAULT_OS_ACCOUNT, json, ¶ms);
1313 FreeJson(json);
1314 }
1315
IdentityServiceTestCase054()1316 static void IdentityServiceTestCase054()
1317 {
1318 CredentialVec vec = CreateCredentialVec();
1319 QueryCredentialParams params = InitQueryCredentialParams();
1320 params.userId = TEST_USER_ID;
1321 params.deviceId = TEST_DEVICE_ID;
1322 (void)HandleUpdateCredsBySize(DEFAULT_OS_ACCOUNT, nullptr, ¶ms, &vec, &vec);
1323 Credential *credential = CreateCredential();
1324 if (vec.pushBackT(&vec, credential) == nullptr) {
1325 LOGE("[CRED#DB]: Failed to push entry to vec!");
1326 DestroyCredential(credential);
1327 }
1328 (void)HandleUpdateCredsBySize(DEFAULT_OS_ACCOUNT, nullptr, ¶ms, &vec, &vec);
1329
1330 Credential *credential1 = CreateCredential();
1331 if (vec.pushBackT(&vec, credential1) == nullptr) {
1332 LOGE("[CRED#DB]: Failed to push entry to vec!");
1333 DestroyCredential(credential1);
1334 }
1335 (void)HandleUpdateCredsBySize(DEFAULT_OS_ACCOUNT, nullptr, ¶ms, &vec, &vec);
1336
1337 (void)EraseCredIdInVec(TEST_CRED_ID, &vec);
1338 ClearCredentialVec(&vec);
1339 }
1340
IdentityServiceTestCase055()1341 static void IdentityServiceTestCase055()
1342 {
1343 CredentialVec vec = CreateCredentialVec();
1344 QueryCredentialParams params = InitQueryCredentialParams();
1345 params.userId = TEST_USER_ID;
1346 params.deviceId = TEST_DEVICE_ID;
1347 Credential *credential = CreateCredential();
1348 if (vec.pushBackT(&vec, credential) == nullptr) {
1349 LOGE("[CRED#DB]: Failed to push entry to vec!");
1350 DestroyCredential(credential);
1351 }
1352 CJson *json = CreateJson();
1353 (void)ProcessUpdateInfo(DEFAULT_OS_ACCOUNT, json, json, ¶ms, &vec);
1354 FreeJson(json);
1355 ClearCredentialVec(&vec);
1356 }
1357
IdentityServiceTestCase056()1358 static void IdentityServiceTestCase056()
1359 {
1360 char *returnData = nullptr;
1361 (void)GetCurrentCredIds(DEFAULT_OS_ACCOUNT, nullptr, &returnData);
1362 CJson *json = CreateJson();
1363 AddStringToJson(json, FIELD_CRED_OWNER, TEST_CRED_OWNER);
1364 (void)GetCurrentCredIds(DEFAULT_OS_ACCOUNT, json, &returnData);
1365 FreeJson(json);
1366 }
1367
IdentityServiceTestCase057()1368 static void IdentityServiceTestCase057()
1369 {
1370 char *returnData = nullptr;
1371 CJson *json = CreateJson();
1372 AddIntToJson(json, FIELD_CRED_TYPE, TEST_CRED_TYPE);
1373 (void)BatchUpdateCredsImplInner(DEFAULT_OS_ACCOUNT, json, json, &returnData);
1374
1375 AddIntToJson(json, FIELD_CRED_TYPE, TEST_CRED_TYPE_1);
1376 (void)BatchUpdateCredsImplInner(DEFAULT_OS_ACCOUNT, json, json, &returnData);
1377 AddStringToJson(json, FIELD_CRED_OWNER, TEST_CRED_OWNER);
1378 (void)BatchUpdateCredsImplInner(DEFAULT_OS_ACCOUNT, json, json, &returnData);
1379 FreeJson(json);
1380 }
1381
IdentityServiceTestCase058()1382 static void IdentityServiceTestCase058()
1383 {
1384 char *returnData = nullptr;
1385 (void)BatchUpdateCredsImpl(DEFAULT_OS_ACCOUNT, ADD_PARAMS4, &returnData);
1386 }
1387
IdentityServiceTestCase059()1388 static void IdentityServiceTestCase059()
1389 {
1390 char *returnData = nullptr;
1391 (void)AgreeCredentialImpl(DEFAULT_OS_ACCOUNT, TEST_CRED_ID, ADD_PARAMS4, &returnData);
1392 }
1393
IdentityServiceTestCase060()1394 static void IdentityServiceTestCase060()
1395 {
1396 Credential *credential = CreateCredential();
1397
1398 char *returnData = nullptr;
1399 const CredManager *cm = GetCredMgrInstance();
1400 (void)cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
1401
1402 (void)StringSetPointer(&credential->credId, returnData);
1403 Uint8Buff agreeCredIdByte = { NULL, 0 };
1404 (void)GenerateCredId(DEFAULT_OS_ACCOUNT, credential, &agreeCredIdByte);
1405 cm->destroyInfo(&returnData);
1406 DestroyCredential(credential);
1407 }
1408
IdentityServiceTestCase061()1409 static void IdentityServiceTestCase061()
1410 {
1411 Credential *credential = CreateCredential();
1412 CJson *json = CreateJson();
1413 AddStringToJson(json, FIELD_DEVICE_ID_HASH, TEST_DEVICE_ID);
1414 AddStringToJson(json, FIELD_DEVICE_ID_HASH, TEST_USER_ID);
1415 (void)StringSetPointer(&credential->credId, TEST_DEVICE_ID);
1416 (void)IsCredHashMatch(credential, json);
1417
1418 DestroyCredential(credential);
1419 FreeJson(json);
1420 }
1421
IdentityServiceTestCase062()1422 static void IdentityServiceTestCase062()
1423 {
1424 uint8_t peerKeyAliasVal[SHA256_LEN] = { 0 };
1425 Uint8Buff peerKeyAlias = { peerKeyAliasVal, SHA256_LEN };
1426 (void)GenerateCredKeyAlias(TEST_CRED_ID, TEST_DEVICE_ID, &peerKeyAlias);
1427 }
1428
IdentityServiceTestCase063()1429 static void IdentityServiceTestCase063()
1430 {
1431 uint8_t selfKeyAliasVal[SHA256_LEN] = { 0 };
1432 Uint8Buff selfKeyAlias = { selfKeyAliasVal, SHA256_LEN };
1433 uint8_t peerKeyAliasVal[SHA256_LEN] = { 0 };
1434 Uint8Buff peerKeyAlias = { peerKeyAliasVal, SHA256_LEN };
1435 uint8_t sharedKeyAliasVal[SHA256_LEN] = { 0 };
1436 Uint8Buff sharedKeyAlias = { sharedKeyAliasVal, SHA256_LEN };
1437 (void)ComputeAndSavePskInner(DEFAULT_OS_ACCOUNT, ALGO_TYPE_P256, &selfKeyAlias, &peerKeyAlias,
1438 &sharedKeyAlias);
1439 }
1440
IdentityServiceTestCase064()1441 static void IdentityServiceTestCase064()
1442 {
1443 Credential *credential = CreateCredential();
1444 CJson *json = CreateJson();
1445 uint8_t selfKeyAliasVal[SHA256_LEN] = { 0 };
1446 Uint8Buff selfKeyAlias = { selfKeyAliasVal, SHA256_LEN };
1447 (void)SetAgreeCredInfo(DEFAULT_OS_ACCOUNT, json, credential, &selfKeyAlias, &selfKeyAlias);
1448 DestroyCredential(credential);
1449 FreeJson(json);
1450 }
1451
IdentityServiceTestCase065()1452 static void IdentityServiceTestCase065()
1453 {
1454 Uint8Buff selfCredIdByte = { NULL, 0 };
1455 (void)CheckAndDelInvalidCred(DEFAULT_OS_ACCOUNT, TEST_CRED_ID, &selfCredIdByte);
1456 }
1457
IdentityServiceTestCase066()1458 static void IdentityServiceTestCase066()
1459 {
1460 QueryCredentialParams params = InitQueryCredentialParams();
1461 params.userId = TEST_USER_ID;
1462 params.deviceId = TEST_DEVICE_ID;
1463 CJson *updateInfo = CreateJson();
1464 (void)GetUpdateCredVec(DEFAULT_OS_ACCOUNT, updateInfo, ¶ms, nullptr);
1465 AddStringToJson(updateInfo, FIELD_USER_ID, TEST_USER_ID);
1466 (void)GetUpdateCredVec(DEFAULT_OS_ACCOUNT, updateInfo, ¶ms, nullptr);
1467 AddStringToJson(updateInfo, FIELD_DEVICE_ID, TEST_DEVICE_ID);
1468 (void)GetUpdateCredVec(DEFAULT_OS_ACCOUNT, updateInfo, ¶ms, nullptr);
1469 FreeJson(updateInfo);
1470 }
1471
IdentityServiceTestCase067()1472 static void IdentityServiceTestCase067()
1473 {
1474 (void)DeleteCredByParams(DEFAULT_OS_ACCOUNT, nullptr, nullptr);
1475 char *returnData = nullptr;
1476 (void)DeleteCredByParams(DEFAULT_OS_ACCOUNT, REQUEST_PARAMS, &returnData);
1477 (void)IsJsonString(REQUEST_PARAMS);
1478 (void)IsJsonString(nullptr);
1479 }
1480
IdentityServiceTestCase068()1481 static void IdentityServiceTestCase068()
1482 {
1483 char *returnData = nullptr;
1484 (void)BatchUpdateCredentials(DEFAULT_OS_ACCOUNT, BATCH_UPDATE_PARAMS, &returnData);
1485 }
1486
IdentityServiceTestCase069()1487 static void IdentityServiceTestCase069()
1488 {
1489 char *returnData = nullptr;
1490 const CredManager *cm = GetCredMgrInstance();
1491 (void)cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
1492 LoadOsAccountCredDb(DEFAULT_OS_ACCOUNT);
1493 cm->destroyInfo(&returnData);
1494 }
1495
CompareParamsFuzzTestCase(void)1496 static void CompareParamsFuzzTestCase(void)
1497 {
1498 Credential *credential = CreateCredential();
1499 QueryCredentialParams params = InitQueryCredentialParams();
1500 bool ret = CompareIntParams(¶ms, credential);
1501 params.credType = ACCOUNT_RELATED;
1502 credential->credType = ACCOUNT_UNRELATED;
1503 ret = CompareIntParams(¶ms, credential);
1504 params.credType = DEFAULT_CRED_PARAM_VAL;
1505 ret = CompareSubject(credential, ¶ms);
1506 ret = CompareIssuer(credential, ¶ms);
1507 ret = CompareOwnerUid(credential, ¶ms);
1508 ret = CompareAuthorziedScope(credential, ¶ms);
1509 ret = CompareKeyFormat(credential, ¶ms);
1510 ret = CompareAlgorithmType(credential, ¶ms);
1511 ret = CompareProofType(credential, ¶ms);
1512 DestroyCredential(credential);
1513 }
1514
1515
AuthCredDemo(void)1516 static void AuthCredDemo(void)
1517 {
1518 g_asyncStatus = ASYNC_STATUS_WAITING;
1519 bool isClient = true;
1520 SetDeviceStatus(isClient);
1521 const CredAuthManager *ca = GetCredAuthInstance();
1522 int32_t ret = ca->authCredential(DEFAULT_OS_ACCOUNT, g_isBind ? TEST_REQ_ID : TEST_REQ_ID_AUTH,
1523 g_isBind ? GenerateBindParams() : GenerateAuthParams(), &g_caCallback);
1524 if (ret != HC_SUCCESS) {
1525 g_asyncStatus = ASYNC_STATUS_ERROR;
1526 return;
1527 }
1528 while (g_asyncStatus == ASYNC_STATUS_WAITING) {
1529 usleep(TEST_DEV_AUTH_SLEEP_TIME);
1530 }
1531 while (g_asyncStatus == ASYNC_STATUS_TRANSMIT) {
1532 isClient = !isClient;
1533 SetDeviceStatus(isClient);
1534 g_asyncStatus = ASYNC_STATUS_WAITING;
1535 if (isClient) {
1536 ret = ca->processCredData(g_isBind ? TEST_REQ_ID : TEST_REQ_ID_AUTH, g_transmitData, g_transmitDataLen,
1537 &g_caCallback);
1538 } else {
1539 ret = ca->processCredData(g_isBind ? TEST_REQ_ID_S : TEST_REQ_ID_AUTH_S, g_transmitData, g_transmitDataLen,
1540 &g_caCallback);
1541 }
1542 (void)memset_s(g_transmitData, g_transmitDataMaxLen, 0, g_transmitDataMaxLen);
1543 g_transmitDataLen = 0;
1544 if (ret != HC_SUCCESS) {
1545 g_asyncStatus = ASYNC_STATUS_ERROR;
1546 return;
1547 }
1548 while (g_asyncStatus == ASYNC_STATUS_WAITING) {
1549 usleep(TEST_DEV_AUTH_SLEEP_TIME);
1550 }
1551 if (g_asyncStatus == ASYNC_STATUS_ERROR) {
1552 break;
1553 }
1554 if (g_transmitDataLen > 0) {
1555 g_asyncStatus = ASYNC_STATUS_TRANSMIT;
1556 }
1557 }
1558 SetDeviceStatus(true);
1559 }
1560
IdentityServiceTestCase070()1561 static void IdentityServiceTestCase070()
1562 {
1563 RemoveOsAccountCredInfo(DEFAULT_OS_ACCOUNT);
1564 (void)IsOsAccountCredDataLoaded(DEFAULT_OS_ACCOUNT);
1565 char *returnData = nullptr;
1566 const CredManager *cm = GetCredMgrInstance();
1567 (void)cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
1568 RemoveOsAccountCredInfo(DEFAULT_OS_ACCOUNT);
1569 (void)IsOsAccountCredDataLoaded(DEFAULT_OS_ACCOUNT);
1570 cm->destroyInfo(&returnData);
1571 }
1572
IdentityServiceAuth001(void)1573 static void IdentityServiceAuth001(void)
1574 {
1575 g_isBind = true;
1576 AuthCredDemo();
1577 const CredManager *cm = GetCredMgrInstance();
1578 char *clientReturnData = nullptr;
1579 char *serverReturnData = nullptr;
1580 (void)cm->addCredential(DEFAULT_OS_ACCOUNT, CLIENT_AUTH_PARAMS, &clientReturnData);
1581 (void)cm->addCredential(DEFAULT_OS_ACCOUNT, SERVER_AUTH_PARAMS, &serverReturnData);
1582 (void)strcpy_s(g_clientCredId, HcStrlen(clientReturnData) + 1, clientReturnData);
1583 (void)strcpy_s(g_serverCredId, HcStrlen(serverReturnData) + 1, serverReturnData);
1584 g_isBind = false;
1585 AuthCredDemo();
1586 cm->destroyInfo(&clientReturnData);
1587 cm->destroyInfo(&serverReturnData);
1588 }
1589
IdentityServiceAuth002(void)1590 static void IdentityServiceAuth002(void)
1591 {
1592 const CredAuthManager *ca = GetCredAuthInstance();
1593 ca->authCredential(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, nullptr, nullptr);
1594 ca->authCredential(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, nullptr, &g_caCallback);
1595 ca->authCredential(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, GenerateBindParams(), nullptr);
1596 ca->processCredData(TEST_REQ_ID, nullptr, DATA_LEN, nullptr);
1597 ca->processCredData(TEST_REQ_ID, nullptr, DATA_LEN, &g_caCallback);
1598 ca->processCredData(TEST_REQ_ID, (const uint8_t*)GenerateBindParams(), DATA_LEN, nullptr);
1599 }
1600
IdentityServiceAuthPart(void)1601 static void IdentityServiceAuthPart(void)
1602 {
1603 DeleteDatabase();
1604 (void)InitDeviceAuthService();
1605 IdentityServiceAuth001();
1606 IdentityServiceAuth002();
1607 DestroyDeviceAuthService();
1608 }
1609
IdentiyServiceFuzzPart(void)1610 static void IdentiyServiceFuzzPart(void)
1611 {
1612 DeleteDatabase();
1613 int32_t ret = InitDeviceAuthService();
1614 if (ret != HC_SUCCESS) {
1615 return;
1616 }
1617 (void)IdentityServiceTestCase049();
1618 (void)IdentityServiceTestCase050();
1619 (void)IdentityServiceTestCase051();
1620 (void)IdentityServiceTestCase052();
1621 (void)IdentityServiceTestCase053();
1622 (void)IdentityServiceTestCase054();
1623 (void)IdentityServiceTestCase055();
1624 (void)IdentityServiceTestCase056();
1625 (void)IdentityServiceTestCase057();
1626 (void)IdentityServiceTestCase058();
1627 (void)IdentityServiceTestCase059();
1628 (void)IdentityServiceTestCase060();
1629 (void)IdentityServiceTestCase061();
1630 (void)IdentityServiceTestCase062();
1631 (void)IdentityServiceTestCase063();
1632 (void)IdentityServiceTestCase064();
1633 (void)IdentityServiceTestCase065();
1634 (void)IdentityServiceTestCase066();
1635 (void)IdentityServiceTestCase067();
1636 (void)IdentityServiceTestCase068();
1637 (void)IdentityServiceTestCase069();
1638 (void)IdentityServiceTestCase070();
1639 DestroyDeviceAuthService();
1640 }
1641
FuzzDoCallback(const uint8_t * data,size_t size)1642 bool FuzzDoCallback(const uint8_t* data, size_t size)
1643 {
1644 (void)data;
1645 (void)size;
1646 (void)AddCredFuzzPart();
1647 (void)ExportCredFuzzPart();
1648 (void)QueryCredFuzzPart();
1649 (void)DelCredFuzzPart();
1650 (void)UpdateCredFuzzPart();
1651 (void)CredListenerFuzzPart();
1652 IdentiyServiceFuzzPart();
1653 CompareParamsFuzzTestCase();
1654 IdentityServiceAuthPart();
1655 return true;
1656 }
1657 }
1658 /* Fuzzer entry point */
LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)1659 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
1660 {
1661 /* Run your code on data */
1662 OHOS::FuzzDoCallback(data, size);
1663 return 0;
1664 }
1665
1666