diff --git a/cert_mgr_service/BUILD.gn b/cert_mgr_service/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..3f1d7b89b0895034d13cff5382d98ae85516815b --- /dev/null +++ b/cert_mgr_service/BUILD.gn @@ -0,0 +1,13 @@ +import("//build/lite/config/component/lite_component.gni") + +lite_component("cert_mgr_service"){ + features = [] + if (ohos_kernel_type == "liteos_m"){ + features += [ + "services/core:cert_mgr_core", + "services/oem_adapter:cert_mgr_oem_adapter" + ] + } +} + + diff --git a/cert_mgr_service/build/BUILD.gn b/cert_mgr_service/build/BUILD.gn index 6c13230898d35e70e98f5dad52448cf9962e7931..1c90239d63ce232774f0a61812d0d72c9a7f05e7 100644 --- a/cert_mgr_service/build/BUILD.gn +++ b/cert_mgr_service/build/BUILD.gn @@ -16,6 +16,7 @@ import("//base/cert_mgr_service/build/certconfig.gni") group("cert_standard_packages") { if (is_standard_system) { + deps = [ "${certmanager_path}/services/etc/init:cert_mgr_etc", "${certmanager_path}/services/sa_profile:cert_mgr_sa_profile", @@ -28,5 +29,12 @@ group("cert_standard_packages") { deps += ["${certmanager_path}/sample/client:certtestclient"] } } + + if(is_liteos_m){ + deps = [ + "${certmanager_standard_path}/services/core:cert_mgr_core", + "${certmanager_standard_path}/services/oem_adapter:cert_mgr_oem_adapter", + ] + } } diff --git a/cert_mgr_service/build/certconfig.gni b/cert_mgr_service/build/certconfig.gni index 28075df7606c114ba35d540b9d226878e091573a..bab7a6deeef0e7a064d40abebf7dc7ffb75261e6 100644 --- a/cert_mgr_service/build/certconfig.gni +++ b/cert_mgr_service/build/certconfig.gni @@ -2,14 +2,32 @@ certmanager_path = "//base/cert_mgr_service" certmanager_standard_path = "//base/cert_mgr_service" -certmanager_innerkit_path = "${certmanager_path}/interfaces/innerkits/" +#certmanager_innerkit_path = "${certmanager_path}/interfaces/innerkits/" -certmanager_kits_path = "${certmanager_path}/interfaces/kits/napi" +#certmanager_kits_path = "${certmanager_path}/interfaces/kits/napi" # 支持构建种类 declare_args() { l2_shared_release = "l2_shared_release" l2_shared_debug = "l2_shared_debug" + is_liteos_m = false + is_liteos_a = false +} + + +if (ohos_kernel_type == "liteos_m") { + is_liteos_m = true + lite_library_type = "static_library" + system_type = "mini" +} else if (ohos_kernel_type == "is_liteos_a"){ + is_liteos_a = true + lite_library_type = "shared_library" + system_type = "small" +} + +if(is_standard_system){ + lite_library_type = "shared_library" + system_type = "standard" } # 配置构建参数 @@ -18,10 +36,10 @@ declare_args() { cert_build_target = l2_shared_release # 模拟网络认证数据开关。true:模拟网络数据; false:访问真实网络数据。 - enable_cert_test_mock_network = false + enable_cert_test_mock_network = true # 模拟设备数据开关。true:模拟设备数据; false:访问真实设备数据。 - enable_cert_test_mock_device = false + enable_cert_test_mock_device = true # 记录内存使用情况的开关,用来检查内存是否存在泄漏。 enable_cert_debug_memory_leak = false @@ -31,6 +49,7 @@ declare_args() { # 控制测试demo开关 enable_cert_test_sample = false + } # 声明通用全局宏 diff --git a/cert_mgr_service/build/ohos.build b/cert_mgr_service/build/ohos.build index d0c05cf4419e12b91d741ea6a0ad5e196c0d9ede..136e67ab145753ec10aa464c96233ec7492f2dab 100644 --- a/cert_mgr_service/build/ohos.build +++ b/cert_mgr_service/build/ohos.build @@ -12,7 +12,7 @@ "//base/cert_mgr_service/build:cert_standard_packages" ], "test_list": [ - "//base/cert_mgr_service/test/unittest:unittest" + ] } } diff --git a/cert_mgr_service/bundle.json b/cert_mgr_service/bundle.json new file mode 100644 index 0000000000000000000000000000000000000000..36756f7056cf581e0f32984622f47360981e4201 --- /dev/null +++ b/cert_mgr_service/bundle.json @@ -0,0 +1,37 @@ +{ + "name": "@ohos/cert_mgr_service", + "description": "cert manager subsystem.", + "version": "3.1", + "license": "Apache License 2.0", + "publishAs": "code-segment", + "segment": { + "destPath": "base/cert_mgr_service" + }, + "dirs": {}, + "scripts": {}, + "component": { + "name": "cert_mgr_service", + "subsystem": "certmanager", + "syscap": [], + "features": [], + "adapted_system_type": [ + "mini" + ], + "rom": "", + "ram": "", + "deps": { + "components": [ + "utils_base" + ], + "third_party": [] + }, + "build": { + "sub_component": [ + "//base/cert_mgr_service:cert_mgr_service" + ], + "inner_kits": [], + "test": [] + } + } +} + diff --git a/cert_mgr_service/common/cert_mgr_errno.h b/cert_mgr_service/common/cert_mgr_errno.h deleted file mode 100644 index 2a9817b1ab8179c12af8b9332fbcb73aa12a3d74..0000000000000000000000000000000000000000 --- a/cert_mgr_service/common/cert_mgr_errno.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_ERRNO_H -#define CERT_MGR_ERRNO_H - -#include - -namespace OHOS { - namespace CertManager { - enum { - CERTMANAGER_FAIL = -1, - - CERTMANAGER_SUCCESS = 0, - - // SA框架使用错误码 - CERTMANAGER_SERVICE_FAILED = 0x10000 + 1, - CERTMANAGER_WRITE_FAIL = 0x10000 + 2, - CERTMANAGER_PARAM_NULL, - CERTMANAGER_SA_NO_INIT, - }; - } // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/common/log/cert_mgr_log.h b/cert_mgr_service/common/log/cert_mgr_log.h deleted file mode 100644 index 610962c996133a349231eac064af8600a82e94f7..0000000000000000000000000000000000000000 --- a/cert_mgr_service/common/log/cert_mgr_log.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_LOG_H -#define CERT_MGR_LOG_H - -#include - -#include "hilog/log.h" - -namespace OHOS { -namespace CertManager { -static constexpr OHOS::HiviewDFX::HiLogLabel CERTMANAGER_LABEL = {LOG_CORE, 0xD001800, "CERTMGR"}; - -#define HILOGF(...) (void)OHOS::HiviewDFX::HiLog::Fatal(CERTMANAGER_LABEL, ##__VA_ARGS__) -#define HILOGE(...) (void)OHOS::HiviewDFX::HiLog::Error(CERTMANAGER_LABEL, ##__VA_ARGS__) -#define HILOGW(...) (void)OHOS::HiviewDFX::HiLog::Warn(CERTMANAGER_LABEL, ##__VA_ARGS__) -#define HILOGI(...) (void)OHOS::HiviewDFX::HiLog::Info(CERTMANAGER_LABEL, ##__VA_ARGS__) -#define HILOGD(...) (void)OHOS::HiviewDFX::HiLog::Debug(CERTMANAGER_LABEL, ##__VA_ARGS__) -} // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/interfaces/innerkits/native_cpp/BUILD.gn b/cert_mgr_service/interfaces/innerkits/native_cpp/BUILD.gn deleted file mode 100644 index c789d085056f1ae9e93a091cd5da24a6893dd1f4..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/innerkits/native_cpp/BUILD.gn +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/ohos.gni") -import("//base/cert_mgr_service/build/certconfig.gni") - -config("cert_mgr_sdk_config") { - visibility = [ ":*" ] - cflags = [ - "-Wall", - ] - include_dirs = [ - "include", - "${certmanager_standard_path}/common", - "${certmanager_standard_path}/common/log", - "//utils/native/base/include", - "//utils/system/safwk/native/include", - "${certmanager_standard_path}/services/cert_mgr_ability/include", - ] -} - -ohos_shared_library("cert_mgr_sdk") { - sources = [ - "src/cert_mgr_service_proxy.cpp", - "src/cert_mgr_client.cpp", - "${certmanager_standard_path}/services/cert_mgr_ability/src/cert_result_info.cpp", - ] - - configs = [ - ":cert_mgr_sdk_config", - ] - - deps = [ - "//utils/native/base:utils", - ] - - external_deps = [ - "hiviewdfx_hilog_native:libhilog", - "ipc:ipc_core", - "safwk:system_ability_fwk", - "samgr_standard:samgr_proxy", - ] - - subsystem_name = "certmanager" - part_name = "cert_mgr_standard" -} diff --git a/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_client.h b/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_client.h deleted file mode 100644 index e6b160334074ba1652f9e3d48c86ad7e29787425..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_client.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_CLIENT_H -#define CERT_MGR_CLIENT_H - -#include -#include "iremote_object.h" -#include "cert_mgr_interface.h" -#include "singleton.h" - -namespace OHOS { -namespace CertManager { -class CertMgrClient { - DECLARE_DELAYED_SINGLETON(CertMgrClient) - -public: - int GetCertStatus(CertResultInfo &certResultInfo); - -private: - CertMgrClient(const CertMgrClient&); - CertMgrClient& operator=(const CertMgrClient&); - int InitClientService(); - - sptr certClientInterface_; -}; -} // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_interface.h b/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_interface.h deleted file mode 100644 index 049bc012712d22a0625b6f6ca3bc0adefaecde91..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_interface.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_INTERFACE_H -#define CERT_MGR_INTERFACE_H - -#include -#include "iremote_broker.h" -#include "cert_result_info.h" - -namespace OHOS { -namespace CertManager { -class CertMgrInterface : public OHOS::IRemoteBroker { -public: - DECLARE_INTERFACE_DESCRIPTOR(u"ohos.CertManager.CertMgrInterface"); - - virtual int32_t GetCertStatus(CertResultInfo &certResultInfo) = 0; - - enum { - GET_AUTH_RESULT = 0, - }; -}; -} // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_service_proxy.h b/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_service_proxy.h deleted file mode 100644 index e8f9ddd6fab16dbf842e70aae2ce67f4cc8748c8..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/innerkits/native_cpp/include/cert_mgr_service_proxy.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_SERVICE_PROXY_H -#define CERT_MGR_SERVICE_PROXY_H - -#include -#include "iremote_proxy.h" -#include "cert_mgr_interface.h" - -namespace OHOS { -namespace CertManager { -class CertMgrServiceProxy : public IRemoteProxy { -public: - explicit CertMgrServiceProxy(const sptr &impl) - : IRemoteProxy(impl) {} - ~CertMgrServiceProxy() {} - - int32_t GetCertStatus(CertResultInfo &certResultInfo) override; -private: - static inline BrokerDelegator delegator_; -}; -} // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/interfaces/innerkits/native_cpp/src/cert_mgr_client.cpp b/cert_mgr_service/interfaces/innerkits/native_cpp/src/cert_mgr_client.cpp deleted file mode 100644 index d2af7c8dd258165551d07fe3819c94fcac80dcfe..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/innerkits/native_cpp/src/cert_mgr_client.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_client.h" - -#include "system_ability_definition.h" - -#include "iservice_registry.h" - -#include "cert_mgr_log.h" -#include "cert_mgr_errno.h" -#include "cert_result_info.h" - -using namespace std; - - -namespace OHOS { -namespace CertManager { -CertMgrClient::CertMgrClient() -{ - InitClientService(); -} - -CertMgrClient::~CertMgrClient() -{ -} - -int CertMgrClient::InitClientService() -{ - HILOGI("CertManageClient InitClientService begin"); - if (certClientInterface_ != nullptr) { - HILOGI("CertManageClient InitClientService already init"); - return CERTMANAGER_SUCCESS; - } - - auto samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); - if (!samgr) { - HILOGE("Failed to get system ability mgr."); - return CERTMANAGER_SA_NO_INIT; - } - - auto object = samgr->CheckSystemAbility(CERT_MANAGER_PROFILE_SA_ID); - if (!object) { - HILOGE("Failed to get Cert Manager."); - return CERTMANAGER_SA_NO_INIT; - } - certClientInterface_ = iface_cast(object); - HILOGI("CertManageClient InitClientService success"); - return CERTMANAGER_SUCCESS; -} - -int CertMgrClient::GetCertStatus(CertResultInfo &certResultInfo) -{ - HILOGI("CertMgrClient GetCertStatus Begin"); - if (certClientInterface_ == nullptr) { - HILOGE("CertMgrClient GetCertStatus certClientInterface_ is null"); - return CERTMANAGER_FAIL; - } - int res = certClientInterface_->GetCertStatus(certResultInfo); - HILOGI("CertMgrClient GetCertStatus end res = %{public}d", res); - return res; -} -} -} \ No newline at end of file diff --git a/cert_mgr_service/interfaces/innerkits/native_cpp/src/cert_mgr_service_proxy.cpp b/cert_mgr_service/interfaces/innerkits/native_cpp/src/cert_mgr_service_proxy.cpp deleted file mode 100644 index f73ff7fecb49a9ca3afddf3c16f4a626e49701c2..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/innerkits/native_cpp/src/cert_mgr_service_proxy.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_service_proxy.h" - -#include "cert_mgr_log.h" -#include "cert_mgr_errno.h" -#include "cert_result_info.h" - -using namespace std; -namespace OHOS { -namespace CertManager { -namespace { -const std::u16string CERTMANAGER_PROXY_INTERFACE_TOKEN = u"ohos.certmanager.accessToken"; -} -int32_t CertMgrServiceProxy::GetCertStatus(CertResultInfo &certResultInfo) -{ - HILOGI("CertMgrServiceProxy GetCertStatus begin"); - MessageParcel data; - MessageParcel reply; - MessageOption option; - - if (!data.WriteInterfaceToken(CERTMANAGER_PROXY_INTERFACE_TOKEN)) { - HILOGE("GetCertStatus write interface token failed"); - return CERTMANAGER_FAIL; - } - - sptr remote = Remote(); - if (remote == nullptr) { - HILOGE("remote service null"); - return CERTMANAGER_FAIL; - } - int ret = remote->SendRequest(GET_AUTH_RESULT, data, reply, option); - if (ret != CERTMANAGER_SUCCESS) { - HILOGE("GetCertStatus: call SendRequest failed %{public}d", ret); - return CERTMANAGER_FAIL; - } - int32_t authRet; - if (!reply.ReadInt32(authRet)) { - HILOGE("GetCertStatus: authRet failed %{public}d", authRet); - return CERTMANAGER_FAIL; - } - if (authRet == CERTMANAGER_SUCCESS) { - sptr certResultInfoPtr = CertResultInfo::Unmarshalling(reply); - certResultInfo = *certResultInfoPtr; - } else { - HILOGE("GetCertStatus: authRet failed code %{public}d", authRet); - return CERTMANAGER_FAIL; - } - - return CERTMANAGER_SUCCESS; -} -} -} \ No newline at end of file diff --git a/cert_mgr_service/interfaces/kits/napi/BUILD.gn b/cert_mgr_service/interfaces/kits/napi/BUILD.gn deleted file mode 100644 index c164240b2d4b3ff842929743ecac946d5f235afb..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/kits/napi/BUILD.gn +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//base/cert_mgr_service/build/certconfig.gni") -import("//build/ohos.gni") - -config("cert_mgr_kit_config") { - include_dirs = [ - "${certmanager_kits_path}/include", - "//third_party/libuv/include", - "//third_party/node/src", - "//foundation/ace/napi/interfaces/kits", - ] -} - -ohos_shared_library("cert_mgr_kit") { - include_dirs = [] - configs = [ ":cert_mgr_kit_config" ] - public_configs = [ - ":cert_mgr_kit_config", - ] - sources = [ - "${certmanager_kits_path}/src/napi_init.cpp", - "${certmanager_kits_path}/src/napi_cert_mgr.cpp", - ] - - deps = [ - "${certmanager_innerkit_path}/native_cpp:cert_mgr_sdk", - "//foundation/ace/napi/:ace_napi", - "//utils/native/base:utils", - ] - - relative_install_dir = "module" - - external_deps = [ - "hiviewdfx_hilog_native:libhilog", - "ipc:ipc_core", - ] - - subsystem_name = "certmanager" - part_name = "cert_mgr_standard" -} diff --git a/cert_mgr_service/interfaces/kits/napi/include/napi_cert_mgr.h b/cert_mgr_service/interfaces/kits/napi/include/napi_cert_mgr.h deleted file mode 100644 index 71fc5bd10ca392ad5ef7836b6c71cf0559989a79..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/kits/napi/include/napi_cert_mgr.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef NAPI_CERT_MGR_H -#define NAPI_CERT_MGR_H - -#include -#include -#include -#include "napi/native_api.h" -#include "napi/native_node_api.h" - -namespace OHOS { -namespace CertMgrJsKit { -napi_value CertMgrKitJsInit(napi_env env, napi_value exports); -} // namespace AccountJsKit -} // namespace OHOS -#endif // NAPI_OS_ACCOUNT_H \ No newline at end of file diff --git a/cert_mgr_service/interfaces/kits/napi/src/napi_cert_mgr.cpp b/cert_mgr_service/interfaces/kits/napi/src/napi_cert_mgr.cpp deleted file mode 100644 index 7079aeb79639c4393c17af38f82292c0678eab1d..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/kits/napi/src/napi_cert_mgr.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "napi_cert_mgr.h" - -namespace OHOS { -namespace CertMgrJsKit { -static napi_value Add(napi_env env, napi_callback_info info) -{ - size_t requireArgc = 2; - size_t argc = 2; - napi_value args[2] = { nullptr }; - NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, nullptr, nullptr)); - - NAPI_ASSERT(env, argc >= requireArgc, "Wrong number of arguments"); - - napi_valuetype valuetype0; - NAPI_CALL(env, napi_typeof(env, args[0], &valuetype0)); - - napi_valuetype valuetype1; - NAPI_CALL(env, napi_typeof(env, args[1], &valuetype1)); - - NAPI_ASSERT(env, valuetype0 == napi_number && valuetype1 == napi_number, "Wrong argument type. Numbers expected."); - - double value0; - NAPI_CALL(env, napi_get_value_double(env, args[0], &value0)); - - double value1; - NAPI_CALL(env, napi_get_value_double(env, args[1], &value1)); - - napi_value sum; - NAPI_CALL(env, napi_create_double(env, value0 + value1, &sum)); - - return sum; -} - -struct AsyncCallbackInfo { - napi_async_work asyncWork = nullptr; - napi_deferred deferred = nullptr; - napi_ref callback[2] = { 0 }; -}; -/* -static napi_value ProcCert(napi_env env, napi_callback_info) -{ - napi_deferred deferred = nullptr; - napi_value promise = nullptr; - NAPI_CALL(env, napi_create_promise(env, &deferred, &promise)); - - auto asyncCallbackInfo = new AsyncCallbackInfo { - .asyncWork = nullptr, - .deferred = deferred, - }; - - napi_value resourceName = nullptr; - napi_create_string_latin1(env, "TestPromise", NAPI_AUTO_LENGTH, &resourceName); - napi_create_async_work( - env, nullptr, resourceName, [](napi_env env, void* data) {}, - [](napi_env env, napi_status status, void* data) { - AsyncCallbackInfo* asyncCallbackInfo = (AsyncCallbackInfo*)data; - napi_value result = nullptr; - napi_create_string_utf8(env, "TestPromise", NAPI_AUTO_LENGTH, &result); - napi_resolve_deferred(env, asyncCallbackInfo->deferred, result); - napi_delete_async_work(env, asyncCallbackInfo->asyncWork); - delete asyncCallbackInfo; - }, - (void*)asyncCallbackInfo, &asyncCallbackInfo->asyncWork); - napi_queue_async_work(env, asyncCallbackInfo->asyncWork); - return promise; -} -*/ -napi_value CertMgrKitJsInit(napi_env env, napi_value exports) -{ - napi_property_descriptor desc[] = { - DECLARE_NAPI_FUNCTION("add", Add), - // DECLARE_NAPI_FUNCTION("ProcCert", ProcCert), - }; - NAPI_CALL(env, napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc)); - return exports; -} -} // namespace CertMgrJsKit -} // namespace OHOS \ No newline at end of file diff --git a/cert_mgr_service/interfaces/kits/napi/src/napi_init.cpp b/cert_mgr_service/interfaces/kits/napi/src/napi_init.cpp deleted file mode 100644 index 8150e8713214ba2cb5ac29eac824884e1e7fbad7..0000000000000000000000000000000000000000 --- a/cert_mgr_service/interfaces/kits/napi/src/napi_init.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "napi_cert_mgr.h" - -#include "napi/native_api.h" -#include "napi/native_node_api.h" - -namespace OHOS { -namespace CertMgrJsKit { -EXTERN_C_START -/* - * Module export function - */ -static napi_value Init(napi_env env, napi_value exports) -{ - /* - * Propertise define - */ - CertMgrKitJsInit(env, exports); - - return exports; -} -EXTERN_C_END - -/* - * Module define - */ -static napi_module _module = { - - .nm_version = 1, - .nm_flags = 0, - .nm_filename = nullptr, - .nm_register_func = Init, - .nm_modname = "certMgrJsKit", - .nm_priv = ((void *)0), - .reserved = {0} - -}; - -/* - * Module register function - */ -extern "C" __attribute__((constructor)) void RegisterModule(void) -{ - napi_module_register(&_module); -} -} // namespace CertMgrJsKit -} // namespace OHOS \ No newline at end of file diff --git a/cert_mgr_service/sample/client/BUILD.gn b/cert_mgr_service/sample/client/BUILD.gn deleted file mode 100644 index a854101aeee48448bdf8ae1d986ec1c341db7658..0000000000000000000000000000000000000000 --- a/cert_mgr_service/sample/client/BUILD.gn +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/ohos.gni") -import("//base/cert_mgr_service/build/certconfig.gni") - -ohos_executable("certtestclient") { - sources = [ - "cert_mgr_main_client.cpp", - "${certmanager_standard_path}/services/cert_mgr_ability/src/cert_result_info.cpp", - ] - - include_dirs = [ - "${certmanager_standard_path}/common", - "${certmanager_standard_path}/common/log", - "${certmanager_innerkit_path}/native_cpp/include", - "//utils/native/base/include", - "${certmanager_standard_path}/services/cert_mgr_ability/include", - ] - - deps = [ - "${certmanager_standard_path}/interfaces/innerkits/native_cpp:cert_mgr_sdk", - "//utils/native/base:utils", - ] - - external_deps = [ - "hiviewdfx_hilog_native:libhilog", - "ipc:ipc_core", - "safwk:system_ability_fwk", - "samgr_standard:samgr_proxy", - ] - - subsystem_name = "certmanager" - part_name = "cert_mgr_standard" -} \ No newline at end of file diff --git a/cert_mgr_service/sample/client/cert_mgr_main_client.cpp b/cert_mgr_service/sample/client/cert_mgr_main_client.cpp deleted file mode 100644 index 0028ac99c1fa050537b444bb5e6a9cc0a206e828..0000000000000000000000000000000000000000 --- a/cert_mgr_service/sample/client/cert_mgr_main_client.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_client.h" - -#include -#include - -#include "iservice_registry.h" -#include "system_ability_definition.h" -#include "system_ability.h" -#include "singleton.h" - -#include "cert_mgr_log.h" -#include "cert_result_info.h" - -using namespace OHOS; -using namespace OHOS::CertManager; -int main(int argc, char *arg[]) -{ - HILOGI("Test client main begin"); - // CertMgrClient* certManager = nullptr; - // certManager = &CertMgrClient::getInstance(); - - CertResultInfo certResultInfo; - certResultInfo.authResult_ = 3; - certResultInfo.softwareResult_ = 3; - certResultInfo.ticket_ = "test"; - HILOGI("certResultInfo authResult_ %{public}d", certResultInfo.authResult_); - HILOGI("certResultInfo softwareResult_ %{public}d", certResultInfo.softwareResult_); - HILOGI("certResultInfo ticket_ %{public}s", certResultInfo.ticket_.c_str()); - - int res = DelayedSingleton::GetInstance()->GetCertStatus(certResultInfo); - - HILOGI("certResultInfo authResult_ %{public}d", certResultInfo.authResult_); - HILOGI("certResultInfo softwareResult_ %{public}d", certResultInfo.softwareResult_); - HILOGI("certResultInfo ticket_ %{public}s", certResultInfo.ticket_.c_str()); - - HILOGI("Test client GetAuthRes = %{public}d", res); - return 0; -} \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/BUILD.gn b/cert_mgr_service/services/cert_mgr_ability/BUILD.gn deleted file mode 100644 index 224f7b6883279404a1b04fd1347beb1062db1f63..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/BUILD.gn +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/ohos.gni") -import("//base/cert_mgr_service/build/certconfig.gni") - -config("cert_mgr_service_config") { - visibility = [ ":*" ] - cflags = [ - "-Wall", - ] - include_dirs = [ - "include", - "${certmanager_standard_path}/services/core", - "${certmanager_standard_path}/services/core/include/cer_mgr", - "${certmanager_standard_path}/common", - "${certmanager_standard_path}/common/log", - "${certmanager_innerkit_path}/native_cpp/include", - "//utils/native/base/include", - "//utils/system/safwk/native/include", - "${certmanager_standard_path}/services/core/include", - ] -} - -ohos_shared_library("cert_mgr_service") { - sources = [ - "src/cert_mgr_service.cpp", - "src/cert_mgr_service_stub.cpp", - "src/cert_mgr_network_callback.cpp", - "src/cert_mgr_system_ability_listener.cpp", - "src/cert_result_info.cpp", - ] - - configs = [ - ":cert_mgr_service_config", - ] - - deps = [ - "//utils/native/base:utils", - "${certmanager_standard_path}/services/core:cert_mgr_core", - ] - - external_deps = [ - "hiviewdfx_hilog_native:libhilog", - "ipc:ipc_core", - "safwk:system_ability_fwk", - "samgr_standard:samgr_proxy", - "netmanager_base:net_conn_manager_if", - ] - - subsystem_name = "certmanager" - part_name = "cert_mgr_standard" -} diff --git a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_network_callback.h b/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_network_callback.h deleted file mode 100644 index d2840feda90e6ae030870c306d62133a46dd8dcb..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_network_callback.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_NETWORK_CALLBACK_H -#define CERT_MGR_NETWORK_CALLBACK_H - - -#include "net_conn_callback_stub.h" - -namespace OHOS { -namespace CertManager { -using namespace NetManagerStandard; - -class CertMgrNetworkCallback : public NetConnCallbackStub { - // int32_t NetAvailable(sptr &netHandle) override; - int32_t NetCapabilitiesChange(sptr &netHandle, const sptr &netAllCap) override; -}; -} // CertManager -} // OHOS -#endif // CERT_MGR_NETWORK_CALLBACK_H \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_service.h b/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_service.h deleted file mode 100644 index 9681722efdaa5ae64d5fc11e83d4746a285f5ad5..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_service.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_SERVICE_H -#define CERT_MGR_SERVICE_H - -#include -#include -#include "system_ability.h" -#include "iremote_stub.h" -#include "iremote_object.h" -#include "cert_mgr_interface.h" -#include "cert_mgr_service_stub.h" -#include "system_ability_status_change_stub.h" -#include "cert_result_info.h" - -namespace OHOS { -namespace CertManager { -enum class ServiceRunningState { - STATE_NOT_START, - STATE_RUNNING -}; - -class CertMgrService : public SystemAbility, public CertMgrServiceStub { - DECLARE_SYSTEM_ABILITY(CertMgrService); -public: - CertMgrService(int32_t systemAbilityId, bool runOnCreate = true):SystemAbility(systemAbilityId, runOnCreate) {}; - ~CertMgrService() = default; - void OnStart() override; - void OnStop() override; - ServiceRunningState QueryServiceState() const - { - return state_; - } - int32_t GetCertStatus(CertResultInfo &certResultInfo) override; - -private: - bool Init(); - ServiceRunningState state_ = ServiceRunningState::STATE_NOT_START; - bool registerToSa_ = false; - bool CheckPermission(const std::string &packageName); - const int32_t NETMANAGER_SAMGR_ID = 1151; -}; -} // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_service_stub.h b/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_service_stub.h deleted file mode 100644 index 8e0507901b57c51020945de4097140d0ebf4f351..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_service_stub.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_SERVICE_STUB_H -#define CERT_MGR_SERVICE_STUB_H - -#include -#include -#include "iremote_stub.h" -#include "iremote_object.h" -#include "cert_mgr_interface.h" - -namespace OHOS { -namespace CertManager { -class CertMgrServiceStub : public IRemoteStub { -public: - CertMgrServiceStub(); - ~CertMgrServiceStub(); - int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override; - -private: - int GetCertStatusInner(MessageParcel& data, MessageParcel& reply); - using RequestFuncType = int (CertMgrServiceStub::*)(MessageParcel& data, MessageParcel& reply); - std::map requestFuncMap_; -}; -} // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_system_ability_listener.h b/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_system_ability_listener.h deleted file mode 100644 index 9aec7e4a2718069e89eb19f1ff3c5a391b3f5242..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/include/cert_mgr_system_ability_listener.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CERT_MGR_SYSTEM_ABILITY_LISTENER_H -#define CERT_MGR_SYSTEM_ABILITY_LISTENER_H - - -#include "system_ability_status_change_stub.h" - -namespace OHOS { -namespace CertManager { -class CertMgrSystemAbilityListener : public SystemAbilityStatusChangeStub { -public: - void OnAddSystemAbility(int32_t systemAbilityId, const std::string& deviceId) override; - void OnRemoveSystemAbility(int32_t systemAbilityId, const std::string& deviceId) override; - bool AddCertMgrSystemAbilityListener(int32_t systemAbilityId); -private: - bool RemoveCertMgrSystemAbilityListener(int32_t systemAbilityId); - bool CheckInputSysAbilityId(int32_t systemAbilityId); -}; -} // CertManager -} // OHOS -#endif // CERT_MGR_SYSTEM_ABILITY_LISTENER_H \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/include/cert_result_info.h b/cert_mgr_service/services/cert_mgr_ability/include/cert_result_info.h deleted file mode 100644 index 7f39776f2a28a680308fb8e7ecec7fa309cefaea..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/include/cert_result_info.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef CERT_RESULT_INFO_H -#define CERT_RESULT_INFO_H - -#include "parcel.h" -#include -#include - -namespace OHOS { -namespace CertManager { -class CertResultInfo : public Parcelable { -public: - int32_t authResult_ = -1; - int32_t softwareResult_ = -1; - std::string ticket_; - - virtual bool Marshalling(Parcel &parcel) const override; - static sptr Unmarshalling(Parcel &parcel); -}; -} // end of CertManager -} // end of OHOS -#endif \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_network_callback.cpp b/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_network_callback.cpp deleted file mode 100644 index 1af951ffae68854793256f483d796bdddbc9d4c9..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_network_callback.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_network_callback.h" - -#include "cstdint" - -#include "net_conn_client.h" -#include "net_conn_constants.h" - -#include "cert_mgr_log.h" -#include "cert_entry.h" - -namespace OHOS { -namespace CertManager { -int32_t CertMgrNetworkCallback::NetCapabilitiesChange( - sptr &netHandle, const sptr &netAllCap) -{ - if (netHandle == nullptr || netAllCap == nullptr) { - HILOGI("[NetCapabilitiesChange] invalid parameter"); - return 0; - } - - for (auto netCap : netAllCap->netCaps_) { - switch (netCap) { - case NET_CAPABILITY_MMS: - HILOGI("[NetCapabilitiesChange] NET_CAPABILITY_MMS start"); - break; - case NET_CAPABILITY_NOT_METERED: - HILOGI("[NetCapabilitiesChange] NET_CAPABILITY_NOT_METERED start"); - break; - case NET_CAPABILITY_INTERNET: - { - HILOGI("[NetCapabilitiesChange] NET_CAPABILITY_INTERNET start"); - int ret = CertTask(); - HILOGI("CertMgrService test success, ret = %{public}d", ret); - break; - } - case NET_CAPABILITY_NOT_VPN: - HILOGI("[NetCapabilitiesChange] NET_CAPABILITY_NOT_VPN start"); - break; - case NET_CAPABILITY_VALIDATED: - HILOGI("[NetCapabilitiesChange] NET_CAPABILITY_VALIDATED start"); - break; - case NET_CAPABILITY_CAPTIVE_PORTAL: - HILOGI("[NetCapabilitiesChange] NET_CAPABILITY_CAPTIVE_PORTAL start"); - break; - default: - HILOGI("[NetCapabilitiesChange] default start"); - break; - } - } - return 0; -} -} // CertManager -} // OHOS - diff --git a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_service.cpp b/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_service.cpp deleted file mode 100644 index 74fc76c5c8fb1020e2b3a3817054c5d6c26200d9..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_service.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_service.h" - -#include -#include -#include - -#include "cstdint" - -#include "system_ability_definition.h" -#include "system_ability_status_change_stub.h" -#include "iservice_registry.h" - -#include "net_conn_client.h" -#include "net_conn_constants.h" - -#include "cert_mgr_errno.h" -#include "cert_mgr_log.h" -#include "cert_mgr_system_ability_listener.h" -#include "cert_result_info.h" -#include "cert_entry.h" - -using namespace std; -namespace OHOS { -namespace CertManager { -REGISTER_SYSTEM_ABILITY_BY_ID(CertMgrService, CERT_MANAGER_PROFILE_SA_ID, true) - -void CertMgrService::OnStart() -{ - HILOGI("CertMgrService OnStart"); - if (state_ == ServiceRunningState::STATE_RUNNING) { - HILOGI("CertManager Service has already started."); - return; - } - if (!Init()) { - HILOGE("Failed to init CertMgrService."); - return; - } - state_ = ServiceRunningState::STATE_RUNNING; - HILOGI("CertMgrService start success"); - sptr certMgrSystemAbilityListener = - (std::make_unique()).release(); - if (!certMgrSystemAbilityListener->AddCertMgrSystemAbilityListener(NETMANAGER_SAMGR_ID)) { - HILOGE("AddCertMgrSystemAbilityListener failed."); - } -} -bool CertMgrService::Init() -{ - HILOGI("CertMgrService Init begin"); - if (!registerToSa_) { - bool ret = Publish(this); - if (!ret) { - HILOGE("CertMgrService Init Publish failed"); - return false; - } - registerToSa_ = true; - } - HILOGI("CertMgrService Init Success"); - return true; -} -void CertMgrService::OnStop() -{ - HILOGI("CertMgrService OnStop Begin"); - state_ = ServiceRunningState::STATE_NOT_START; - registerToSa_ = false; -} -int CertMgrService::GetCertStatus(CertResultInfo &certResultInfo) -{ - char* ticketStr = NULL; - int authRes = QueryCert(&certResultInfo.authResult_, &certResultInfo.softwareResult_, &ticketStr); - if (authRes == CERTMANAGER_SUCCESS) { - certResultInfo.ticket_ = ticketStr; - } - HILOGI("GetCertStatus end success %{public}d", authRes); - return authRes; -} -// 根据入参判断接口权限,当前没有入参,后续确认不需要后再删除 -bool CertMgrService::CheckPermission(const std::string &packageName) -{ - HILOGI("CertMgrService CheckPermission packageName %{public}s", packageName.c_str()); - if (packageName.empty()) { - HILOGE("CheckPermission param is null"); - return false; - } - return true; -} -} // end of CertManager -} // end of OHOS \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_service_stub.cpp b/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_service_stub.cpp deleted file mode 100644 index 2c76d0b030cf5a161bf8fdb404bd962e2624350a..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_service_stub.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_service_stub.h" - -#include - -#include "system_ability_definition.h" -#include "iremote_object.h" -#include "iremote_stub.h" -#include "iservice_registry.h" - -#include "cert_mgr_log.h" -#include "cert_mgr_errno.h" -#include "cert_result_info.h" - -namespace OHOS { -namespace CertManager { -namespace { -const std::u16string CERTMANAGER_PROXY_INTERFACE_TOKEN = u"ohos.certmanager.accessToken"; -} - - -CertMgrServiceStub::CertMgrServiceStub() -{ - requestFuncMap_[GET_AUTH_RESULT] = &CertMgrServiceStub::GetCertStatusInner; -} - -CertMgrServiceStub::~CertMgrServiceStub() -{ - requestFuncMap_.clear(); -} - -int CertMgrServiceStub::OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) -{ - HILOGD("CertMgrServiceStub::OnRemoteRequest, cmd = %{public}d, flags = %{public}d", code, option.GetFlags()); - std::u16string remoteDescriptor = data.ReadInterfaceToken(); - if (CERTMANAGER_PROXY_INTERFACE_TOKEN != remoteDescriptor) { - HILOGE("CertMgrServiceStub::OnRemoteRequest failed, descriptor is not matched!"); - return CERTMANAGER_SERVICE_FAILED; - } - auto itFunc = requestFuncMap_.find(code); - if (itFunc != requestFuncMap_.end()) { - auto requestFunc = itFunc->second; - if (requestFunc != nullptr) { - return (this->*requestFunc)(data, reply); - } - } - HILOGE("CertMgrServiceStub::OnRemoteRequest, default case"); - return IPCObjectStub::OnRemoteRequest(code, data, reply, option); -} - -int CertMgrServiceStub::GetCertStatusInner(MessageParcel& data, MessageParcel& reply) -{ - HILOGD("CertMgrServiceStub::GetCertStatusInner"); - CertResultInfo certResultInfo; - int ret = GetCertStatus(certResultInfo); - if (!reply.WriteInt32(ret)) { - HILOGE("GetCertStatusInner: write result fail, %{public}d", ret); - return CERTMANAGER_FAIL; - } - if (ret == CERTMANAGER_SUCCESS) { - sptr certResultInfoPtr = (std::make_unique(certResultInfo)).release(); - if (!certResultInfoPtr->Marshalling(reply)) { - HILOGE("GetCertStatusInner stub Marshalling failed"); - return CERTMANAGER_FAIL; - } - } else { - HILOGE("GetCertStatusInner: GetCertStatus fail, %{public}d", ret); - return CERTMANAGER_FAIL; - } - return CERTMANAGER_SUCCESS; -} -} // end of CertManager -} // end of OHOS \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_system_ability_listener.cpp b/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_system_ability_listener.cpp deleted file mode 100644 index 296793ab5d2ebeed058236dc467d67696dd823fe..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/src/cert_mgr_system_ability_listener.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_system_ability_listener.h" - -#include "cstdint" -#include - -#include "net_conn_client.h" -#include "net_conn_constants.h" - -#include "system_ability_definition.h" -#include "system_ability_status_change_stub.h" -#include "iservice_registry.h" - -#include "cert_mgr_log.h" -#include "cert_mgr_network_callback.h" - -namespace OHOS { -namespace CertManager { -using namespace NetManagerStandard; -constexpr std::int32_t WAIT_FOR_KVSTORE = 1000; - -void CertMgrSystemAbilityListener::OnAddSystemAbility(int32_t systemAbilityId, const std::string& deviceId) -{ - HILOGI("SA:%{public}d added", systemAbilityId); - - std::shared_ptr netManager = DelayedSingleton::GetInstance(); - if (netManager == nullptr) { - HILOGE("Failed to init NetConnClient."); - return; - } - - sptr callback = (std::make_unique()).release(); - int32_t ret = 0; - for (size_t i = 0; i < 5; i++) { - std::this_thread::sleep_for(std::chrono::milliseconds(WAIT_FOR_KVSTORE)); - ret = netManager->RegisterNetConnCallback(callback); - if (ret == NetConnResultCode::NET_CONN_SUCCESS) { - break; - } - } - - if (ret == NetConnResultCode::NET_CONN_SUCCESS) { - HILOGE("RegisterNetConnCallback success."); - } else { - HILOGE("RegisterNetConnCallback failed."); - } - - if (RemoveCertMgrSystemAbilityListener(systemAbilityId)) { - HILOGE("RemoveSystemAbilityListener success."); - } -} - -void CertMgrSystemAbilityListener::OnRemoveSystemAbility(int32_t systemAbilityId, const std::string& deviceId) -{ - HILOGI("SA:%{public}d removed", systemAbilityId); -} - -bool CertMgrSystemAbilityListener::AddCertMgrSystemAbilityListener(int32_t systemAbilityId) -{ - HILOGI("AddCertMgrSystemAbilityListener start"); - if (!CheckInputSysAbilityId(systemAbilityId)) { - HILOGI("systemAbilityId invalid %{public}d", systemAbilityId); - return false; - } - auto samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); - if (samgrProxy == nullptr) { - HILOGI("failed to get samgrProxy"); - return false; - } - int32_t ret = samgrProxy->SubscribeSystemAbility(systemAbilityId, this); - HILOGI("SubscribeSystemAbility ret: %{public}d", ret); - if (ret) { - HILOGI("failed to subscribe sa: %{public}d", systemAbilityId); - return false; - } - return true; -} - -bool CertMgrSystemAbilityListener::RemoveCertMgrSystemAbilityListener(int32_t systemAbilityId) -{ - if (!CheckInputSysAbilityId(systemAbilityId)) { - HILOGI("systemAbilityId invalid %{public}d", systemAbilityId); - return false; - } - auto samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); - if (samgrProxy == nullptr) { - HILOGI("failed to get samgrProxy"); - return false; - } - int32_t ret = samgrProxy->UnSubscribeSystemAbility(systemAbilityId, this); - HILOGI("UnSubscribeSystemAbility ret: %{public}d", ret); - if (ret) { - HILOGI("failed to unsubscribe sa: %{public}d", systemAbilityId); - return false; - } - return true; -} - -bool CertMgrSystemAbilityListener::CheckInputSysAbilityId(int32_t systemAbilityId) -{ - return (systemAbilityId >= FIRST_SYS_ABILITY_ID) && (systemAbilityId <= LAST_SYS_ABILITY_ID); -} -} // CertManager -} // OHOS \ No newline at end of file diff --git a/cert_mgr_service/services/cert_mgr_ability/src/cert_result_info.cpp b/cert_mgr_service/services/cert_mgr_ability/src/cert_result_info.cpp deleted file mode 100644 index 62dd11fde01552a902399d490e2ff601f8ea1c14..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/cert_mgr_ability/src/cert_result_info.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "cert_result_info.h" - -namespace OHOS { -namespace CertManager { -bool CertResultInfo::Marshalling(Parcel &parcel) const -{ - if (!parcel.WriteInt32(authResult_)) { - return false; - } - if (!parcel.WriteInt32(softwareResult_)) { - return false; - } - if (!parcel.WriteString(ticket_)) { - return false; - } - return true; -} - -sptr CertResultInfo::Unmarshalling(Parcel &parcel) -{ - sptr ptr = (std::make_unique()).release(); - if (ptr == nullptr) { - return nullptr; - } - if (!parcel.ReadInt32(ptr->authResult_) || !parcel.ReadInt32(ptr->softwareResult_) || - !parcel.ReadString(ptr->ticket_)) { - return nullptr; - } - return ptr; -} -} -} \ No newline at end of file diff --git a/cert_mgr_service/services/core/BUILD.gn b/cert_mgr_service/services/core/BUILD.gn index b8cbdb97824119a0008f544c42bb0411387fba83..fa24c485c2996e1470ec649f9dac686dc4af2bad 100644 --- a/cert_mgr_service/services/core/BUILD.gn +++ b/cert_mgr_service/services/core/BUILD.gn @@ -13,6 +13,9 @@ import("//build/ohos.gni") import("//base/cert_mgr_service/build/certconfig.gni") +import("//build/lite/config/component/lite_component.gni") + +local_deps = [] config("cert_mgr_core_config") { visibility = [ ":*" ] @@ -21,13 +24,19 @@ config("cert_mgr_core_config") { ] include_dirs = [ "include", + "//utils/native/liteos/include", + "${certmanager_standard_path}/services/core/include", "${certmanager_standard_path}/services/core/include/adapter", "${certmanager_standard_path}/services/core/include/cert", "${certmanager_standard_path}/services/core/include/dfx", "${certmanager_standard_path}/services/core/include/security", "${certmanager_standard_path}/services/core/include/network", - "${certmanager_standard_path}/services/core/include/utils", - "//base/startup/syspara_lite/adapter/native/syspara/include", + "${certmanager_standard_path}/services/core/include/utils/", + "//base/startup/syspara_lite/interfaces/kits", + "//third_party/cmsis/CMSIS/RTOS2/Include", + "//base/hiviewdfx/hilog_lite/interfaces/native/kits", + "//kernel/liteos_m/utils", + "//kernel/liteos_m/kal/cmsis", ] defines = [] @@ -62,11 +71,39 @@ config("cert_mgr_core_config") { "__CERT_NETWORK_DEBUG_LOG__", ] } + + if (is_standard_system) { + local_deps += [ + "//third_party/openssl:libssl_static", + "//third_party/openssl:openssl_static", + "//third_party/openssl:ssl_source", + "//third_party/openssl:libcrypto_static", + "//base/startup/syspara_lite/interfaces/innerkits/native/syspara:syspara", + "${certmanager_standard_path}/services/oem_adapter:cert_mgr_oem_adapter" + ] + external_deps = [ + "hiviewdfx_hilog_native:libhilog", + "utils_base:utils", + "startup_l2:syspara", + ] + subsystem_name = "certmanager" + part_name = "cert_mgr_standard" + } + + if (is_liteos_m) { + include_dirs += ["${certmanager_path}/services/oem_adapter/include"] + defines += [ + "__CERT_L0_DEVICE__", + ] + } } -ohos_shared_library("cert_mgr_core") { + +lite_library("cert_mgr_core") { + target_type = lite_library_type sources = [ "cert_entry.c", + "cert_demoInit.c", "adapter/cert_adapter.c", "adapter/cert_adapter_os.c", "adapter/cert_adapter_oem.c", @@ -82,8 +119,8 @@ ohos_shared_library("cert_mgr_core") { "security/cert_security_token.c", "security/cert_security_ticket.c", "utils/cert_utils_file.c", - "utils/cert_utils_json.c", "utils/cert_utils_log.c", + "utils/cert_utils_json.c", "utils/cert_utils_timer.c", "utils/cert_utils_list.c", "utils/cert_utils_memleak.c", @@ -91,25 +128,15 @@ ohos_shared_library("cert_mgr_core") { "dfx/cert_dfx.c", ] - configs = [ + public_configs = [ ":cert_mgr_core_config", ] deps = [ - "//third_party/cJSON:cjson_static", - "//third_party/mbedtls:mbedtls_shared", - #"//third_party/openssl:libssl_static", - "//third_party/openssl:ssl_source", - "//third_party/openssl:libcrypto_static", - "${certmanager_standard_path}/services/oem_adapter:cert_mgr_oem_adapter" + "//third_party/mbedtls:mbedtls_static", + "//build/lite/config/component/cJSON:cjson_static", + "//third_party/bounds_checking_function:libsec_static", ] - - external_deps = [ - "hiviewdfx_hilog_native:libhilog", - "utils_base:utils", - "startup_l2:syspara", - ] - - subsystem_name = "certmanager" - part_name = "cert_mgr_standard" + deps += local_deps } + diff --git a/cert_mgr_service/services/core/adapter/cert_adapter_oem.c b/cert_mgr_service/services/core/adapter/cert_adapter_oem.c index d2fbdf8062f8b8d9000f40b5d6703dcfaaf8c945..c33da22f89013f34629bc33a35aa837d2ac1b294 100644 --- a/cert_mgr_service/services/core/adapter/cert_adapter_oem.c +++ b/cert_mgr_service/services/core/adapter/cert_adapter_oem.c @@ -58,6 +58,7 @@ int32_t OEMReadTicket(TicketInfo* ticketInfo) if (ReadFile(AUTH_RESULT_PATH, TICKET_FILE_NAME, ticket, sizeof(ticket)) != 0) { return CERT_ERR; } + if (memcpy_s(ticketInfo->ticket, TICKET_ENCRYPT_LEN, ticket, TICKET_ENCRYPT_LEN) != 0 || memcpy_s(ticketInfo->salt, SALT_ENCRYPT_LEN, ticket + TICKET_ENCRYPT_LEN, SALT_ENCRYPT_LEN) != 0) { return CERT_ERR; diff --git a/cert_mgr_service/services/core/cert/cert_service.c b/cert_mgr_service/services/core/cert/cert_service.c index 524194b915279a867cdc621a9a45d8195b2deaf4..5f9d4c8d0d386e06a923cef1515856595d4f09c9 100644 --- a/cert_mgr_service/services/core/cert/cert_service.c +++ b/cert_mgr_service/services/core/cert/cert_service.c @@ -53,13 +53,13 @@ static int32_t ResetDevice() break; } CERT_LOG_INFO("[ResetDevice] Send reset msg begin."); - ret = SendResetMsg(reqMsg, &respMsg); + ret = SendResetMsg(reqMsg, &respMsg); if (ret != CERT_OK) { CERT_LOG_ERROR("[ResetDevice] Send reset request message failed, ret = %d.", ret); break; } CERT_LOG_INFO("[ResetDevice] Parse reset msg begin."); - ret = ParseResetResult((const char*)respMsg); + ret = ParseResetResult((const char*)respMsg); if (ret != CERT_OK) { CERT_LOG_ERROR("[ResetDevice] Parse reset result message failed, ret = %d.", ret); break; @@ -256,7 +256,7 @@ int32_t ProcCert() ret = InitMemNodeList(); CERT_LOG_INFO("[ProcCert] Init mem node list, ret = %d.", ret); } - ret = ProcCertImpl(); + ret = ProcCertImpl(); if (ret != CERT_OK) { CERT_LOG_ERROR("[ProcCert] Proc Cert failed, ret = %d.", ret); } diff --git a/cert_mgr_service/services/core/cert/cert_service_active.c b/cert_mgr_service/services/core/cert/cert_service_active.c index 7f527c49cf3b187f894df202d2c1280ea3e42e38..e468697e477089a4b38bf50af18969382babdab2 100644 --- a/cert_mgr_service/services/core/cert/cert_service_active.c +++ b/cert_mgr_service/services/core/cert/cert_service_active.c @@ -72,9 +72,9 @@ int32_t GenActiveMsg(AuthResult* authResult, const ChallengeResult* challengeRes int32_t SendActiveMsg(DevicePacket* devicePacket, char** respMsg) { CERT_LOG_INFO("[SendActiveMsg] Begin."); - if (CERT_MOCK_NETWORK_STUB_FLAG) { + if (CERT_MOCK_NETWORK_STUB_FLAG) { return SendCertMsgStub(CERT_ACTION_ACTIVATE, respMsg); - } + } if (devicePacket == NULL || respMsg == NULL) { CERT_LOG_ERROR("[SendActiveMsg] Input paramter is null."); return CERT_ERR; @@ -88,6 +88,7 @@ int32_t SendActiveMsg(DevicePacket* devicePacket, char** respMsg) *respMsg = recvMsg; CERT_LOG_INFO("[SendActiveMsg] End."); return ret; + } int32_t ParseActiveResult(const char* jsonStr) @@ -96,7 +97,7 @@ int32_t ParseActiveResult(const char* jsonStr) CERT_LOG_ERROR("[ParseActiveResult] Invalid parameter"); return CERT_ERR; } - int32_t errorCode = (int32_t) GetObjectItemValueNumber(jsonStr, "errcode"); + int32_t errorCode = (int32_t)GetObjectItemValueNumber(jsonStr, "errcode"); if (isnan(errorCode)) { CERT_LOG_INFO("[ParseActiveResult] errorCode is nan."); return CERT_ERR; diff --git a/cert_mgr_service/services/core/cert/cert_service_auth.c b/cert_mgr_service/services/core/cert/cert_service_auth.c index 842ce0a77b4a786a51aa753298cc4b18154bfaa5..3a335b1ea618e51952451850acffb57ae8f4d710 100644 --- a/cert_mgr_service/services/core/cert/cert_service_auth.c +++ b/cert_mgr_service/services/core/cert/cert_service_auth.c @@ -711,6 +711,7 @@ int32_t SendAuthMsg(DevicePacket* devicePacket, char** respMsg) *respMsg = recvMsg; CERT_LOG_INFO("[SendAuthMsg] End."); return ret; + } int32_t ParseAuthResultResp(const char* msg, AuthResult* authResult) diff --git a/cert_mgr_service/services/core/cert/cert_service_challenge.c b/cert_mgr_service/services/core/cert/cert_service_challenge.c index a2060c2f44a6779d0b6e428f2bd4e524ee3a3203..8e9cf6510b3027b4e306d6614ffc703e683ea6db 100644 --- a/cert_mgr_service/services/core/cert/cert_service_challenge.c +++ b/cert_mgr_service/services/core/cert/cert_service_challenge.c @@ -23,7 +23,7 @@ #include "cert_adapter_mock.h" #include "cert_service_challenge.h" -ChallengeResult* CreateChallengeResult() +ChallengeResult* CreateChallengeResult(void) { ChallengeResult* challengeResult = (ChallengeResult *)CERT_MEM_MALLOC(sizeof(ChallengeResult)); if (challengeResult == NULL) { diff --git a/cert_mgr_service/services/core/cert/cert_service_reset.c b/cert_mgr_service/services/core/cert/cert_service_reset.c index f5b5963aec3ef56e5e99537c3a261e4aeaa03d7e..6ea86f60d9038c794f6e92c55c507cbb7e7bde10 100644 --- a/cert_mgr_service/services/core/cert/cert_service_reset.c +++ b/cert_mgr_service/services/core/cert/cert_service_reset.c @@ -60,7 +60,7 @@ int32_t GenResetMsg(ChallengeResult* challengeResult, DevicePacket** devPacket) int32_t SendResetMsg(DevicePacket* devicePacket, char** respMsg) { CERT_LOG_INFO("[SendResetMsg] Begin."); - if (CERT_MOCK_NETWORK_STUB_FLAG) { + if (CERT_MOCK_NETWORK_STUB_FLAG) { return SendCertMsgStub(CERT_ACTION_RESET, respMsg); } if (devicePacket == NULL || respMsg == NULL) { diff --git a/cert_mgr_service/services/core/cert_demoInit.c b/cert_mgr_service/services/core/cert_demoInit.c new file mode 100644 index 0000000000000000000000000000000000000000..28ea739ccfe776b4520238fb059780cdaec65433 --- /dev/null +++ b/cert_mgr_service/services/core/cert_demoInit.c @@ -0,0 +1,24 @@ +#include "cmsis_os2.h" +#include "ohos_init.h" +#include "cert_entry.h" + +static void DemoTask(void *arg) +{ + (void)arg; + printf("[DemoTask]: CertTask Begin.\n"); + CertTask(); + printf("[DemoTask]: CertTask End.\n"); +} + +void DemoMain(void){ + osThreadAttr_t attr = {0}; + attr.stack_size = 2048; + attr.priority = osPriorityNormal; + attr.name = "DemoCertSdk"; + if (osThreadNew((osThreadFunc_t)DemoTask, NULL, &attr) == NULL) { + printf("[DemoMain]: osThreadNew DemoTask failed.\n"); + } + +} + +APP_FEATURE_INIT(DemoMain); \ No newline at end of file diff --git a/cert_mgr_service/services/core/include/dfx/cert_dfx.h b/cert_mgr_service/services/core/include/dfx/cert_dfx.h index 58695f20d9d689d840a9a36c364664ce80c5af12..696ab67b1f46a95265a213409997cfe36380d4f4 100644 --- a/cert_mgr_service/services/core/include/dfx/cert_dfx.h +++ b/cert_mgr_service/services/core/include/dfx/cert_dfx.h @@ -15,6 +15,7 @@ #ifndef __CERT_DFX_H__ #define __CERT_DFX_H__ +#include "cert_type.h" #ifdef __cplusplus #if __cplusplus diff --git a/cert_mgr_service/services/core/include/network/cert_network.h b/cert_mgr_service/services/core/include/network/cert_network.h index 7905b3dd8047d3d2193cbb120b8572c6786eb76e..b39a0d2533ec8540eb56521be3c05e98cebd8b45 100644 --- a/cert_mgr_service/services/core/include/network/cert_network.h +++ b/cert_mgr_service/services/core/include/network/cert_network.h @@ -72,7 +72,7 @@ Content-Length: %d\r\n\r\n") (httpPacket).reqXclientID, (httpPacket).reqXtraceID, \ (httpPacket).reqXappID, (httpPacket).reqXtenantID, (httpPacket).reqContentLength -DevicePacket* CreateDevicePacket(); +DevicePacket* CreateDevicePacket(void); void DestroyDevicePacket(DevicePacket** devicePacket); diff --git a/cert_mgr_service/services/core/include/utils/cert_utils_file.h b/cert_mgr_service/services/core/include/utils/cert_utils_file.h index 64f6f5196fed8d8b303ced7091647750e4af6e8e..6651c05a94a9082964d70841f62d2d64a7f3c053 100644 --- a/cert_mgr_service/services/core/include/utils/cert_utils_file.h +++ b/cert_mgr_service/services/core/include/utils/cert_utils_file.h @@ -22,6 +22,12 @@ extern "C" { #endif #endif /* __cplusplus */ +#ifdef __CERT_L0_DEVICE__ +#define CERT_L0_DEVICE_STUB_FLAG true +#else +#define CERT_L0_DEVICE_STUB_FLAG false +#endif + char* GenFilePath(const char* dirPath, const char* fileName); int32_t GetFileSize(const char* path, const char* fileName, uint32_t* result); @@ -35,6 +41,8 @@ int32_t CreateFile(const char* path, const char* fileName); bool IsFileExist(const char* path, const char* fileName); int32_t ReadFileBuffer(const char* path, const char* fileName, char** jsonStr); +bool IsOverTemperatureLimit(void); + #ifdef __cplusplus #if __cplusplus } diff --git a/cert_mgr_service/services/core/include/utils/cert_utils_log.h b/cert_mgr_service/services/core/include/utils/cert_utils_log.h index 9a93a7b0e01ac7f1ff7adc6870d6fc93e9c29c38..a2f336af872e45756bbca545a2eec112b37ad05a 100644 --- a/cert_mgr_service/services/core/include/utils/cert_utils_log.h +++ b/cert_mgr_service/services/core/include/utils/cert_utils_log.h @@ -16,7 +16,11 @@ #ifndef __CERT_UTILS_LOG_H__ #define __CERT_UTILS_LOG_H__ +#ifndef __CERT_L0_DEVICE__ #include "hilog/log.h" +#else +#include "hilog_lite/log.h" +#endif #ifdef __cplusplus #if __cplusplus @@ -24,35 +28,35 @@ extern "C" { #endif #endif /* __cplusplus */ -typedef enum { + typedef enum { CERT_LOG_LEVEL_DEBUG = 0, CERT_LOG_LEVEL_INFO, CERT_LOG_LEVEL_WARN, CERT_LOG_LEVEL_ERROR, CERT_LOG_LEVEL_FATAL, -} CertLogLevel; + } CertLogLevel; -#define CERT_LOG_STR_LEM 1024 +#define CERT_LOG_STR_LEM 1024 #define CERTLOG_LABEL "CERTMGR" void CertLog(CertLogLevel logLevel, const char* fmt, ...); -#define CERT_LOG_DEBUG(d_fmt, d_args...) CertLog(CERT_LOG_LEVEL_DEBUG, d_fmt, ##d_args) -#define CERT_LOG_INFO(d_fmt, d_args...) CertLog(CERT_LOG_LEVEL_INFO, d_fmt, ##d_args) -#define CERT_LOG_WARN(d_fmt, d_args...) CertLog(CERT_LOG_LEVEL_WARN, d_fmt, ##d_args) -#define CERT_LOG_ERROR(d_fmt, d_args...) CertLog(CERT_LOG_LEVEL_ERROR, d_fmt, ##d_args) -#define CERT_LOG_FATAL(d_fmt, d_args...) CertLog(CERT_LOG_LEVEL_FATAL, d_fmt, ##d_args) +#define CERT_LOG_DEBUG(d_fmt, d_args...) CertLog( CERT_LOG_LEVEL_DEBUG, d_fmt, ##d_args) +#define CERT_LOG_INFO(d_fmt, d_args...) CertLog( CERT_LOG_LEVEL_INFO, d_fmt, ##d_args) +#define CERT_LOG_WARN(d_fmt, d_args...) CertLog( CERT_LOG_LEVEL_WARN, d_fmt, ##d_args) +#define CERT_LOG_ERROR(d_fmt, d_args...) CertLog( CERT_LOG_LEVEL_ERROR, d_fmt, ##d_args) +#define CERT_LOG_FATAL(d_fmt, d_args...) CertLog( CERT_LOG_LEVEL_FATAL, d_fmt, ##d_args) void CertLogAnonyStr(CertLogLevel logLevel, const char* fmt, const char* str); -#define CERT_LOG_DEBUG_ANONY(d_fmt, d_str) CertLogAnonyStr(CERT_LOG_LEVEL_DEBUG, d_fmt, d_str) -#define CERT_LOG_INFO_ANONY(d_fmt, d_str) CertLogAnonyStr(CERT_LOG_LEVEL_INFO, d_fmt, d_str) -#define CERT_LOG_WARN_ANONY(d_fmt, d_str) CertLogAnonyStr(CERT_LOG_LEVEL_WARN, d_fmt, d_str) -#define CERT_LOG_ERROR_ANONY(d_fmt, d_str) CertLogAnonyStr(CERT_LOG_LEVEL_ERROR, d_fmt, d_str) -#define CERT_LOG_FATAL_ANONY(d_fmt, d_str) CertLogAnonyStr(CERT_LOG_LEVEL_FATAL, d_fmt, d_str) +#define CERT_LOG_DEBUG_ANONY(d_fmt, d_str) CertLogAnonyStr( CERT_LOG_LEVEL_DEBUG, d_fmt, d_str) +#define CERT_LOG_INFO_ANONY(d_fmt, d_str) CertLogAnonyStr( CERT_LOG_LEVEL_INFO, d_fmt, d_str) +#define CERT_LOG_WARN_ANONY(d_fmt, d_str) CertLogAnonyStr( CERT_LOG_LEVEL_WARN, d_fmt, d_str) +#define CERT_LOG_ERROR_ANONY(d_fmt, d_str) CertLogAnonyStr( CERT_LOG_LEVEL_ERROR, d_fmt, d_str) +#define CERT_LOG_FATAL_ANONY(d_fmt, d_str) CertLogAnonyStr( CERT_LOG_LEVEL_FATAL, d_fmt, d_str) -#define CERT_LOG_NSPRINT(d_curBuffer, d_curLen, d_maxLen, d_format, d_args...) do { \ +#define CERT_LOG_NSPRINT(d_curBuffer, d_curLen, d_maxLen, d_format, d_args...) do { \ if ((d_curLen) < ((d_maxLen)-1)) { \ (d_curLen) += snprintf_s((d_curBuffer + d_curLen), (uint32_t)((d_maxLen) - (d_curLen)), \ ((uint32_t)((d_maxLen) - (d_curLen)) - 1), (d_format), ##d_args); \ diff --git a/cert_mgr_service/services/core/network/cert_network.c b/cert_mgr_service/services/core/network/cert_network.c index 79b581013c184931d60c95bccccc9f8c5cbd4509..145202b72077f586b9e72c5a955bd72ff492b1b6 100644 --- a/cert_mgr_service/services/core/network/cert_network.c +++ b/cert_mgr_service/services/core/network/cert_network.c @@ -26,15 +26,16 @@ #include #include -#include "openssl/ssl.h" -#include "openssl/crypto.h" -#include "openssl/rand.h" -#include "openssl/err.h" -#include "openssl/sha.h" +// #include "openssl/ssl.h" +// #include "openssl/crypto.h" +// #include "openssl/rand.h" +// #include "openssl/err.h" +// #include "openssl/sha.h" #include "cJSON.h" #include "securec.h" +#include "mbedtls/sha256.h" #include "cert_utils_log.h" #include "cert_utils.h" #include "cert_type.h" @@ -65,7 +66,7 @@ char *g_uriPath[CERT_ACTION_MAX] = { "/wisedevice/device-policy/v3/token/activate", }; -DevicePacket* CreateDevicePacket() +DevicePacket* CreateDevicePacket(void) { DevicePacket* devicePacket = (DevicePacket *)CERT_MEM_MALLOC(sizeof(DevicePacket)); if (devicePacket == NULL) { @@ -116,33 +117,34 @@ void DestroyDevicePacket(DevicePacket** devPacket) CERT_MEM_FREE(*devPacket); } -static int32_t Sha256Udid(char *udid, char *outStr) -{ - unsigned char hash[HTTPS_NETWORK_SHA256_LEN]; - SHA256_CTX sha256; - if (udid == NULL || outStr == NULL) { - CERT_LOG_ERROR("[Sha256Udid] Invalid parameter"); - return -1; - } +// static int32_t Sha256Udid(char *udid, char *outStr) +// { +// unsigned char hash[HTTPS_NETWORK_SHA256_LEN]; + // SHA256_CTX sha256; +// if (udid == NULL || outStr == NULL) { +// CERT_LOG_ERROR("[Sha256Udid] Invalid parameter"); +// return -1; +// } - SHA256_Init(&sha256); - SHA256_Update(&sha256, udid, strlen(udid)); - SHA256_Final(hash, &sha256); - - uint32_t curLen = 0; - for (int32_t i = 0; i < strlen((char *)hash); i++) { - if (curLen > (HTTPS_NETWORK_SHA256_LEN - 1)) { - CERT_LOG_ERROR("[Sha256Udid] CurLen(%d) is more than maxLen(%d).", curLen, HTTPS_NETWORK_SHA256_LEN); - return CERT_OK; - } - curLen += snprintf_s((char *)&outStr[i << 1], (uint32_t)(HTTPS_NETWORK_SHA256_LEN - curLen), - (uint32_t)(HTTPS_NETWORK_SHA256_LEN - curLen) - 1, "%02x", hash[i]); - } - - CERT_LOG_DEBUG_ANONY("[Sha256Udid] udid = %s", udid); - CERT_LOG_DEBUG_ANONY("[Sha256Udid] SHA(udid)=%s", outStr); - return CERT_OK; -} +// // SHA256_Init(&sha256); +// // SHA256_Update(&sha256, udid, strlen(udid)); +// // SHA256_Final(hash, &sha256); + + +// uint32_t curLen = 0; +// for (int32_t i = 0; i < strlen((char *)hash); i++) { +// if (curLen > (HTTPS_NETWORK_SHA256_LEN - 1)) { +// CERT_LOG_ERROR("[Sha256Udid] CurLen(%d) is more than maxLen(%d).", curLen, HTTPS_NETWORK_SHA256_LEN); +// return CERT_OK; +// } +// curLen += snprintf_s((char *)&outStr[i << 1], (uint32_t)(HTTPS_NETWORK_SHA256_LEN - curLen), +// (uint32_t)(HTTPS_NETWORK_SHA256_LEN - curLen) - 1, "%02x", hash[i]); +// } + +// CERT_LOG_DEBUG_ANONY("[Sha256Udid] udid = %s", udid); +// CERT_LOG_DEBUG_ANONY("[Sha256Udid] SHA(udid)=%s", outStr); +// return CERT_OK; +// } static int32_t SetSocketCliented(char* udid, char **outClientId) { @@ -162,7 +164,9 @@ static int32_t SetSocketCliented(char* udid, char **outClientId) CERT_LOG_ERROR("[SetSocketCliented] clientId CERT MEM MALLOC failed"); return CERT_ERR; } - retCode = Sha256Udid(udid, clientId); + // retCode = Sha256Udid(udid, clientId); + clientId = "0000cierra999"; + retCode = 0; if (retCode != CERT_OK) { CERT_LOG_ERROR("[SetSocketCliented] SHA256 uid fail, ret = %d.\n", retCode); CERT_MEM_FREE(clientId); @@ -253,200 +257,200 @@ static int32_t InitReqHost(HttpPacket *msgHttpPack) return CERT_OK; } -static int32_t InitSocketClient(int32_t *socketFd) -{ - int32_t retCode; - int32_t sockfd = 0; - int32_t bufLen = HTTPS_NETWORK_BUFFER_LEN; - struct sockaddr_in srvAddr = { 0 }; - struct hostent *srvHost = NULL; - struct timeval timeout = {60, 0}; - HttpPacket msgHttpPack = { 0 }; - - if (socketFd == NULL) { - CERT_LOG_ERROR("[InitSocketClient] InitSocket Parameter is NULL \n"); - return CERT_ERR; - } - - sockfd = socket(AF_INET, SOCK_STREAM, 0); - if (sockfd < 0) { - CERT_LOG_ERROR("[InitSocketClient] InitSocket create socket fail \n"); - return CERT_ERR; - } - - /* 获取网络基础数据 */ - retCode = InitReqHost(&msgHttpPack); - if (retCode != CERT_OK) { - CERT_LOG_ERROR("[InitSocketClient] Init Request Host failed \n"); - return retCode; - } - - srvHost = gethostbyname(msgHttpPack.reqHost); - if (srvHost == NULL) { - CERT_LOG_ERROR("[InitSocketClient] InitSocket gethost %s fail, error:%d\n", msgHttpPack.reqHost, h_errno); - return CERT_ERR; - } - - retCode = memset_s(&srvAddr, sizeof(struct sockaddr), 0, sizeof(struct sockaddr)); - if (retCode != CERT_OK) { - CERT_LOG_ERROR("[InitSocketClient] memset_s srv Addr failed \n"); - return retCode; - } - - srvAddr.sin_family = AF_INET; - srvAddr.sin_port = htons(msgHttpPack.reqPort); - srvAddr.sin_addr = *((struct in_addr *)srvHost->h_addr); - if (connect(sockfd, (struct sockaddr *)&srvAddr, sizeof(struct sockaddr)) < 0) { - CERT_LOG_ERROR("[InitSocketClient] InitSocket connect fail, \n"); - return CERT_ERR; - } - - /* 设置socket连接的一些属性,超时时间,发送缓冲区Buffer等 */ - if (setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, (const char *)&timeout, sizeof(timeout)) < 0) { - CERT_LOG_ERROR("[InitSocketClient] Setsockopt send timeout fail\n"); - return CERT_ERR; - } - - if (setsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, (const char *)&bufLen, 4) < 0) { - CERT_LOG_ERROR("[InitSocketClient] Setsockopt sendbuffer fail\n"); - return CERT_ERR; - } - - if (setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (const char *)&timeout, sizeof(timeout)) < 0) { - CERT_LOG_ERROR("[InitSocketClient] Setsockopt rcv fail\n"); - return CERT_ERR; - } - - *socketFd = sockfd; - return CERT_OK; -} - -static int32_t InitSSLSocket(int32_t socketFd, SSL **socketSSL) -{ - int32_t retCode; - SSL_CTX *socketCTX = NULL; - char *caFile = "/etc/ssl/certs/cacert.pem"; - - SSL_library_init(); - OpenSSL_add_ssl_algorithms(); - SSL_load_error_strings(); - - socketCTX = SSL_CTX_new(SSLv23_client_method()); - if (socketCTX == NULL) { - CERT_LOG_ERROR("[InitSSLSocket] SSL CTX create failed"); - return CERT_ERR; - } - - do { - /* 设置根证书检验 */ - SSL_CTX_set_verify(socketCTX, SSL_VERIFY_PEER, NULL); - retCode = SSL_CTX_load_verify_locations(socketCTX, caFile, NULL); - if (retCode != SSL_OK) { - CERT_LOG_ERROR("[InitSSLSocket] InitSSL load_verify fail \n"); - break; - } - /* 设置和服务器端进行协商的算法套件 */ - SSL_CTX_set_cipher_list(socketCTX, "ALL:!EXP"); - SSL_CTX_set_mode(socketCTX, SSL_MODE_AUTO_RETRY); - *socketSSL = SSL_new(socketCTX); - if (*socketSSL == NULL) { - break; - } - } while (0); - SSL_CTX_free(socketCTX); - - retCode = SSL_set_fd(*socketSSL, socketFd); - if (retCode != SSL_OK) { - CERT_LOG_ERROR("[InitSSLSocket] InitSSL SSL_set_fd fail, retCode=%d \n", retCode); - return CERT_ERR; - } - - retCode = SSL_connect(*socketSSL); - if (retCode != SSL_OK) { - CERT_LOG_ERROR("[InitSSLSocket] InitSSL SSL_connect fail, retCode=%d \n", retCode); - return CERT_ERR; - } - - return CERT_OK; -} - -static int32_t SendSSL(SSL *socketSSL, char *postData, int32_t postDataLen) -{ - int32_t retCode; - int32_t writeCnt; - int32_t sendCnt = 0; - - while (sendCnt < postDataLen) { - writeCnt = SSL_write(socketSSL, postData + sendCnt, postDataLen - sendCnt); - retCode = SSL_get_error(socketSSL, writeCnt); - if (retCode == SSL_ERROR_NONE) { - if (writeCnt > 0) { - sendCnt += writeCnt; - continue; - } else { - CERT_LOG_ERROR("[SendSSL] SendSSL fail, writeCnt=%d \n", writeCnt); - } - } else if (retCode == SSL_ERROR_WANT_READ) { - continue; - } else if (retCode == SSL_ERROR_WANT_WRITE) { - continue; - } else { - CERT_LOG_ERROR("[SendSSL] SendSSL fail, retCode=%d \n", retCode); - break; - } - } - return sendCnt; -} - -static int32_t RecvSSL(SSL *socketSSL, char **outMsg) -{ - char *respData = (char*)CERT_MEM_MALLOC(HTTPS_NETWORK_RESPONSE_MAXLEN); - if (respData == NULL) { - CERT_LOG_ERROR("[RecvSSL] respData CERT MEM MALLOC failed"); - return CERT_ERR; - } - int32_t readCnt = SSL_read(socketSSL, respData, HTTPS_NETWORK_RESPONSE_MAXLEN); - int32_t retCode = SSL_get_error(socketSSL, readCnt); - /* resData的内存申请门限是大于实际读取的值,如果超过说明数据己不准确 */ - if ((retCode == SSL_ERROR_NONE) && (readCnt < HTTPS_NETWORK_RESPONSE_MAXLEN)) { - *outMsg = respData; - return CERT_OK; - } - - CERT_LOG_ERROR("[RecvSSL]RecvSSL fail, retCode=%d \n", retCode); - CERT_MEM_FREE(respData); - return CERT_ERR; -} - -static int32_t VerifySSLCA(SSL *postSSL) -{ - int32_t retCode; - char *outputCert = NULL; - X509 *srvCert = NULL; - - retCode = SSL_get_verify_result(postSSL); - if (retCode != X509_V_OK) { - CERT_LOG_ERROR("[VerifySSLCA] VerifySSLCA X509 fail, retCode=%d\n%s\n", retCode, \ - X509_verify_cert_error_string(retCode)); - return CERT_ERR; - } - - srvCert = SSL_get_peer_certificate(postSSL); - if (srvCert == NULL) { - CERT_LOG_ERROR("[VerifySSLCA] VerifySSLCA get cert X509 fail"); - return CERT_ERR; - } - - outputCert = X509_NAME_oneline(X509_get_subject_name(srvCert), 0, 0); - free(outputCert); - - outputCert = X509_NAME_oneline(X509_get_issuer_name(srvCert), 0, 0); - free(outputCert); - - X509_free(srvCert); - - return CERT_OK; -} +// static int32_t InitSocketClient(int32_t *socketFd) +// { +// int32_t retCode; +// int32_t sockfd = 0; +// int32_t bufLen = HTTPS_NETWORK_BUFFER_LEN; +// struct sockaddr_in srvAddr = { 0 }; +// struct hostent *srvHost = NULL; +// struct timeval timeout = {60, 0}; +// HttpPacket msgHttpPack = { 0 }; + +// if (socketFd == NULL) { +// CERT_LOG_ERROR("[InitSocketClient] InitSocket Parameter is NULL \n"); +// return CERT_ERR; +// } + +// sockfd = socket(AF_INET, SOCK_STREAM, 0); +// if (sockfd < 0) { +// CERT_LOG_ERROR("[InitSocketClient] InitSocket create socket fail \n"); +// return CERT_ERR; +// } + +// /* 获取网络基础数据 */ +// retCode = InitReqHost(&msgHttpPack); +// if (retCode != CERT_OK) { +// CERT_LOG_ERROR("[InitSocketClient] Init Request Host failed \n"); +// return retCode; +// } + +// srvHost = gethostbyname(msgHttpPack.reqHost); +// if (srvHost == NULL) { +// CERT_LOG_ERROR("[InitSocketClient] InitSocket gethost %s fail, error:%d\n", msgHttpPack.reqHost, h_errno); +// return CERT_ERR; +// } + +// retCode = memset_s(&srvAddr, sizeof(struct sockaddr), 0, sizeof(struct sockaddr)); +// if (retCode != CERT_OK) { +// CERT_LOG_ERROR("[InitSocketClient] memset_s srv Addr failed \n"); +// return retCode; +// } + +// srvAddr.sin_family = AF_INET; +// srvAddr.sin_port = htons(msgHttpPack.reqPort); +// srvAddr.sin_addr = *((struct in_addr *)srvHost->h_addr); +// if (connect(sockfd, (struct sockaddr *)&srvAddr, sizeof(struct sockaddr)) < 0) { +// CERT_LOG_ERROR("[InitSocketClient] InitSocket connect fail, \n"); +// return CERT_ERR; +// } + +// /* 设置socket连接的一些属性,超时时间,发送缓冲区Buffer等 */ +// if (setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, (const char *)&timeout, sizeof(timeout)) < 0) { +// CERT_LOG_ERROR("[InitSocketClient] Setsockopt send timeout fail\n"); +// return CERT_ERR; +// } + +// if (setsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, (const char *)&bufLen, 4) < 0) { +// CERT_LOG_ERROR("[InitSocketClient] Setsockopt sendbuffer fail\n"); +// return CERT_ERR; +// } + +// if (setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (const char *)&timeout, sizeof(timeout)) < 0) { +// CERT_LOG_ERROR("[InitSocketClient] Setsockopt rcv fail\n"); +// return CERT_ERR; +// } + +// *socketFd = sockfd; +// return CERT_OK; +// } + +// static int32_t InitSSLSocket(int32_t socketFd, SSL **socketSSL) +// { +// int32_t retCode; +// SSL_CTX *socketCTX = NULL; +// char *caFile = "/etc/ssl/certs/cacert.pem"; + +// SSL_library_init(); +// OpenSSL_add_ssl_algorithms(); +// SSL_load_error_strings(); + +// socketCTX = SSL_CTX_new(SSLv23_client_method()); +// if (socketCTX == NULL) { +// CERT_LOG_ERROR("[InitSSLSocket] SSL CTX create failed"); +// return CERT_ERR; +// } + +// do { +// /* 设置根证书检验 */ +// SSL_CTX_set_verify(socketCTX, SSL_VERIFY_PEER, NULL); +// retCode = SSL_CTX_load_verify_locations(socketCTX, caFile, NULL); +// if (retCode != SSL_OK) { +// CERT_LOG_ERROR("[InitSSLSocket] InitSSL load_verify fail \n"); +// break; +// } +// /* 设置和服务器端进行协商的算法套件 */ +// SSL_CTX_set_cipher_list(socketCTX, "ALL:!EXP"); +// SSL_CTX_set_mode(socketCTX, SSL_MODE_AUTO_RETRY); +// *socketSSL = SSL_new(socketCTX); +// if (*socketSSL == NULL) { +// break; +// } +// } while (0); +// SSL_CTX_free(socketCTX); + +// retCode = SSL_set_fd(*socketSSL, socketFd); +// if (retCode != SSL_OK) { +// CERT_LOG_ERROR("[InitSSLSocket] InitSSL SSL_set_fd fail, retCode=%d \n", retCode); +// return CERT_ERR; +// } + +// retCode = SSL_connect(*socketSSL); +// if (retCode != SSL_OK) { +// CERT_LOG_ERROR("[InitSSLSocket] InitSSL SSL_connect fail, retCode=%d \n", retCode); +// return CERT_ERR; +// } + +// return CERT_OK; +// } + +// static int32_t SendSSL(SSL *socketSSL, char *postData, int32_t postDataLen) +// { +// int32_t retCode; +// int32_t writeCnt; +// int32_t sendCnt = 0; + +// while (sendCnt < postDataLen) { +// writeCnt = SSL_write(socketSSL, postData + sendCnt, postDataLen - sendCnt); +// retCode = SSL_get_error(socketSSL, writeCnt); +// if (retCode == SSL_ERROR_NONE) { +// if (writeCnt > 0) { +// sendCnt += writeCnt; +// continue; +// } else { +// CERT_LOG_ERROR("[SendSSL] SendSSL fail, writeCnt=%d \n", writeCnt); +// } +// } else if (retCode == SSL_ERROR_WANT_READ) { +// continue; +// } else if (retCode == SSL_ERROR_WANT_WRITE) { +// continue; +// } else { +// CERT_LOG_ERROR("[SendSSL] SendSSL fail, retCode=%d \n", retCode); +// break; +// } +// } +// return sendCnt; +// } + +// static int32_t RecvSSL(SSL *socketSSL, char **outMsg) +// { +// char *respData = (char*)CERT_MEM_MALLOC(HTTPS_NETWORK_RESPONSE_MAXLEN); +// if (respData == NULL) { +// CERT_LOG_ERROR("[RecvSSL] respData CERT MEM MALLOC failed"); +// return CERT_ERR; +// } +// int32_t readCnt = SSL_read(socketSSL, respData, HTTPS_NETWORK_RESPONSE_MAXLEN); +// int32_t retCode = SSL_get_error(socketSSL, readCnt); +// /* resData的内存申请门限是大于实际读取的值,如果超过说明数据己不准确 */ +// if ((retCode == SSL_ERROR_NONE) && (readCnt < HTTPS_NETWORK_RESPONSE_MAXLEN)) { +// *outMsg = respData; +// return CERT_OK; +// } + +// CERT_LOG_ERROR("[RecvSSL]RecvSSL fail, retCode=%d \n", retCode); +// CERT_MEM_FREE(respData); +// return CERT_ERR; +// } + +// static int32_t VerifySSLCA(SSL *postSSL) +// { +// int32_t retCode; +// char *outputCert = NULL; +// X509 *srvCert = NULL; + +// retCode = SSL_get_verify_result(postSSL); +// if (retCode != X509_V_OK) { +// CERT_LOG_ERROR("[VerifySSLCA] VerifySSLCA X509 fail, retCode=%d\n%s\n", retCode, \ +// X509_verify_cert_error_string(retCode)); +// return CERT_ERR; +// } + +// srvCert = SSL_get_peer_certificate(postSSL); +// if (srvCert == NULL) { +// CERT_LOG_ERROR("[VerifySSLCA] VerifySSLCA get cert X509 fail"); +// return CERT_ERR; +// } + +// outputCert = X509_NAME_oneline(X509_get_subject_name(srvCert), 0, 0); +// free(outputCert); + +// outputCert = X509_NAME_oneline(X509_get_issuer_name(srvCert), 0, 0); +// free(outputCert); + +// X509_free(srvCert); + +// return CERT_OK; +// } static int32_t BuildHttpsHead(DevicePacket *devValue, int32_t reqBodyLen, CERT_ACTION_TYPE action, char **headData) { @@ -781,56 +785,57 @@ static int32_t GenHttpsMsg(DevicePacket *devPacket, CERT_ACTION_TYPE actionType, return CERT_OK; } -static int32_t SendHttpsMsg(char *postData, char **respData) -{ - /* 判断入参合法性 */ - if (postData == NULL || respData == NULL) { - CERT_LOG_ERROR("[SendHttpsMsg] Invalid parameter."); - return CERT_ERR; - } - int32_t ret; - int32_t socketFd = -1; - SSL *postSSL = NULL; - do { - ret = InitSocketClient(&socketFd); - if (ret != CERT_OK) { - CERT_LOG_ERROR("[SendHttpsMsg] Init Socket Client is fail, ret = %d.", ret); - break; - } - - ret = InitSSLSocket(socketFd, &postSSL); - if (ret != CERT_OK) { - CERT_LOG_ERROR("[SendHttpsMsg] Init SSL Socket is fail, ret = %d.", ret); - break; - } - /* CA证书检验 */ - ret = VerifySSLCA(postSSL); - if (ret != CERT_OK) { - CERT_LOG_ERROR("[SendHttpsMsg] Verify SSL CA is fail, ret = %d.", ret); - break; - } - /* 发送数据请求 */ - int32_t postDataLen = strlen(postData) + 1; - int32_t writeCnt = SendSSL(postSSL, postData, postDataLen); - if (writeCnt != postDataLen) { - CERT_LOG_ERROR("[SendHttpsMsg] Send SSL failed, needLen = %d, realLen = %d\n", postDataLen, writeCnt); - break; - } - /* 返回请求结果 */ - ret = RecvSSL(postSSL, respData); - if (ret != CERT_OK) { - CERT_LOG_ERROR("[SendHttpsMsg] HttpsPost RecvSSL is fail, ret = %d.", ret); - break; - } - } while (0); - if (socketFd != -1) { - close(socketFd); - } - if (postSSL != NULL) { - SSL_free(postSSL); - } - return ret; -} +// static int32_t SendHttpsMsg(char *postData, char **respData) +// { +// /* 判断入参合法性 */ +// if (postData == NULL || respData == NULL) { +// CERT_LOG_ERROR("[SendHttpsMsg] Invalid parameter."); +// return CERT_ERR; +// } +// int32_t ret; +// int32_t socketFd = -1; +// // SSL *postSSL = NULL; +// do { +// ret = InitSocketClient(&socketFd); +// if (ret != CERT_OK) { +// CERT_LOG_ERROR("[SendHttpsMsg] Init Socket Client is fail, ret = %d.", ret); +// break; +// } + +// // ret = InitSSLSocket(socketFd, &postSSL); +// ret = 0; +// if (ret != CERT_OK) { +// CERT_LOG_ERROR("[SendHttpsMsg] Init SSL Socket is fail, ret = %d.", ret); +// break; +// } +// /* CA证书检验 */ +// // ret = VerifySSLCA(postSSL); +// if (ret != CERT_OK) { +// CERT_LOG_ERROR("[SendHttpsMsg] Verify SSL CA is fail, ret = %d.", ret); +// break; +// } +// /* 发送数据请求 */ +// int32_t postDataLen = strlen(postData) + 1; +// // int32_t writeCnt = SendSSL(postSSL, postData, postDataLen); +// if (writeCnt != postDataLen) { +// CERT_LOG_ERROR("[SendHttpsMsg] Send SSL failed, needLen = %d, realLen = %d\n", postDataLen, writeCnt); +// break; +// } +// /* 返回请求结果 */ +// ret = RecvSSL(postSSL, respData); +// if (ret != CERT_OK) { +// CERT_LOG_ERROR("[SendHttpsMsg] HttpsPost RecvSSL is fail, ret = %d.", ret); +// break; +// } +// } while (0); +// if (socketFd != -1) { +// close(socketFd); +// } +// if (postSSL != NULL) { +// SSL_free(postSSL); +// } +// return ret; +// } static int32_t ParseHttpsRespIntPara(char *respMsg, int32_t httpType, int32_t *intPara) { diff --git a/cert_mgr_service/services/core/utils/cert_utils.c b/cert_mgr_service/services/core/utils/cert_utils.c index a77cf01a14b6452c928507515f1eadafca3b2f36..ee3f2aa8d0d3cfa53e043adbbe7feec217bbe93b 100644 --- a/cert_mgr_service/services/core/utils/cert_utils.c +++ b/cert_mgr_service/services/core/utils/cert_utils.c @@ -43,7 +43,9 @@ int32_t GetRandomNum() } while (0); mbedtls_ctr_drbg_free(&randomContext); mbedtls_entropy_free(&randomEntropy); + return ABS(random); + } char* CertStrdup(const char* input) @@ -192,12 +194,12 @@ int32_t StrToHex(char *pbDest, char *pbSrc, int nLen) int Sha256Value(const unsigned char *src, char *dest, int destLen) { const int DEV_BUF_LENGTH = 3; - const int HASH_LENGTH = 32; + const unsigned int HASH_LENGTH = 32; if (src == NULL) { return CERT_ERR; } - char buf[DEV_BUF_LENGTH] = { 0 }; - unsigned char hash[HASH_LENGTH] = { 0 }; + char buf[DEV_BUF_LENGTH]; + unsigned char hash[HASH_LENGTH]; mbedtls_sha256_context context; mbedtls_sha256_init(&context); diff --git a/cert_mgr_service/services/core/utils/cert_utils_file.c b/cert_mgr_service/services/core/utils/cert_utils_file.c index 77167d725bdc057f791963059420c3c907da4e36..5873dc4b2952d04cae703f080d796434e8b79936 100644 --- a/cert_mgr_service/services/core/utils/cert_utils_file.c +++ b/cert_mgr_service/services/core/utils/cert_utils_file.c @@ -16,6 +16,35 @@ #include "cert_utils_log.h" #include "cert_utils.h" #include "cert_utils_file.h" +#include "securec.h" +#include +#include +#include + +// CERT_L0_DEVICE_STUB_FLAG +#include "utils_file.h" +#include + +#define WRITE_FLASH_MAX_TEMPERATURE 80 +static const uint32_t MAX_FILE_BYTES_LIMIT = 5120; + +//L0 温度监控 +bool IsOverTemperatureLimit(void) +{ + hi_s16 temperature = 0; + int32_t ret = hi_tsensor_read_temperature(&temperature); + if (ret != HI_ERR_SUCCESS) { + ret = hi_tsensor_read_temperature(&temperature); + if (ret != HI_ERR_SUCCESS) { + printf("[IsOverTemperatureLimit]: Get temperature fail, ret = %d\n", ret); + return true; + } + } + printf("[IsOverTemperatureLimit]: device's temperature = %d\n", temperature); + return (temperature >= WRITE_FLASH_MAX_TEMPERATURE); +} + + char* GenFilePath(const char* dirPath, const char* fileName) { @@ -38,8 +67,95 @@ char* GenFilePath(const char* dirPath, const char* fileName) return filePath; } + +// L0 DEMO +static bool L0IsFileExist(const char* path) +{ + if (path == NULL) { + return false; + } + int32_t fd = UtilsFileOpen(path, O_RDONLY_FS, 0); + if (fd < 0) { + return false; + } + (void)UtilsFileClose(fd); + return true; +} + +static int32_t L0CreateFile(const char* path) +{ + if (path == NULL) { + return CERT_ERR; + } + int32_t fd = UtilsFileOpen(path, O_CREAT_FS, 0); + if (fd < 0) { + return CERT_ERR; + } + (void)UtilsFileClose(fd); + return CERT_OK; +} + +static int32_t L0WriteFile(const char* path, const char* data, uint32_t dataLen, int flag) +{ + if (path == NULL || data == NULL || dataLen == 0) { + return CERT_ERR; + } + if (dataLen > MAX_FILE_BYTES_LIMIT) { + return CERT_ERR; + } + if (IsOverTemperatureLimit()) { + return CERT_ERR; + } + int32_t fd = UtilsFileOpen(path, flag, 0); + if (fd < 0) { + printf("[WriteFile] : Open file failed\n"); + return CERT_ERR; + } + int ret = 0; + if(UtilsFileWrite(fd, data, dataLen) != (int32_t)dataLen){ + printf("[WriteFile] : Write data failed\n"); + ret = CERT_ERR; + } + (void)UtilsFileClose(fd); + return ret; + +} + +static int32_t L0ReadFile(const char* path, char* buffer, uint32_t bufferLen) +{ + if (path == NULL || buffer == NULL || bufferLen == 0) { + return CERT_ERR; + } + if (!L0IsFileExist(path)) { + return CERT_ERR; + } + uint32_t fileSize = 0; + if (UtilsFileStat(path, &fileSize)!= 0) { + return CERT_ERR; + } + if (fileSize > bufferLen) { + printf("[ReadFile] : Read data over buffer length\n"); + return CERT_ERR; + } + + int32_t fd = UtilsFileOpen(path, O_EXCL_FS | O_RDWR_FS, 0); + if (fd < 0) { + printf("[ReadFile] : Open file failed\n"); + return CERT_ERR; + } + int ret = 0; + if (UtilsFileRead(fd, buffer, bufferLen) != (int32_t)bufferLen) { + printf("[ReadFile] : Write data failed\n"); + ret = CERT_ERR; + } + (void)UtilsFileClose(fd); + return ret; + +} + int32_t GetFileSize(const char* path, const char* fileName, uint32_t* result) { + CERT_LOG_ERROR("[GetFileSize] demodemo\n"); if (path == NULL || fileName == NULL || result == NULL) { CERT_LOG_ERROR("[GetFileSize] Invalid parameter\n"); return CERT_ERR; @@ -51,6 +167,11 @@ int32_t GetFileSize(const char* path, const char* fileName, uint32_t* result) return CERT_ERR; } + // L0demo + if (CERT_L0_DEVICE_STUB_FLAG) { + return UtilsFileStat(fileName, result); + } + char* formatPath = realpath(filePath, NULL); CERT_MEM_FREE(filePath); if (formatPath == NULL) { @@ -89,6 +210,11 @@ int32_t WriteFile(const char* path, const char* fileName, const char* data, uint return CERT_ERR; } + // L0demo + if (CERT_L0_DEVICE_STUB_FLAG) { + return L0WriteFile(fileName, data, dataLen, O_CREAT_FS | O_TRUNC_FS | O_RDWR_FS); + } + char* formatPath = realpath(filePath, NULL); CERT_MEM_FREE(filePath); if (formatPath == NULL) { @@ -132,6 +258,11 @@ int32_t ReadFile(const char* path, const char* fileName, char* buffer, uint32_t return CERT_ERR; } + // L0demo + if (CERT_L0_DEVICE_STUB_FLAG) { + return L0ReadFile(fileName, buffer, bufferLen); + } + char* formatPath = realpath(filePath, NULL); CERT_MEM_FREE(filePath); if (formatPath == NULL) { @@ -162,6 +293,11 @@ int32_t CreateFile(const char* path, const char* fileName) return CERT_ERR; } + // L0demo + if (CERT_L0_DEVICE_STUB_FLAG) { + return L0CreateFile(fileName); + } + char* formatPath = realpath(path, NULL); if (formatPath == NULL) { CERT_LOG_ERROR("[CreateFile] Invalid path of %s or file %s not exist\n", path, fileName); @@ -203,6 +339,11 @@ bool IsFileExist(const char* path, const char* fileName) CERT_LOG_ERROR("[IsFileExist] Generate file path failed\n"); return false; } + // L0demo + if (CERT_L0_DEVICE_STUB_FLAG) { + return L0IsFileExist(fileName); + } + char* formatPath = realpath(filePath, NULL); CERT_MEM_FREE(filePath); if (formatPath == NULL) { diff --git a/cert_mgr_service/services/core/utils/cert_utils_log.c b/cert_mgr_service/services/core/utils/cert_utils_log.c index 86fe27d411ec8aabc9dfe9cdedfa61fbe03a222e..4003a8e2eea2bbc40a082e710e1d946979d02c15 100644 --- a/cert_mgr_service/services/core/utils/cert_utils_log.c +++ b/cert_mgr_service/services/core/utils/cert_utils_log.c @@ -22,32 +22,55 @@ static void CertLogPrint(CertLogLevel logLevel, const char *logBuf) { +#ifdef __CERT_L0_DEVICE__ + switch (logLevel) { + case CERT_LOG_LEVEL_DEBUG: + printf("%s%s\r\n", "[D]",logBuf); + break; + case CERT_LOG_LEVEL_INFO: + printf("%s%s\r\n", "[I]",logBuf); + break; + case CERT_LOG_LEVEL_WARN: + printf("%s%s\r\n", "[W]",logBuf); + break; + case CERT_LOG_LEVEL_ERROR: + printf("%s%s\r\n", "[E]",logBuf); + break; + case CERT_LOG_LEVEL_FATAL: + printf("%s%s\r\n", "[F]",logBuf); + break; + default: + break; + } + return; +#else LogLevel hiLogLevel = LOG_INFO; switch (logLevel) { - case CERT_LOG_LEVEL_DEBUG: + case CERT_LOG_LEVEL_DEBUG: hiLogLevel = LOG_DEBUG; break; - case CERT_LOG_LEVEL_INFO: + case CERT_LOG_LEVEL_INFO: hiLogLevel = LOG_INFO; break; - case CERT_LOG_LEVEL_WARN: + case CERT_LOG_LEVEL_WARN: hiLogLevel = LOG_WARN; break; - case CERT_LOG_LEVEL_ERROR: + case CERT_LOG_LEVEL_ERROR: hiLogLevel = LOG_ERROR; break; - case CERT_LOG_LEVEL_FATAL: + case CERT_LOG_LEVEL_FATAL: hiLogLevel = LOG_FATAL; break; default: break; } (void)HiLogPrint(LOG_CORE, hiLogLevel, 0xD001800, CERTLOG_LABEL, "%{public}s", logBuf); +#endif } void CertLog(CertLogLevel logLevel, const char* fmt, ...) { - char outStr[CERT_LOG_STR_LEM] = {0}; + char outStr[ CERT_LOG_STR_LEM] = {0}; va_list arg; va_start(arg, fmt); int32_t ret = vsprintf_s(outStr, sizeof(outStr), fmt, arg); @@ -74,7 +97,7 @@ void CertLogAnonyStr(CertLogLevel logLevel, const char* fmt, const char* str) CERT_MEM_FREE(strDup); return; } - char outStr[CERT_LOG_STR_LEM] = {0}; + char outStr[ CERT_LOG_STR_LEM] = {0}; ret = sprintf_s(outStr, sizeof(outStr), fmt, strDup); CERT_MEM_FREE(strDup); if (ret < 0) { diff --git a/cert_mgr_service/services/core/utils/cert_utils_memleak.c b/cert_mgr_service/services/core/utils/cert_utils_memleak.c index 4c4cffbe8b16b5a4584115dc37f72162fe9b5b8e..0b3d794d712b56909bc4cbd1bf5ba2c76049b580 100644 --- a/cert_mgr_service/services/core/utils/cert_utils_memleak.c +++ b/cert_mgr_service/services/core/utils/cert_utils_memleak.c @@ -15,7 +15,7 @@ #include "cert_type.h" #include "cert_utils_list.h" -#include "cert_utils_log.h" +// #include "cert_utils_log.h" #include "cert_utils_memleak.h" // 注意:该文件只调用本文件函数,禁止调用外部函数,避免出现循环依赖。 diff --git a/cert_mgr_service/services/etc/init/BUILD.gn b/cert_mgr_service/services/etc/init/BUILD.gn deleted file mode 100644 index a138f699359c223601d548469f41a2cbdc8bc39b..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/etc/init/BUILD.gn +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/ohos.gni") -import("//base/cert_mgr_service/build/certconfig.gni") - -group("cert_mgr_etc") { - deps = [ - ":cert_mgr_sa.rc", - ] -} - -ohos_prebuilt_etc("cert_mgr_sa.rc") { - if (use_musl) { - source = "cert_mgr_sa.cfg" - } else { - source = "cert_mgr_sa.rc" - } - relative_install_dir = "init" - subsystem_name = "certmanager" - part_name = "cert_mgr_standard" -} diff --git a/cert_mgr_service/services/etc/init/cert_mgr_sa.cfg b/cert_mgr_service/services/etc/init/cert_mgr_sa.cfg deleted file mode 100644 index 90e0c2ef1f03eb64a95c3f25ce278a5678520a6d..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/etc/init/cert_mgr_sa.cfg +++ /dev/null @@ -1,16 +0,0 @@ -{ - "jobs" : [{ - "name" : "post-fs-data", - "cmds" : [ - "start cert_mgr_server" - ] - } - ], - "services" : [{ - "name" : "cert_mgr_server", - "path" : ["/system/bin/sa_main", "/system/profile/cert_mgr_service.xml"], - "uid" : "root", - "gid" : ["system", "shell", "uhid", "root"] - } - ] -} diff --git a/cert_mgr_service/services/etc/init/cert_mgr_sa.rc b/cert_mgr_service/services/etc/init/cert_mgr_sa.rc deleted file mode 100644 index 6f2dbbf2b7986ca42b21443e12f03fff04ab95c5..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/etc/init/cert_mgr_sa.rc +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -service cert_mgr_server /system/bin/sa_main /system/profile/cert_mgr_service.xml - class z_core - user root - group system shell diff --git a/cert_mgr_service/services/oem_adapter/BUILD.gn b/cert_mgr_service/services/oem_adapter/BUILD.gn index 02b8de3cfa892351c9eafd3fe15f5ad313b03e54..bb498ded3515e030d06315942c23e118607a5d65 100644 --- a/cert_mgr_service/services/oem_adapter/BUILD.gn +++ b/cert_mgr_service/services/oem_adapter/BUILD.gn @@ -13,6 +13,8 @@ import("//build/ohos.gni") import("//base/cert_mgr_service/build/certconfig.gni") +import("//build/lite/config/component/lite_component.gni") + config("cert_mgr_oem_adapter_config") { visibility = [ ":*" ] @@ -21,13 +23,36 @@ config("cert_mgr_oem_adapter_config") { ] include_dirs = [ "include", + "//utils/native/lite/include", "${certmanager_path}/services/core/include", "${certmanager_path}/services/core/include/utils", "${certmanager_path}/services/oem_adapter/include", + "//third_party/bounds_checking_function/include", + "//third_party/cJSON", ] + + if (is_standard_system) { + external_deps = [ + "hiviewdfx_hilog_native:libhilog", + "utils_base:utils", + ] + subsystem_name = "certmanager" + part_name = "cert_mgr_standard" + } + + defines = [] + + if(is_liteos_m){ + defines += [ + "__CERT_L0_DEVICE__", + ] } -ohos_shared_library("cert_mgr_oem_adapter") { +} + +lite_library("cert_mgr_oem_adapter") { +target_type = lite_library_type + sources = [ "src/cert_mgr_oem_file.c", "src/cert_mgr_oem_adapter.c", @@ -38,14 +63,8 @@ ohos_shared_library("cert_mgr_oem_adapter") { ] deps = [ - "//third_party/cJSON:cjson_static", - "//utils/native/base:utils", - ] - - external_deps = [ - "hiviewdfx_hilog_native:libhilog", + # "//third_party/cJSON:cjson_static", + "//build/lite/config/component/cJSON:cjson_static", ] - subsystem_name = "certmanager" - part_name = "cert_mgr_standard" } diff --git a/cert_mgr_service/services/oem_adapter/include/cert_mgr_oem_file.h b/cert_mgr_service/services/oem_adapter/include/cert_mgr_oem_file.h index f5e6925a6f57a6623bf22891454223825b216f05..0851ef82de140fae70cd4f5ef2b0de41116f670e 100644 --- a/cert_mgr_service/services/oem_adapter/include/cert_mgr_oem_file.h +++ b/cert_mgr_service/services/oem_adapter/include/cert_mgr_oem_file.h @@ -20,13 +20,20 @@ #include #include #include +#include #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif /* __cplusplus */ - + +#ifdef __CERT_L0_DEVICE__ +#define CERT_L0_DEVICE_STUB_FLAG true +#else +#define CERT_L0_DEVICE_STUB_FLAG false +#endif + char* OEMGenFilePath(const char* dirPath, const char* fileName); int32_t OEMGetFileSize(const char* path, const char* fileName, uint32_t* result); @@ -39,6 +46,8 @@ int32_t OEMCreateFile(const char* path, const char* fileName); bool OEMIsFileExist(const char* path, const char* fileName); +bool OEMIsOverTemperatureLimit(void); + #ifdef __cplusplus #if __cplusplus } diff --git a/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_adapter.c b/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_adapter.c index 3b9a7a8edabacc0c7387ba1bf419d2a24b92dff4..751b850b64c5d7e39cf82b1ead4aed2cc3bbc509 100644 --- a/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_adapter.c +++ b/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_adapter.c @@ -47,7 +47,7 @@ int32_t OEMGetProductId(char* productId, uint32_t len) if ((productId == NULL) || (len == 0)) { return CERT_MGR_OEM_ERR; } - const char productIdBuf[] = "OH00000D"; + const char productIdBuf[] = "OH00000E"; uint32_t productIdLen = strlen(productIdBuf); if (len < productIdLen) { return CERT_MGR_OEM_ERR; diff --git a/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_file.c b/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_file.c index a057164b1f542da788faf6ca5a6f9e821d27e047..158e55dcf8df0100893df8d697e60938af107153 100644 --- a/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_file.c +++ b/cert_mgr_service/services/oem_adapter/src/cert_mgr_oem_file.c @@ -12,15 +12,38 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +#include #include #include "limits.h" #include "securec.h" #include "cert_mgr_oem_file.h" +#include "utils_file.h" +#include + +#define WRITE_FLASH_MAX_TEMPERATURE 80 +static const uint32_t MAX_FILE_BYTES_LIMIT = 5120; + #define CERT_MGR_OEM_OK 0 #define CERT_MGR_OEM_ERR -1 +// L0 温度监控 +bool OEMIsOverTemperatureLimit(void) +{ + hi_s16 temperature = 0; + int32_t ret = hi_tsensor_read_temperature(&temperature); + if (ret != HI_ERR_SUCCESS) { + ret = hi_tsensor_read_temperature(&temperature); + if (ret != HI_ERR_SUCCESS) { + printf("OEM Adapter: Get temperature fail, ret = %d\n", ret); + return true; + } + } + printf("OEM Adapter: device's temperature = %d\n", temperature); + return (temperature >= WRITE_FLASH_MAX_TEMPERATURE); + +} + char* OEMGenFilePath(const char* dirPath, const char* fileName) { if (dirPath == NULL || fileName == NULL) { @@ -43,6 +66,8 @@ char* OEMGenFilePath(const char* dirPath, const char* fileName) return filePath; } + + int32_t OEMGetFileSize(const char* path, const char* fileName, uint32_t* result) { if (path == NULL || fileName == NULL || result == NULL) { @@ -54,6 +79,10 @@ int32_t OEMGetFileSize(const char* path, const char* fileName, uint32_t* result) return CERT_MGR_OEM_ERR; } + if (CERT_L0_DEVICE_STUB_FLAG) { + return UtilsFileStat(fileName, result); + } + char* formatPath = realpath(filePath, NULL); if (formatPath == NULL) { return CERT_MGR_OEM_ERR; @@ -72,9 +101,96 @@ int32_t OEMGetFileSize(const char* path, const char* fileName, uint32_t* result) *result = ftell(fp); free(formatPath); fclose(fp); + + return CERT_MGR_OEM_OK; } +// L0 DEMO +static bool IsFileExist(const char* path) +{ + if (path == NULL) { + return false; + } + int32_t fd = UtilsFileOpen(path, O_RDONLY_FS, 0); + if (fd < 0) { + return false; + } + (void)UtilsFileClose(fd); + return true; +} + +static int32_t CreateFile(const char* path) +{ + if (path == NULL) { + return CERT_MGR_OEM_ERR; + } + int32_t fd = UtilsFileOpen(path, O_CREAT_FS, 0); + if (fd < 0) { + return CERT_MGR_OEM_ERR; + } + (void)UtilsFileClose(fd); + return CERT_MGR_OEM_OK; +} + +static int32_t WriteFile(const char* path, const char* data, uint32_t dataLen, int flag) +{ + if (path == NULL || data == NULL || dataLen == 0) { + return CERT_MGR_OEM_ERR; + } + if (dataLen > MAX_FILE_BYTES_LIMIT) { + return CERT_MGR_OEM_ERR; + } + if (OEMIsOverTemperatureLimit()) { + return CERT_MGR_OEM_ERR; + } + int32_t fd = UtilsFileOpen(path, flag, 0); + if (fd < 0) { + printf("OEM Adapter : Open file failed\n"); + return CERT_MGR_OEM_ERR; + } + int ret = 0; + if(UtilsFileWrite(fd,data,dataLen) != (int32_t)dataLen){ + printf("OEM Adapter : Write data failed\n"); + ret = CERT_MGR_OEM_ERR; + } + (void)UtilsFileClose(fd); + return ret; + +} + +static int32_t ReadFile(const char* path, char* buffer, uint32_t bufferLen) +{ + if (path == NULL || buffer == NULL || bufferLen == 0) { + return CERT_MGR_OEM_ERR; + } + if (!IsFileExist(path)) { + return CERT_MGR_OEM_ERR; + } + uint32_t fileSize = 0; + if (UtilsFileStat(path, &fileSize) != 0) { + return CERT_MGR_OEM_ERR; + } + if (fileSize > bufferLen) { + printf("OEM Adapter : Read data over buffer length\n"); + return CERT_MGR_OEM_ERR; + } + + int32_t fd = UtilsFileOpen(path, O_EXCL_FS | O_RDWR_FS, 0); + if (fd < 0) { + printf("OEM Adapter : Open file failed\n"); + return CERT_MGR_OEM_ERR; + } + int ret = 0; + if (UtilsFileRead(fd, buffer, bufferLen) != (int32_t)bufferLen) { + printf("OEM Adapter : Write data failed\n"); + ret = CERT_MGR_OEM_ERR; + } + (void)UtilsFileClose(fd); + return ret; + +} + int32_t OEMWriteFile(const char* path, const char* fileName, const char* data, uint32_t dataLen) { if (path == NULL || fileName == NULL || data == NULL || dataLen == 0) { @@ -86,6 +202,10 @@ int32_t OEMWriteFile(const char* path, const char* fileName, const char* data, u return CERT_MGR_OEM_ERR; } + if (CERT_L0_DEVICE_STUB_FLAG) { + return WriteFile(fileName, data, dataLen, O_CREAT_FS | O_TRUNC_FS | O_RDWR_FS); + } + char* formatPath = realpath(filePath, NULL); free(filePath); if (formatPath == NULL) { @@ -104,6 +224,7 @@ int32_t OEMWriteFile(const char* path, const char* fileName, const char* data, u } free(formatPath); fclose(fp); + return CERT_MGR_OEM_OK; } @@ -123,6 +244,10 @@ int32_t OEMReadFile(const char* path, const char* fileName, char* buffer, uint32 return CERT_MGR_OEM_ERR; } + if (CERT_L0_DEVICE_STUB_FLAG) { + return ReadFile(fileName, buffer, bufferLen); + } + char* formatPath = realpath(filePath, NULL); free(filePath); if (formatPath == NULL) { @@ -141,7 +266,9 @@ int32_t OEMReadFile(const char* path, const char* fileName, char* buffer, uint32 } free(formatPath); fclose(fp); - return CERT_MGR_OEM_OK; + + return CERT_MGR_OEM_OK; + } int32_t OEMCreateFile(const char* path, const char* fileName) @@ -150,6 +277,10 @@ int32_t OEMCreateFile(const char* path, const char* fileName) return CERT_MGR_OEM_ERR; } + if (CERT_L0_DEVICE_STUB_FLAG) { + return CreateFile(fileName); + } + char* formatPath = realpath(path, NULL); if (formatPath == NULL) { return CERT_MGR_OEM_ERR; @@ -179,6 +310,7 @@ int32_t OEMCreateFile(const char* path, const char* fileName) free(realPath); fclose(fp); return CERT_MGR_OEM_OK; + } bool OEMIsFileExist(const char* path, const char* fileName) @@ -186,6 +318,11 @@ bool OEMIsFileExist(const char* path, const char* fileName) if (path == NULL || fileName == NULL) { return false; } + + if (CERT_L0_DEVICE_STUB_FLAG) { + return IsFileExist(fileName); + } + char* filePath = OEMGenFilePath(path, fileName); if (filePath == NULL) { return false; diff --git a/cert_mgr_service/services/sa_profile/7100.xml b/cert_mgr_service/services/sa_profile/7100.xml deleted file mode 100644 index 28e246928c701788b8672fc15f6a2336c9a0e26a..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/sa_profile/7100.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - cert_mgr_service - - 7100 - libcert_mgr_service.z.so - true - false - 1 - - \ No newline at end of file diff --git a/cert_mgr_service/services/sa_profile/BUILD.gn b/cert_mgr_service/services/sa_profile/BUILD.gn deleted file mode 100644 index f345abcea3451f247ddf25eac69ccf8b69507cd7..0000000000000000000000000000000000000000 --- a/cert_mgr_service/services/sa_profile/BUILD.gn +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/ohos.gni") -import("//base/cert_mgr_service/build/certconfig.gni") - -ohos_sa_profile("cert_mgr_sa_profile") { - sources = [ "7100.xml" ] - - part_name = "cert_mgr_standard" -} diff --git "a/cert_mgr_service/test/certMgr\345\274\200\345\217\221.txt" "b/cert_mgr_service/test/certMgr\345\274\200\345\217\221.txt" deleted file mode 100644 index d9632f1786fa7c9dbb864e4ea50029071ed011b7..0000000000000000000000000000000000000000 --- "a/cert_mgr_service/test/certMgr\345\274\200\345\217\221.txt" +++ /dev/null @@ -1,56 +0,0 @@ -## 编译安装软件 -./build.sh --product-name rk3568 --ccache // 编译正式版本 -./build.sh --product-name rk3568 --ccache --gn-args is_debug=true // 编译debug版本 -scp -r Y:\opt\code\out\rk3568\packages\phone\images D:\certmgr\ > copy.log // 将软件拷贝到windows里进行安装 - -## 测试用例编译安装 -整体流程:liunux编译 =》将用例拷贝window=》start.bat: 连接设备,推送用例,执行用例,返回结果。 -./build.sh --product-name rk3568 --build-target make_test // 编译测试 -scp -r Y:\opt\code\out\rk3568\tests D:\certmgr\test\testcase // 测试用例拷贝到windows里 -scp -r Y:\opt\code\out\rk3568\tests\unittest\certmgr\uttest D:\certmgr\test\testcase\tests\unittest\certmgr //拷贝具体用例 -cd /d D:\certmgr\test\developertest\ && startup.bat // 启动测试框架 -run -t UT -ts CertMgrCoreDeviceTest // 执行测试套 -run -t UT -ts CertMgrCoreDeviceTest -tc CertMgrCoreDeviceTest.DestroyAuthResult_Test_001 // 执行测试用例 -run -t UT -ts CertMgrCoreDeviceTest -tc GetCertStatus_Test_001 -runCertTest.bat CertMgrCoreTest - -## 手动执行用例 -hdc_std shell mkdir -p /data/certMgrTest -hdc shell rm -rf /data/certMgrTest -scp -r Y:\opt\code\out\rk3568\tests\unittest\certmgr\uttest\CertMgrServiceTest D:\certmgr\test\testcase\tests\unittest\certmgr -hdc shell cd /data/test/; rm -rf CertMgrServiceTest.xml; chmod +x *; ./CertMgrServiceTest - -## hdc常用命令行 -ps -A | grep cert // 查看进程 -kill -9 进程号 // 重启进程 -hilog | grep "CERTMGR" // 查看日志 -hdc_std shell date 013016012022.30 -hdc_std shell mount -o rw,remount / -hdc_std file send D:\certmgr\data\token /data/data/ -hdc_std file send D:\certmgr\data\cert_mock_network_para /data/data/ -hdc_std file send D:\certmgr\data\cert_mock_device_para /data/data/ - - -hdc_std file send D:\certmgr\entry-debug-rich-signed.hap /system/app -hdc_std file recv /data/data/ - -## 操作流程 -1、将软件拷贝到windows -scp -r Y:\opt\code\out\rk3568\packages\phone\images D:\certmgr\ >> copy.log - -2、刷版本 -3、上传data数据 -hdc_std file send D:\certmgr\data\cert_mock_device_para /data/data/ -hdc_std file send D:\certmgr\data\cert_mock_network_para /data/data/ -hdc_std file send D:\certmgr\data\token /data/data/ - -4、查看hilog日志 -hilog | grep "CERTMGR" - -## FAQ -1) startup闪退 -需要安装python 3.8,并配置环境变量。 -2) list查看不到设备。 -重新插网卡,或者hdc_std -v查看是否配置hdc_std。 - - diff --git a/cert_mgr_service/test/data/CertMgrCoreTest b/cert_mgr_service/test/data/CertMgrCoreTest deleted file mode 100644 index 4848efc9a1560fe0e3e929e3cb74d79b57ed2b0c..0000000000000000000000000000000000000000 Binary files a/cert_mgr_service/test/data/CertMgrCoreTest and /dev/null differ diff --git a/cert_mgr_service/test/data/cert_mock_device_para b/cert_mgr_service/test/data/cert_mock_device_para deleted file mode 100644 index c33eada8f4beabaad654f301e6bbdc5a52c6a127..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/data/cert_mock_device_para +++ /dev/null @@ -1,13 +0,0 @@ -{ - "versionId": "SmartBox/huawei/HuaWeiDemoTest/SERIES(AA)/OpenHarmony-2.2.0(Canaryl)/ohos/default/8/1.0.0.6/release", - "buildRootHash": "110", - "displayVersion": "OpenHarmony 3.1.5.2", - "manufacture": "huawei", - "productModel": "ohos", - "brand": "HuaWeiDemotest", - "securityPatchTag": "2020-09-01", - "appid": "105625431", - "productId": "OH0009CD", - "acKey": "3F3F3F78213F247F523F3F1C4E273F3F3B3F3F150C3F3F77582E013F3F3F731D3F6D423F32423F3F3F7A3F3F3F7A3F3F", - "serial": "7001005458323933328a00fce1983800" -} \ No newline at end of file diff --git a/cert_mgr_service/test/data/cert_mock_network_para b/cert_mgr_service/test/data/cert_mock_network_para deleted file mode 100644 index f7b07e26771f2eaee936310ce1e5d7ff46d3ed43..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/data/cert_mock_network_para +++ /dev/null @@ -1,43 +0,0 @@ -{ - "authStatusChange": { - "challenge": { - "currentTime": 1647914836482, - "challenge": "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", - "errcode": 0 - } - }, - "resetDevice": { - "challenge": { - "currentTime": 1647914836482, - "challenge": "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", - "errcode": 0 - }, - "response": { - "errcode": 0 - } - }, - "authDevice": { - "challenge": { - "currentTime": 1647914836482, - "challenge": "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", - "errcode": 1 - }, - "response": { - "ticket": "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", - "uuid": "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - "authStats": ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2NDc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6IlNtYXJ0Qm94L2h1YXdlaS9IdWFXZWlEZW1vL1NFUklFUyhBQSkvT3Blbkhhcm1vbnktMi4yLjAoQ2FuYXJ5bCkvb2hvcy9kZWZhdWx0LzgvMS4wLjAuNi9yZWxlYXNlIn0.", - "token": "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", - "errcode": 0 - } - }, - "activeToken": { - "challenge": { - "currentTime": 1647914836482, - "challenge": "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", - "errcode": 0 - }, - "response": { - "errcode": 0 - } - } -} \ No newline at end of file diff --git a/cert_mgr_service/test/unittest/BUILD.gn b/cert_mgr_service/test/unittest/BUILD.gn deleted file mode 100644 index 2da17c2987a8c6e50ca62a4ff7ebd63f0cde04d7..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/unittest/BUILD.gn +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright (c) 2021 XXXX Device Co., Ltd. - -import("//build/test.gni") -import("//base/cert_mgr_service/build/certconfig.gni") - -module_output_path = "certmgr/uttest" - -config("module_private_config") { - visibility = [ ":*" ] - cflags_cc = [ - "-Wno-implicit-fallthrough", - "-fexceptions", - ] - include_dirs = [ - "include", - "${certmanager_standard_path}/common", - "${certmanager_standard_path}/common/log", - "${certmanager_innerkit_path}/native_cpp/include", - "${certmanager_standard_path}/services/cert_mgr_ability/include", - "${certmanager_standard_path}/services/core/include", - "${certmanager_standard_path}/services/core/include/adapter", - "${certmanager_standard_path}/services/core/include/cert", - "${certmanager_standard_path}/services/core/include/dfx", - "${certmanager_standard_path}/services/core/include/security", - "${certmanager_standard_path}/services/core/include/network", - "${certmanager_standard_path}/services/core/include/utils", - "//utils/native/base/include", - ] - defines = [] - if (enable_cert_debug_memory_leak) { - defines += [ - "__CERT_DEBUG_MEMORY_LEAK__", - ] - } -} - -deps_in = [ - "//third_party/cJSON:cjson_static", - "//third_party/mbedtls:mbedtls_shared", - "//third_party/googletest:gtest_main", - "//third_party/googletest:gmock", - "//utils/native/base:utils" -] - -deps_ex = [ - "hiviewdfx_hilog_native:libhilog", - "ipc:ipc_core", - "safwk:system_ability_fwk", - "samgr_standard:samgr_proxy", -] - -ohos_unittest("CertMgrSdkTest") { - module_out_path = module_output_path - - sources = [ - "src/CertMgrSdkTest.cpp", - ] - - configs = [ ":module_private_config" ] - - deps = deps_in - deps += [ - "${certmanager_standard_path}/interfaces/innerkits/native_cpp:cert_mgr_sdk", - ] - external_deps = deps_ex -} - -ohos_unittest("CertMgrCoreTest") { - module_out_path = module_output_path - - sources = [ - "src/CertMgrCoreDeviceTest.cpp", - "src/CertMgrCoreServiceTest.cpp", - "src/CertMgrCoreMemTest.cpp", - "src/cert_mock.c", - ] - - configs = [ ":module_private_config" ] - - deps = deps_in - deps += [ - "${certmanager_standard_path}/services/core:cert_mgr_core", - "${certmanager_standard_path}/services/cert_mgr_ability:cert_mgr_service", - "${certmanager_standard_path}/interfaces/innerkits/native_cpp:cert_mgr_sdk", - "//utils/native/base:utils", - ] - external_deps = deps_ex -} - -#1、基于文件维度创建测试套,命令格式"组件+模块+TEST"。 -#2、测试套名称、文件名称、类名成一致。 -group("unittest") { - testonly = true - deps = [ - ":CertMgrSdkTest", - ":CertMgrCoreTest" - ] -} \ No newline at end of file diff --git a/cert_mgr_service/test/unittest/src/CertMgrCoreDeviceTest.cpp b/cert_mgr_service/test/unittest/src/CertMgrCoreDeviceTest.cpp deleted file mode 100644 index 10b7095bdc3dae2a51c9f15de6103ad095d4b537..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/unittest/src/CertMgrCoreDeviceTest.cpp +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "cJSON.h" -#include -#include -#include "pthread.h" -#include "cert_mgr_log.h" -#include "cert_type.h" -#include "cert_utils.h" -#include "cert_utils_log.h" -#include "cert_adapter.h" -#include "cert_adapter_os.h" -#include "cert_service_device.h" - -using namespace testing; -using namespace testing::ext; -using namespace std; -using namespace OHOS; -using namespace OHOS::CertManager; - -extern char* g_devSysInfos []; -extern SetDataFunc g_setDataFunc[]; -extern const char* g_devSysInfosStr[]; - -class CertMgrCoreDeviceTest : public testing::Test { -public: - // 测试套预置动作,在第一个TestCase之前执行 - static void SetUpTestCase(void); - // 测试套清理动作,在最后一个TestCase后执行 - static void TearDownTestCase(void); - // 用例的预置动作 - void SetUp(); - // 用例的清理动作 - void TearDown(); - int32_t InitSysDataTest(void); -}; - -void CertMgrCoreDeviceTest::SetUpTestCase(void) -{ - // input testsuit setup step,setup invoked before all testcases -} - -void CertMgrCoreDeviceTest::TearDownTestCase(void) -{ - // input testsuit teardown step,teardown invoked after all testcases -} - -void CertMgrCoreDeviceTest::SetUp(void) -{ - // input testcase setup step,setup invoked before each testcases -} - -void CertMgrCoreDeviceTest::TearDown(void) -{ - // input testcase teardown step,teardown invoked after each testcases -} - -/** - * - * @tc.name: CertMgrService_Example_001 - * @tc.desc: test add function - * @tc.type: FUNC - */ - -HWTEST_F(CertMgrCoreDeviceTest, CertMgrService_Example_001, TestSize.Level0) -{ - // step 1: 准备数据 - HILOGI("-------------CertMgrService_Example_001 begin -----------------"); - int result = 4; - - // step 2: 验证功能 - EXPECT_EQ(result, 4) << "EXPECT_EQ(result, 4) is false."<< endl; - - // step 3: 恢复环境 - EXPECT_NE(result, 5) << "EXPECT_NE(result, 5) is false" << endl; - - HILOGI("-------------CertMgrService_Example_001 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreDeviceTest_InitSysData_001 - * @tc.desc: 验证初始化系统参数功能 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreDeviceTest, CertMgrCoreDeviceTest_InitSysData_001, TestSize.Level0) -{ - // step 1: 准备数据 - - // step 2: 验证功能 - HILOGI("-------------CertMgrCoreDeviceTest_InitSysData_001 begin -----------------"); - int32_t result = InitSysData(); - EXPECT_EQ(CERT_OK, result) << "InitSysData failed." << endl; - - for (int32_t type = 0; type < SYS_DEV_MAX; type++) { - if (type == RANDOM_UUID) { // UUID为随机数,暂时跳过。 - continue; - } - char* devSysInfo = StrdupDevInfo((SYS_DEV_TYPE_E)type); // 读系统参数 - ASSERT_TRUE(devSysInfo != NULL) << "devSysInfo == NULL" << endl; - SetDataFunc setDataFunc = g_setDataFunc[type]; // 读取文件 - ASSERT_TRUE(setDataFunc != NULL) << "setDataFunc == NULL" << endl; - char* devInfo = setDataFunc(); - ASSERT_TRUE(devSysInfo != NULL) << "devSysInfo == NULL" << endl; - EXPECT_STREQ(devSysInfo, devInfo) << g_devSysInfosStr[type] << " is not equal. System para ="<< - devSysInfo <<", device para =" << devInfo <<"."<< endl; - } - - // step 3: 恢复环境 - DestroySysData(); - EXPECT_TRUE(g_devSysInfos[0] == NULL) << "g_devSysInfos[0]:" << g_devSysInfos[0] << endl; - HILOGI("-------------CertMgrCoreDeviceTest_InitSysData_001 end -----------------"); -} - - -/** - * - * @tc.name: CertMgrService_DestroySysData_001 - * @tc.desc: 验证销毁功能 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreDeviceTest, CertMgrCoreDeviceTest_DestroySysData_001, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreDeviceTest_DestroySysData_001 begin -----------------"); - // step 1: 准备数据 - int32_t result = InitSysData(); - ASSERT_TRUE(result == CERT_OK) << "InitSysData failed." << endl; - - // step 2: 验证功能 - DestroySysData(); - for (int32_t type = 0; type < SYS_DEV_MAX; type++) { - ASSERT_TRUE(g_devSysInfos[type] == NULL) << "devSysInfo != NULL" << endl; - } - - // step 3: 恢复环境 - HILOGI("-------------CertMgrCoreDeviceTest_DestroySysData_001 end -----------------"); -} - -/** - * - * @tc.name: CertMgrService_DestroySysData_002 - * @tc.desc: 验证重复销毁,第二次不处理。 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreDeviceTest, CertMgrCoreDeviceTest_DestroySysData_002, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreDeviceTest_DestroySysData_002 begin -----------------"); - // step 1: 准备数据 - int32_t result = InitSysData(); - ASSERT_TRUE(result == CERT_OK) << "InitSysData failed." << endl; - ASSERT_TRUE(g_devSysInfos[0] != NULL) << "g_devSysInfos[0]:" << g_devSysInfos[0] << endl; - - // step 2: 验证功能 - DestroySysData(); - ASSERT_TRUE(g_devSysInfos[0] == NULL) << "g_devSysInfos[0]:" << g_devSysInfos[0] << endl; - - // step 3: 恢复环境 - HILOGI("-------------CertMgrCoreDeviceTest_DestroySysData_002 end -----------------"); -} - -/** - * - * @tc.name: CertMgrService_StrdupDevInfo_001 - * @tc.desc: StrdupDevInfo传入参与大于SYS_DEV_MAX,返回NULL - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreDeviceTest, CertMgrCoreDeviceTest_StrdupDevInfo_001, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreDeviceTest_StrdupDevInfo_001 begin -----------------"); - // step 1: 准备数据 - int32_t result = InitSysData(); - ASSERT_TRUE(result == CERT_OK) << "InitSysData failed." << endl; - ASSERT_TRUE(g_devSysInfos[0] != NULL) << "g_devSysInfos[0]:" << g_devSysInfos[0] << endl; - - // step 2: 验证功能 - char* devInfo = StrdupDevInfo(SYS_DEV_MAX); - EXPECT_TRUE(devInfo == NULL) << "devInfo:" << devInfo << endl; - - devInfo = StrdupDevInfo(SYS_DEV_TYPE_E(SYS_DEV_MAX + 1)); - EXPECT_TRUE(devInfo == NULL) << "devInfo:" << devInfo << endl; - - // step 3: 恢复环境 - DestroySysData(); - ASSERT_TRUE(g_devSysInfos[0] == NULL) << "g_devSysInfos[0]:" << g_devSysInfos[0] << endl; - HILOGI("-------------CertMgrCoreDeviceTest_StrdupDevInfo_001 end -----------------"); -} - -/** - * - * @tc.name: CertMgrService_StrdupDevInfo_002 - * @tc.desc: StrdupDevInfo拷贝字符串功能 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreDeviceTest, CertMgrCoreDeviceTest_StrdupDevInfo_002, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreDeviceTest_StrdupDevInfo_002 begin -----------------"); - // step 1: 准备数据 - int32_t result = InitSysData(); - ASSERT_TRUE(result == CERT_OK) << "InitSysData failed." << endl; - ASSERT_TRUE(g_devSysInfos[0] != NULL) << "g_devSysInfos[0]:" << g_devSysInfos[0] << endl; - - // step 2: 验证功能 - for (int32_t type = 0; type < SYS_DEV_MAX; type ++) { - char* devInfoDup = StrdupDevInfo((SYS_DEV_TYPE_E)type); - char* devInfo = g_devSysInfos[(SYS_DEV_TYPE_E)type]; - EXPECT_STREQ(devInfoDup, devInfo) << "devInfoDup != devInfo" << endl; - CERT_MEM_FREE(devInfoDup); - } - - // step 3: 恢复环境 - DestroySysData(); - ASSERT_TRUE(g_devSysInfos[0] == NULL) << "g_devSysInfos[0]:" << g_devSysInfos[0] << endl; - HILOGI("-------------CertMgrCoreDeviceTest_StrdupDevInfo_002 end -----------------"); -} diff --git a/cert_mgr_service/test/unittest/src/CertMgrCoreMemTest.cpp b/cert_mgr_service/test/unittest/src/CertMgrCoreMemTest.cpp deleted file mode 100644 index 578108a940bf9651ef4f2ab981bf98d2a8398719..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/unittest/src/CertMgrCoreMemTest.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -#include "cert_type.h" -#include "cert_utils.h" -#include "cert_utils_list.h" -#include "cert_utils_log.h" -#include "cert_utils_memleak.h" -#include "cert_mgr_log.h" -#include - -using namespace testing; -using namespace testing::ext; -using namespace std; -using namespace OHOS; -using namespace OHOS::CertManager; - -class CertMgrCoreMemTest : public testing::Test { -public: - // 测试套预置动作,在第一个TestCase之前执行 - static void SetUpTestCase(void); - // 测试套清理动作,在最后一个TestCase后执行 - static void TearDownTestCase(void); - // 用例的预置动作 - void SetUp(); - // 用例的清理动作 - void TearDown(); -}; - -void CertMgrCoreMemTest::SetUpTestCase(void) -{ - // input testsuit setup step,setup invoked before all testcases -} - -void CertMgrCoreMemTest::TearDownTestCase(void) -{ - // input testsuit teardown step,teardown invoked after all testcases -} - -void CertMgrCoreMemTest::SetUp(void) -{ - // input testcase setup step,setup invoked before each testcases -} - -void CertMgrCoreMemTest::TearDown(void) -{ - // input testcase teardown step,teardown invoked after each testcases -} - -/** - * - * @tc.name: CertMgrCoreMemTest_001 - * @tc.desc: 验证打桩功能 - * @tc.type: FUNC - */ - -extern List *g_memNodeList; - -HWTEST_F(CertMgrCoreMemTest, CertMgrCoreMemTest_001, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreMemTest_001 begin -----------------"); - EXPECT_TRUE(CERT_DEBUG_MEMORY_LEAK == true) << "CERT_DEBUG_MEMORY_LEAK is false." << endl; - - ASSERT_TRUE(g_memNodeList == NULL) << "g_memNodeList is not null." << endl; - InitMemNodeList(); - ASSERT_TRUE(g_memNodeList != NULL) << "InitMemNodeList failed." << endl; - - uint32_t size = GetListSize(g_memNodeList); - EXPECT_TRUE(size == 0) << "GetListSize failed." << endl; - - char *test1 = (char *)CERT_MEM_MALLOC(10); - size = GetListSize(g_memNodeList); - EXPECT_TRUE(size == 1) << "malloc test1 failed." << endl; - EXPECT_TRUE(test1 != NULL) << "test1 == NULL." << endl; - - char *test2 = (char *)CERT_MEM_MALLOC(10); - size = GetListSize(g_memNodeList); - EXPECT_TRUE(size == 2) << "malloc test2 failed." << endl; - EXPECT_TRUE(test2 != NULL) << "test2 == NULL." << endl; - - PrintMemNodeList(); - - CERT_MEM_FREE(test1); - size = GetListSize(g_memNodeList); - EXPECT_TRUE(size == 1) << "free test1 failed." << endl; - EXPECT_TRUE(test1 == NULL) << "test1 != NULL." << endl; - - CERT_MEM_FREE(test2); - size = GetListSize(g_memNodeList); - EXPECT_TRUE(size == 0) << "free test2 failed." << endl; - EXPECT_TRUE(test2 == NULL) << "test2 != NULL." << endl; - - PrintMemNodeList(); - DestroyMemNodeList(); - EXPECT_TRUE(g_memNodeList == NULL) << "DestroyMemNodeList failed." << endl; - HILOGI("-------------CertMgrCoreMemTest_001 end -----------------"); -} \ No newline at end of file diff --git a/cert_mgr_service/test/unittest/src/CertMgrCoreServiceTest.cpp b/cert_mgr_service/test/unittest/src/CertMgrCoreServiceTest.cpp deleted file mode 100644 index 4382c3849ea520621a4f71cf4de327d4bb268217..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/unittest/src/CertMgrCoreServiceTest.cpp +++ /dev/null @@ -1,1854 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "cJSON.h" -#include "cert_mock.h" -#include -#include -#include "pthread.h" -#include "cert_type.h" -#include "cert_utils.h" -#include "cert_utils_file.h" -#include "cert_utils_log.h" -#include "cert_security_token.h" -#include "cert_adapter.h" -#include "cert_service_auth.h" -#include "cert_service_reset.h" -#include "cert_service_active.h" -#include "cert_service_device.h" -#include "cert_service_challenge.h" -#include "cert_network.h" -#include "cert_service.h" -#include "cert_service_device.h" -#include "cert_mgr_log.h" -#include "cert_mgr_client.h" -#include "iservice_registry.h" -#include "system_ability_definition.h" -#include "system_ability.h" -#include "singleton.h" -#include "cert_utils_list.h" -#include "cert_mgr_errno.h" -#include "cert_result_info.h" -#include - -using namespace testing; -using namespace testing::ext; -using namespace std; -using namespace OHOS; -using namespace OHOS::CertManager; - -class CertMgrCoreServiceTest : public testing::Test -{ -public: - // 测试套预置动作,在第一个TestCase之前执行 - static void SetUpTestCase(void); - // 测试套清理动作,在最后一个TestCase后执行 - static void TearDownTestCase(void); - // 用例的预置动作 - void SetUp(); - // 用例的清理动作 - void TearDown(); - // 预置网络数据 当前预置数据对应OH00000D - static void CreateMockFile(); - static void DeleteMockFile(); -}; - -void CertMgrCoreServiceTest::SetUpTestCase(void) -{ - // input testsuit setup step,setup invoked before all testcases -} - -void CertMgrCoreServiceTest::TearDownTestCase(void) -{ - // input testsuit teardown step,teardown invoked after all testcases -} - -void CertMgrCoreServiceTest::SetUp(void) -{ - // input testcase setup step,setup invoked before each testcases - CreateMockFile(); -} - -void CertMgrCoreServiceTest::TearDown(void) -{ - // input testcase teardown step,teardown invoked after each testcases - DeleteMockFile(); -} - -void CertMgrCoreServiceTest::CreateMockFile(void) -{ - // input testcase teardown step,teardown invoked after each testcases - - // 创建文件 - int32_t ret = CreateFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME); - ret = CreateFile(CERT_MOCK_DATA_PATH, CERT_MOCK_DEVICE_PARA_FILE_NAME); - ret = CreateFile(CERT_MOCK_DATA_PATH, CERT_MOCK_NETWORK_PARA_FILE_NAME); -} - -void CertMgrCoreServiceTest::DeleteMockFile(void) -{ - // input testcase teardown step,teardown invoked after each testcases - if (IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME)) { - DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME); - } - - if (IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_DEVICE_PARA_FILE_NAME)) { - DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_DEVICE_PARA_FILE_NAME); - } - - if (IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_NETWORK_PARA_FILE_NAME)) { - DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_NETWORK_PARA_FILE_NAME); - } - - if (IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME)) { - DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME); - } - if (IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME)) { - DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME); - } - if (IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_TICKET_FILE_NAME)) { - DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TICKET_FILE_NAME); - } - -} - -/** - * - * @tc.name: CertMgrService_ProcCert_001 - * @tc.desc: 验证打桩功能 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_001, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_001 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - int32_t result = ProcCert(); - ASSERT_TRUE(result == CERT_OK) << "ProcCert failed." << endl; - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_001 end -----------------"); -} - -/** - * - * @tc.name: CertMgrService_ProcCert_002 - * @tc.desc: 验证预置数据后,是否正常触发认证 - * @tc.desc: 验证预置数据后,是否正常刷新token - * @tc.desc: 验证预置数据后,是否正常生成ticket,authStatus,flag - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_002, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_002 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - int32_t result = ProcCert(); - // 验证触发认证并且认证成功 - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, token) << "token updated failed." << endl; - - // 验证三个文件是否生成 - bool flag = IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME); - flag = IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_TICKET_FILE_NAME); - flag = IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME); - - EXPECT_TRUE(flag) << "authStatus or ticket or reset_flag create failed." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_002 end -----------------"); -} - -/** - * - * @tc.name: CertMgrService_ProcCert_003 - * @tc.desc: 验证认证成功后替换versionID不一致的auth_status,再次执行是否认证成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_003, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_003 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - int32_t result = ProcCert(); - // 认证完之后,更换version_id 不一致的auth_status - const char *auth_status = ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQxIn0."; - WriteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, auth_status, strlen(auth_status)); - - // 再次执行认证 - result = ProcCert(); - - // 验证触发认证并且认证成功 - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 验证 auth_status 是否更新 - const int len = strlen(auth_status) + 1; - char afterAuth[len]; - (void)memset_s(afterAuth, len, 0, len); - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, afterAuth, sizeof(afterAuth)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - // 验证auth_status是否更新 - EXPECT_STRNE(auth_status, afterAuth) << "auth_status updated failed." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_003 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_004 - * @tc.desc: 验证认证成功后替换已超期的auth_status,再次执行是否认证成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_004, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_004 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - int32_t result = ProcCert(); - - // 认证完之后,更换已超期的auth_status - const char *auth_status = ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2MDc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ."; - if (!IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME)) { - ret = CreateFile(CERT_MOCK_DATA_PATH,CERT_MOCK_AUTH_STATUS_FILE_NAME); - ASSERT_TRUE(ret == CERT_OK) << "CreateFile failed." << endl; - } - - ret = WriteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, auth_status, strlen(auth_status)); - ASSERT_TRUE(ret == CERT_OK) << "WriteFile failed." << endl; - - // 再次执行认证 - result = ProcCert(); - - // 验证触发认证并且认证成功 - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取 auth_status - const int len = strlen(auth_status) + 1; - char afterAuth[len]; - (void)memset_s(afterAuth, len, 0, len); - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, afterAuth, sizeof(afterAuth)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - // 验证auth_status是否更新 - EXPECT_STRNE(auth_status, afterAuth) << "auth_status updated failed." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_004 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_005 - * @tc.desc: 上一次认证失败,下一次可认证成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_005, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_005 begin -----------------"); - // step 1: 准备数据 - - //1.写入AuthNetMockData中errcode为9999 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 9999, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 认证完之后,创建已超期的auth_status - const char* auth_status = ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2MDc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ."; - if (!IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME)) { - ret = CreateFile(CERT_MOCK_DATA_PATH,CERT_MOCK_AUTH_STATUS_FILE_NAME); - ASSERT_TRUE(ret == CERT_OK) << "CreateFile failed." << endl; - } - - ret = WriteFile(CERT_MOCK_DATA_PATH,CERT_MOCK_AUTH_STATUS_FILE_NAME,auth_status,strlen(auth_status)); - ASSERT_TRUE(ret == CERT_OK) << "WriteFile failed." << endl; - - // 并且重新预置errcode为0的network - CertNetworkMockData networkMockData = { - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "WriteNetWorkMock failed." << endl; - // 再次执行认证 - result = ProcCert(); - - // 验证触发认证并且认证成功 - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_005 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_006 - * @tc.desc: 设置发起挑战值阶段为9999,检查是否认证失败不重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_006, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_006 begin -----------------"); - // step 1: 准备数据 - // 1.写入AuthNetMockData中errcode为9999 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 9999, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否不重试 期望是false - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "AuthDevice RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_006 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_007 - * @tc.desc: 设置发起挑战值阶段为4999,检查是否认证失败重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_007, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_007 begin -----------------"); - // step 1: 准备数据 - //1.写入AuthNetMockData中errcode为4999 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 4999, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 期望是true - EXPECT_TRUE(IS_WISE_RETRY(-result)) << "AuthDevice NOT RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_007 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_008 - * @tc.desc: 设置认证设备的errcode为4999,检查是否认证失败重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_008, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_008 begin -----------------"); - // step 1: 准备数据 - //1.写入AuthNetMockData中errcode为4999 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 4999}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 期望是true - EXPECT_TRUE(IS_WISE_RETRY(-result)) << "AuthDevice NOT RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_008 end -----------------"); -} -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_009 - * @tc.desc: 设置认证返回的响应中的errCode为14000,检查认证失败未重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_009, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_009 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为14000的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 14000}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 期望是true - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "AuthDevice not RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_009 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_010 - * @tc.desc: 设置认证返回的响应中的errCode为14001,检查认证失败 重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_010, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_010 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为14001的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 14001}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 重试 - EXPECT_TRUE(IS_WISE_RETRY(-result)) << "AuthDevice not RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_010 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_011 - * @tc.desc: 设置认证返回的响应中的errCode为14002,检查认证失败未重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_011, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_011 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为14002的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 14002}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "AuthDevice RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_011 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_012 - * @tc.desc: 设置认证返回的响应中的errCode为14004,检查认证失败未重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_012, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_012 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为14004的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 14004}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "AuthDevice RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_012 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_013 - * @tc.desc: 设置认证返回的响应中的errCode为30002,检查认证失败未重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_013, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_013 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为30002的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 30002}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "AuthDevice RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_013 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_014 - * @tc.desc: 设置认证返回的响应中的errCode为30003,检查认证失败未重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_014, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_014 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为30003的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 30003}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "AuthDevice RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_014 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_015 - * @tc.desc: 设置认证返回的响应中的errCode为30004,检查认证失败未重试 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_015, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_015 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为30004的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 30004}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "AuthDevice RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_015 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_016 - * @tc.desc: 设置认证激活阶段 返回的响应中的errCode为4999,检查认证失败未重试 token更新 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_016, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_016 begin -----------------"); - // step 1: 准备数据 - //1.写入ActiveNetMockData中ResponseErrCode为4999 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 4999}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, token) << "token not updated." << endl; - - // 检查是否 重试 - EXPECT_TRUE(IS_WISE_RETRY(-result)) << "ActiveToken not RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_016 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_017 - * @tc.desc: 设置认证激活阶段 返回的响应中的errCode为4999,检查token更新 ticket 和 auth_status 不更新 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_017, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_017 begin -----------------"); - // step 1: 准备数据 - - // 写入ActiveNetMockData中ResponseErrCode为4999 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 4999}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 验证 ticket和 auth_status 未更新 - EXPECT_FALSE(IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME)) << "auth_status updated." << endl; - EXPECT_FALSE(IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_TICKET_FILE_NAME)) << "ticket updated." << endl; - - // 检查是否 重试 - EXPECT_TRUE(IS_WISE_RETRY(-result)) << "ActiveToken not RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_017 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_018 - * @tc.desc: 设置认证激活阶段 返回的响应中的errCode为14001,检查认证失败 重试 TOKEN下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_018, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_018 begin -----------------"); - // step 1: 准备数据 - //1.写入ActiveNetMockData中ResponseErrCode为14001 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 14001}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 重试 - EXPECT_TRUE(IS_WISE_RETRY(-result)) << "ActiveToken not RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_018 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_019 - * @tc.desc: 设置认证激活阶段 返回的响应中的errCode为14002,检查认证失败 不重试 TOKEN下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_019, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_019 begin -----------------"); - // step 1: 准备数据 - //1.写入ActiveNetMockData中ResponseErrCode为14002的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 14002}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "ActiveToken RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_019 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_020 - * @tc.desc: 设置认证激活阶段 返回的响应中的errCode为30015,检查认证失败 不重试 TOKEN下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_020, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_020 begin -----------------"); - // step 1: 准备数据 - //1.重新写入AuthNetMockData中ResponseErrCode为30015的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 30015}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证且结果为失败的 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, token) << "token updated." << endl; - - // 检查是否 不重试 - EXPECT_FALSE(IS_WISE_RETRY(-result)) << "ActiveToken RETRY" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_020 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_021 - * @tc.desc: 设置重置阶段阶段 返回的响应中的errCode为4999,检查不走重置流程,TOKEN下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_021, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_021 begin -----------------"); - // step 1: 准备数据 - //1.写入ResetNetMockData中ResponseErrCode为4999的network - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 4999}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 预置reset_flag - ret = CreateFile(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME); - ASSERT_TRUE(ret == CERT_OK) << "CreateFile failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH,CERT_MOCK_TOKEN_FILE_NAME,token,sizeof(token)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, token) << "token not updated." << endl; - - // 检查是否 不走重置 - EXPECT_TRUE(CertIsResetFlagExist()) << "Reset Flag not Exist" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_021 end -----------------"); -} - - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_022 - * @tc.desc: 设置重置阶段阶段 ResponseErrCode为4999,删除reset_flag,保留auth_status,检查不生成reset_flag,更新Auth_status,TOKEN - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_022, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_022 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 删除reset_flag - bool flag = DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME); - ASSERT_TRUE(flag) << "DeleteFile failed." << endl; - - // 读取token - char beforeToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, beforeToken, sizeof(beforeToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 预置network 重置流程返回值为4999 - CertNetworkMockData networkMockData = { - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 4999}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "WriteNetWorkMock failed." << endl; - - // 认证完之后,更换已超期的auth_status, - const char *auth_status = ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2MDc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ."; - if (!IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME)) { - ret = CreateFile(CERT_MOCK_DATA_PATH,CERT_MOCK_AUTH_STATUS_FILE_NAME); - ASSERT_TRUE(ret == CERT_OK) << "CreateFile failed." << endl; - } - ret = WriteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, auth_status, strlen(auth_status)); - ASSERT_TRUE(ret == CERT_OK) << "WriteFile failed." << endl; - - // 再次认证 - result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(beforeToken, afterToken) << "token not updated." << endl; - - // 检查是否生成reset_flag标签 - EXPECT_FALSE(CertIsResetFlagExist()) << "Reset Flag Exist" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_022 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_023 - * @tc.desc: 设置重置阶段阶段 ResponseErrCode为4999,检查不生成reset_flag,更新TOKEN - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_023, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_023 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 4999}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - - // 检查是否生成reset_flag标签 - EXPECT_FALSE(CertIsResetFlagExist()) << "Reset Flag Exist" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_023 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_024 - * @tc.desc: 设置重置阶段阶段 ResponseErrCode为14000,验证 重置失败后不重试,token成功下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_024, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_024 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 14000}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_024 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_025 - * @tc.desc: 设置重置阶段阶段 ResponseErrCode为14001,验证 重置失败后重试,token成功下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_025, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_025 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 14001}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_025 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_026 - * @tc.desc: 设置重置阶段阶段 ResponseErrCode为14002,验证 重置失败后不重试,token成功下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_026, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_026 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 14002}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_026 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_027 - * @tc.desc: 设置重置阶段阶段 ResponseErrCode为14004,验证 重置失败后不重试,token成功下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_027, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_027 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 14004}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_027 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_028 - * @tc.desc: 设置重置阶段阶段 ResponseErrCode为15003,验证 重置失败后不重试,token成功下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_028, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_028 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 15003}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_028 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_029 - * @tc.desc: 验证一次主流程不超30S - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_029, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_029 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 获取认证前时间戳 - time_t beforeTimet; - time(&beforeTimet); - - // 开始认证 - ret = ProcCert(); - EXPECT_EQ(ret,CERT_OK) << "ProcCert failed" << endl; - - // 获取认证后时间戳 - time_t afterTimet; - time(&afterTimet); - - EXPECT_TRUE(difftime(afterTimet,beforeTimet) <= 30) << "out of 30 Seconds" << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_029 end -----------------"); -} - - - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_030 - * @tc.desc: 异常报文攻击,设置authDevice返回authStatus为abc,验证认证失败 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_030, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_030 begin -----------------"); - // step 1: 准备数据 - //1.先走正常流程 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", "abc", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_030 end -----------------"); -} - - - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_031 - * @tc.desc: 本地autResult预置14004的状态下再次触发认证 token是否正常下发 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_031, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_031 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 预置auth_status 本地AuthResult为14004 - const char *auth_status = ".eyJhdXRoUmVzdWx0IjoxNDAwNCwiYXV0aFR5cGUiOiJUT0tFTl9FTkFCTEUiLCJleHBpcmVUaW1lIjoxNjc3OTMwMTM0MzgzLCJraXRQb2xpY3kiOltdLCJzb2Z0d2FyZVJlc3VsdCI6MCwidWRpZCI6IjFBQUE4ODk2OTBFRjMzRThEMTg2NkYzMEU4MEExM0ExOTEzNEE3NTE4QkYwQzc4MzRBOTNDN0E1QkY0RDUxRjkiLCJ2ZXJzaW9uSWQiOiJkZWZhdWx0L2h1YS13ZWkvSHVhV2VpVGVzdC9kZWZhdWx0L09wZW5IYXJtb255LTIuMi4wLjAoKS9vaG9zVGVzdC9kZWZhdWx0LzgvZGVmYXVsdC9kZWZhdWx0In0."; - if (!IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME)) { - ret = CreateFile(CERT_MOCK_DATA_PATH,CERT_MOCK_AUTH_STATUS_FILE_NAME); - ASSERT_TRUE(ret == CERT_OK) << "CreateFile failed." << endl; - } - ret = WriteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, auth_status, strlen(auth_status)); - ASSERT_TRUE(ret == CERT_OK) << "WriteFile failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 已更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_031 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_032 - * @tc.desc: 检查第一次token写失败时,第二次认证是否成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_032, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_032 begin -----------------"); - // step 1: 准备数据 设备认证返回14001 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 14001}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 读取token - char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 未更新 - EXPECT_STREQ(CERT_MOCK_TOKEN, afterToken) << "token updated." << endl; - - // 第二次预置数据,currentTime改为1651234567890 - CertNetworkMockData networkMockData = { - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "WriteNetWorkMock failed." << endl; - - - // 开始认证 - result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 第二次读取Token - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证token是否 更新 - EXPECT_STRNE(CERT_MOCK_TOKEN, afterToken) << "token not updated." << endl; - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_032 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_033 - * @tc.desc: 检查第一次ticket,authStatus写失败时,第二次认证是否成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_033, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_033 begin -----------------"); - // step 1: 准备数据 设备认证返回14001 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 14001}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 验证ticket 与 auth_status 未更新 认证前不存在这俩文件 - EXPECT_FALSE(IsFileExist(CERT_MOCK_DATA_PATH,CERT_MOCK_TICKET_FILE_NAME)) << "ticket EXIST." << endl; - EXPECT_FALSE(IsFileExist(CERT_MOCK_DATA_PATH,CERT_MOCK_AUTH_STATUS_FILE_NAME)) << "auth_status EXIST." << endl; - - //第二次预置数据 - CertNetworkMockData networkMockData = { - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1651234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "WriteNetWorkMock failed." << endl; - - // 开始认证 - result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 第二次读取Token - // 验证ticket 与 auth_status 更新 认证后存在这俩文件 - EXPECT_TRUE(IsFileExist(CERT_MOCK_DATA_PATH,CERT_MOCK_TICKET_FILE_NAME)) << "ticket not EXIST." << endl; - EXPECT_TRUE(IsFileExist(CERT_MOCK_DATA_PATH,CERT_MOCK_AUTH_STATUS_FILE_NAME)) << "auth_status NOT EXIST." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_033 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_034 - * @tc.desc: 检查第一次reset_flag写失败时,第二次认证是否成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_034, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_034 begin -----------------"); - // step 1: 准备数据 设备重置返回14001 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 14001}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 验证reset_flag未更新 认证前不存在 - EXPECT_FALSE(IsFileExist(CERT_MOCK_DATA_PATH,CERT_MOCK_RESET_FLAG_FILE_NAME)) << "reset_flag EXIST." << endl; - - // 第二次预置数据 - CertNetworkMockData networkMockData = { - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2OTc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "WriteNetWorkMock failed." << endl; - // 开始认证 - result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 第二次读取Token - // 验证reset_flag更新 认证后存在 - EXPECT_TRUE(IsFileExist(CERT_MOCK_DATA_PATH,CERT_MOCK_RESET_FLAG_FILE_NAME)) << "reset_flag not Exist." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_034 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_035 - * @tc.desc: 认证结果超期,自动触发认证时 网络异常 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_035, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_035 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 读取当前本地认证结果 - char beforeAuthStatus[AUTH_SATUS_LEN] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, beforeAuthStatus, sizeof(beforeAuthStatus)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 第二次预置数据 - CertNetworkMockData networkMockData = { - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2OTc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 14001}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "WriteNetWorkMock failed." << endl; - - // 开始认证 - result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert failed." << endl; - - // 第二次读取AuthStatus - char afterAuthStatus[AUTH_SATUS_LEN] = {0}; - ret = ReadFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME, afterAuthStatus, sizeof(afterAuthStatus)); - ASSERT_TRUE(ret == CERT_OK) << "ReadFile failed." << endl; - - // 验证认证结果未更新 - EXPECT_STREQ(beforeAuthStatus,afterAuthStatus) << "Auth Status updated." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_035 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_036 - * @tc.desc: 模拟恢复出场设置,验证是否重新生成 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_036, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_036 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 验证三个文件是否生成 - bool flag = IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME); - flag = IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_TICKET_FILE_NAME); - flag = IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME); - - EXPECT_TRUE(flag)<< "authStatus or ticket or reset_flag not Exist." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_036 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_037 - * @tc.desc: 设备进行重置,解绑成功,重新认证成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_037, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_037 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 删除reset_flag - bool flag = DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME); - ASSERT_TRUE(flag) << "DeleteFile failed." << endl; - - // 重新预置networkMockData - CertNetworkMockData networkMockData = { - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2OTc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "WriteNetWorkMock failed." << endl; - - // 再次认证 - result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 验证reset_flag是否生成 - flag = IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_RESET_FLAG_FILE_NAME); - EXPECT_TRUE(flag)<< "authStatus or ticket or reset_flag not EXIST." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_037 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_038 - * @tc.desc: 认证成功,查询认证结果接口是否认证成功 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_038, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_038 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 查询认证结果 - CertResultInfo certResultInfo; - certResultInfo.authResult_ = 3; - certResultInfo.softwareResult_ = 3; - certResultInfo.ticket_ = "test"; - - int res = DelayedSingleton::GetInstance()->GetCertStatus(certResultInfo); - EXPECT_EQ(res, CERTMANAGER_SUCCESS) << "GetCertStatus failed." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_038 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_039 - * @tc.desc: 认证成功,清除认证结果,查询认证结果接口 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_039, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_039 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 删除认证结果 - if (IsFileExist(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME)) { - result = DeleteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_AUTH_STATUS_FILE_NAME); - ASSERT_TRUE(ret == CERT_OK) << "DeleteFile failed." << endl; - } - - // 查询认证结果 - CertResultInfo certResultInfo; - certResultInfo.authResult_ = 3; - certResultInfo.softwareResult_ = 3; - certResultInfo.ticket_ = "test"; - - int res = DelayedSingleton::GetInstance()->GetCertStatus(certResultInfo); - EXPECT_EQ(res, CERTMANAGER_FAIL) << "GetCertStatus Success." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_039 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_040 - * @tc.desc: 认证失败,查询认证结果接口 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_040, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_040 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 4999}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert failed." << endl; - - // 查询认证结果 - CertResultInfo certResultInfo; - certResultInfo.authResult_ = 3; - certResultInfo.softwareResult_ = 3; - certResultInfo.ticket_ = "test"; - - int res = DelayedSingleton::GetInstance()->GetCertStatus(certResultInfo); - EXPECT_EQ(res, CERTMANAGER_FAIL) << "GetCertStatus Success." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_040 end -----------------"); -} - -/** - * - * @tc.name: CertMgrCoreServiceTest_ProcCert_040 - * @tc.desc: 第一次认证成功,第二次认证失败,查询认证结果接口 - * @tc.type: FUNC - */ -HWTEST_F(CertMgrCoreServiceTest, CertMgrCoreServiceTest_ProcCert_041, TestSize.Level0) -{ - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_041 begin -----------------"); - // step 1: 准备数据 - CertMockData certMockData = { - {"default/hua-wei/HuaWeiTest/default/OpenHarmony-2.2.0.0()/ohosTest/default/8/default/default", "test", "OpenHarmony 3.1.5.3", "hua-wei", "ohosTest", "HuaWeiTest", "2022-04-09", "7001005458323933328a00fce1983800"}, - {{1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2Nzc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 0}, - {1641234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}}; - int32_t ret = InitMockData(&certMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 开始认证 - int32_t result = ProcCert(); - EXPECT_EQ(result, CERT_OK) << "ProcCert failed." << endl; - - // 重新预置networkMockData - CertNetworkMockData networkMockData = { - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, "ujlrjJ6loo16/32VSKj9hZ+vDpiPgt+L", "95335c19-b688-40ea-b9c8-08edf3f3c8f0", - ".eyJhdXRoUmVzdWx0IjowLCJhdXRoVHlwZSI6IlRPS0VOX0VOQUJMRSIsImV4cGlyZVRpbWUiOjE2OTc5MzAxMzQzODMsImtpdFBvbGljeSI6W10sInNvZnR3YXJlUmVzdWx0IjowLCJ1ZGlkIjoiMUFBQTg4OTY5MEVGMzNFOEQxODY2RjMwRTgwQTEzQTE5MTM0QTc1MThCRjBDNzgzNEE5M0M3QTVCRjRENTFGOSIsInZlcnNpb25JZCI6ImRlZmF1bHQvaHVhLXdlaS9IdWFXZWlUZXN0L2RlZmF1bHQvT3Blbkhhcm1vbnktMi4yLjAuMCgpL29ob3NUZXN0L2RlZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", - "RKp35yO9fOHBcytcO1pywKYO3rmm5z2i", 4999}, - {1681234567890, "b39b752290266b95acedde9b2f89fa5ebea6e060d509b0b20d07c922bcea7b64", 0, 0}}; - ret = WriteNetWorkMock(&networkMockData); - ASSERT_TRUE(ret == CERT_OK) << "InitMockData failed." << endl; - - // 再次认证 - result = ProcCert(); - EXPECT_NE(result, CERT_OK) << "ProcCert Success." << endl; - - // 查询认证结果 - CertResultInfo certResultInfo; - certResultInfo.authResult_ = 3; - certResultInfo.softwareResult_ = 3; - certResultInfo.ticket_ = "test"; - - int res = DelayedSingleton::GetInstance()->GetCertStatus(certResultInfo); - EXPECT_EQ(res, CERTMANAGER_SUCCESS) << "GetCertStatus failed." << endl; - - HILOGI("-------------CertMgrCoreServiceTest_ProcCert_041 end -----------------"); -} \ No newline at end of file diff --git a/cert_mgr_service/test/unittest/src/CertMgrSdkTest.cpp b/cert_mgr_service/test/unittest/src/CertMgrSdkTest.cpp deleted file mode 100644 index 391b460168d9c69f9d3daef322c27c77cbed2065..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/unittest/src/CertMgrSdkTest.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cert_mgr_client.h" -#include "cJSON.h" -#include - -using namespace testing::ext; -using namespace OHOS; -using namespace OHOS::CertManager; - -class CertMgrSdkTest : public testing::Test { -public: - // 测试套预置动作,在第一个TestCase之前执行 - static void SetUpTestCase(void); - // 测试套清理动作,在最后一个TestCase后执行 - static void TearDownTestCase(void); - // 用例的预置动作 - void SetUp(); - // 用例的清理动作 - void TearDown(); -}; - -void CertMgrSdkTest::SetUpTestCase(void) -{ - // input testsuit setup step,setup invoked before all testcases -} - -void CertMgrSdkTest::TearDownTestCase(void) -{ - // input testsuit teardown step,teardown invoked after all testcases -} - -void CertMgrSdkTest::SetUp(void) -{ - // input testcase setup step,setup invoked before each testcases -} - -void CertMgrSdkTest::TearDown(void) -{ - // input testcase teardown step,teardown invoked after each testcases -} - -/** - * @tc.name: GetCertStatus_Test_001 - * @tc.desc: Verify the sub function. - * @tc.type: FUNC - * @tc.require: Issue Number - */ -HWTEST_F(CertMgrSdkTest, GetCertStatus_Test_001, TestSize.Level0) -{ - // step 1:调用函数获取结果 - // printf("-------------GetCertStatus_Test_001 begin -----------------"); - // CertMgrClient* certManager = nullptr; - // certManager = DelayedSingleton::GetInstance(); - // int res = certManager->GetCertStatus(); - - // Step 2:使用断言比较预期与实际结果 - // EXPECT_EQ(0, res); -} \ No newline at end of file diff --git a/cert_mgr_service/test/unittest/src/cert_mock.c b/cert_mgr_service/test/unittest/src/cert_mock.c deleted file mode 100644 index 3d1da6d883725b6dd286734cf037d67895ac50dc..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/unittest/src/cert_mock.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include "cert_utils_file.h" -#include "cJSON.h" -#include "cert_utils.h" -#include "cert_mock.h" - -#ifdef __cplusplus -#if __cplusplus -extern "C" { -#endif -#endif /* __cplusplus */ - -int32_t InitMockData(CertMockData *certMockData) -{ - - // device_para 数据 - cJSON *root = cJSON_CreateObject(); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_VERSION_ID, certMockData->deviceMockData.mockVersionId); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_VERSION_HASH, certMockData->deviceMockData.mockVersionHash); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_DISPLAY_VERSION, certMockData->deviceMockData.mockDisplayVersion); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_MANU_STR, certMockData->deviceMockData.mockManuStr); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_DEVICE_MODEL, certMockData->deviceMockData.mockDeviceModel); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_BRAND, certMockData->deviceMockData.mockBrand); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_PATCH_TAG, certMockData->deviceMockData.mockPatchTag); - cJSON_AddStringToObject(root, CERT_MOCK_DEVICE_PARA_SERIAL, certMockData->deviceMockData.mockSerial); - - const char *device_para = cJSON_PrintUnformatted(root); - cJSON_Delete(root); - - // network_mock 数据 - CertNetworkMockData certNetworkMockData = certMockData->certNetworkMockData; - int32_t ret = WriteNetWorkMock(&certNetworkMockData); - if (ret != CERT_OK) { - return CERT_ERR; - } - - // 写文件 - ret = WriteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_TOKEN_FILE_NAME, CERT_MOCK_TOKEN, strlen(CERT_MOCK_TOKEN)); - if (ret != CERT_OK) { - return CERT_ERR; - } - ret = WriteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_DEVICE_PARA_FILE_NAME, device_para, strlen(device_para)); - if (ret != CERT_OK) { - return CERT_ERR; - } - CERT_MEM_FREE(device_para); - return ret; -} - - - -int32_t WriteNetWorkMock(CertNetworkMockData *certNetworkMockData) -{ - cJSON *netWorkMockJson = cJSON_CreateObject(); - // Network 数据 - // authStatusChange - cJSON *authStatusChange = cJSON_CreateObject(); - - cJSON *authStatusChallenge = cJSON_CreateObject(); - cJSON_AddNumberToObject(authStatusChallenge, CERT_MOCK_NETWORK_PARA_CURRENTTIME, (certNetworkMockData->authStatusChange.currentTime)); - cJSON_AddStringToObject(authStatusChallenge, CERT_MOCK_NETWORK_PARA_CHALLENGE, certNetworkMockData->authStatusChange.challenge); - cJSON_AddNumberToObject(authStatusChallenge, CERT_MOCK_NETWORK_PARA_ERRCODE, certNetworkMockData->authStatusChange.errCode); - - cJSON_AddItemToObject(authStatusChange, CERT_MOCK_NETWORK_PARA_CHALLENGE, authStatusChallenge); - - // resetDevice - cJSON *resetDevice = cJSON_CreateObject(); - cJSON *resetResponse = cJSON_CreateObject(); - cJSON *resetChallenge = cJSON_CreateObject(); - - cJSON_AddNumberToObject(resetResponse, CERT_MOCK_NETWORK_PARA_ERRCODE, certNetworkMockData->resetNetMockData.responseErrCode); - cJSON_AddNumberToObject(resetChallenge, CERT_MOCK_NETWORK_PARA_CURRENTTIME, (certNetworkMockData->resetNetMockData.currentTime)); - cJSON_AddStringToObject(resetChallenge, CERT_MOCK_NETWORK_PARA_CHALLENGE, certNetworkMockData->resetNetMockData.challenge); - cJSON_AddNumberToObject(resetChallenge, CERT_MOCK_NETWORK_PARA_ERRCODE, certNetworkMockData->resetNetMockData.errCode); - - cJSON_AddItemToObject(resetDevice, CERT_MOCK_NETWORK_PARA_CHALLENGE, resetChallenge); - cJSON_AddItemToObject(resetDevice, CERT_MOCK_NETWORK_RESPONSE, resetResponse); - - // authDevice - cJSON *authDevice = cJSON_CreateObject(); - cJSON *authResponse = cJSON_CreateObject(); - cJSON *authChallenge = cJSON_CreateObject(); - - cJSON_AddNumberToObject(authChallenge, CERT_MOCK_NETWORK_PARA_CURRENTTIME, (certNetworkMockData->authDevice.currentTime)); - cJSON_AddStringToObject(authChallenge, CERT_MOCK_NETWORK_PARA_CHALLENGE, certNetworkMockData->authDevice.challenge); - cJSON_AddNumberToObject(authChallenge, CERT_MOCK_NETWORK_PARA_ERRCODE, certNetworkMockData->authDevice.errCode); - - cJSON_AddStringToObject(authResponse, CERT_MOCK_NETWORK_PARA_TICKET, certNetworkMockData->authDevice.ticket); - cJSON_AddStringToObject(authResponse, CERT_MOCK_NETWORK_PARA_UUID, certNetworkMockData->authDevice.uuid); - cJSON_AddStringToObject(authResponse, CERT_MOCK_NETWORK_PARA_AUTHSTATS, certNetworkMockData->authDevice.authStats); - cJSON_AddStringToObject(authResponse, CERT_MOCK_NETWORK_PARA_TOKEN, certNetworkMockData->authDevice.token); - cJSON_AddNumberToObject(authResponse, CERT_MOCK_NETWORK_PARA_ERRCODE, certNetworkMockData->authDevice.responseErrCode); - - cJSON_AddItemToObject(authDevice, CERT_MOCK_NETWORK_PARA_CHALLENGE, authChallenge); - cJSON_AddItemToObject(authDevice, CERT_MOCK_NETWORK_RESPONSE, authResponse); - - // activeToken - cJSON *activeToken = cJSON_CreateObject(); - cJSON *activeChallenge = cJSON_CreateObject(); - cJSON *activeResponse = cJSON_CreateObject(); - - cJSON_AddNumberToObject(activeResponse, CERT_MOCK_NETWORK_PARA_ERRCODE, certNetworkMockData->activeToken.responseErrCode); - cJSON_AddNumberToObject(activeChallenge, CERT_MOCK_NETWORK_PARA_CURRENTTIME, (certNetworkMockData->activeToken.currentTime)); - cJSON_AddStringToObject(activeChallenge, CERT_MOCK_NETWORK_PARA_CHALLENGE, certNetworkMockData->activeToken.challenge); - cJSON_AddNumberToObject(activeChallenge, CERT_MOCK_NETWORK_PARA_ERRCODE, certNetworkMockData->activeToken.errCode); - - cJSON_AddItemToObject(activeToken, CERT_MOCK_NETWORK_PARA_CHALLENGE, activeChallenge); - cJSON_AddItemToObject(activeToken, CERT_MOCK_NETWORK_RESPONSE, activeResponse); - - //添加到最外层的json中 - cJSON_AddItemToObject(netWorkMockJson, CERT_MOCK_NETWORK_AUTHCHANGE, authStatusChange); - cJSON_AddItemToObject(netWorkMockJson, CERT_MOCK_NETWORK_RESET, resetDevice); - cJSON_AddItemToObject(netWorkMockJson, CERT_MOCK_NETWORK_AUTH, authDevice); - cJSON_AddItemToObject(netWorkMockJson, CERT_MOCK_NETWORK_ACTIVE, activeToken); - - const char *network_para = cJSON_PrintUnformatted(netWorkMockJson); - - cJSON_Delete(netWorkMockJson); - - int32_t ret = WriteFile(CERT_MOCK_DATA_PATH, CERT_MOCK_NETWORK_PARA_FILE_NAME, network_para, strlen(network_para)); - if (ret != CERT_OK) { - return CERT_ERR; - } - - CERT_MEM_FREE(network_para); - return ret; -} - -// 删除本地 -bool DeleteFile(const char* path, const char* fileName) -{ - if (path == NULL || fileName == NULL) { - return false; - } - if (strlen(path) == 0 || strlen(fileName) == 0) { - return false; - } - char* filePath = GenFilePath(path, fileName); - if (filePath == NULL) { - return false; - } - int32_t ret = remove(filePath); - CERT_MEM_FREE(filePath); - if (ret != 0) { - return false; - } - return true; -} -#ifdef __cplusplus -#if __cplusplus -} -#endif -#endif /* __cplusplus */ \ No newline at end of file diff --git a/cert_mgr_service/test/unittest/src/cert_mock.h b/cert_mgr_service/test/unittest/src/cert_mock.h deleted file mode 100644 index c9e9529a0141c002e95342d485b537ce9a23c286..0000000000000000000000000000000000000000 --- a/cert_mgr_service/test/unittest/src/cert_mock.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __CERT_MOCK_TYPE__ -#define __CERT_MOCK_TYPE__ - -#ifdef __cplusplus -#if __cplusplus -extern "C" { -#endif -#endif /* __cplusplus */ - -#define CERT_MOCK_DATA_PATH "/data/data" -#define CERT_MOCK_TOKEN_FILE_NAME "token" -#define CERT_MOCK_AUTH_STATUS_FILE_NAME "auth_status" -#define CERT_MOCK_RESET_FLAG_FILE_NAME "reset_flag" -#define CERT_MOCK_TICKET_FILE_NAME "ticket" - -#define CERT_MOCK_NETWORK_PARA_FILE_NAME "cert_mock_network_para" -#define CERT_MOCK_DEVICE_PARA_FILE_NAME "cert_mock_device_para" - -#define CERT_MOCK_TOKEN "6PkCJZDsUfuqqdvxTLv8ZH+FqASsUInUV4y9IPLHtPyJt0v0RrwtVaLHpEunfMjD,yCbOb5Y3M4sgXEqhyTqIXwDl4JEWTmEfWr3Vov0NamgsBmzMCHXsM4xH3pNT+ZMd,XXoIPrlEu6EV+/rI,1000" - -#define CERT_MOCK_DEVICE_PARA_VERSION_ID "versionId" -#define CERT_MOCK_DEVICE_PARA_VERSION_HASH "buildRootHash" -#define CERT_MOCK_DEVICE_PARA_DISPLAY_VERSION "displayVersion" -#define CERT_MOCK_DEVICE_PARA_MANU_STR "manufacture" -#define CERT_MOCK_DEVICE_PARA_DEVICE_MODEL "productModel" -#define CERT_MOCK_DEVICE_PARA_BRAND "brand" -#define CERT_MOCK_DEVICE_PARA_PATCH_TAG "securityPatchTag" -#define CERT_MOCK_DEVICE_PARA_SERIAL "serial" - -#define CERT_MOCK_NETWORK_PARA_CURRENTTIME "currentTime" -#define CERT_MOCK_NETWORK_PARA_CHALLENGE "challenge" -#define CERT_MOCK_NETWORK_PARA_ERRCODE "errcode" -#define CERT_MOCK_NETWORK_PARA_TICKET "ticket" -#define CERT_MOCK_NETWORK_PARA_UUID "uuid" -#define CERT_MOCK_NETWORK_PARA_AUTHSTATS "authStats" -#define CERT_MOCK_NETWORK_PARA_TOKEN "token" - -#define CERT_MOCK_NETWORK_RESPONSE "response" -#define CERT_MOCK_NETWORK_AUTHCHANGE "authStatusChange" -#define CERT_MOCK_NETWORK_RESET "resetDevice" -#define CERT_MOCK_NETWORK_AUTH "authDevice" -#define CERT_MOCK_NETWORK_ACTIVE "activeToken" - -#define AUTH_SATUS_LEN 500 -#define TICKET_LEN 100 - -typedef struct CertDeviceMockData { - const char* mockVersionId; - const char* mockVersionHash; - const char* mockDisplayVersion; - const char* mockManuStr; - const char* mockDeviceModel; - const char* mockBrand; - const char* mockPatchTag; - const char* mockSerial; -} CertDeviceMockData; - -typedef struct AuthStatusChangeMockData { - long long currentTime; - const char* challenge; - int errCode; - -} AuthStatusChangeMockData; - -typedef struct ResetNetMockData { - long long currentTime; - const char* challenge; - int errCode; - int responseErrCode; -} ResetNetMockData; - -typedef struct AuthNetMockData { - long long currentTime; - const char* challenge; - int errCode; - const char* ticket; - const char* uuid; - const char* authStats; - const char* token; - int responseErrCode; -} AuthNetMockData; - -typedef struct ActiveNetMockData { - long long currentTime; - const char* challenge; - int errCode; - int responseErrCode; -} ActiveNetMockData; - -typedef struct CertNetworkMockData { - struct AuthStatusChangeMockData authStatusChange; - struct ResetNetMockData resetNetMockData; - struct AuthNetMockData authDevice; - struct ActiveNetMockData activeToken; -} CertNetworkMockData; - -typedef struct CertMockData { - struct CertDeviceMockData deviceMockData; - struct CertNetworkMockData certNetworkMockData; -} CertMockData; - -// 初始化MOCKData -int32_t InitMockData(CertMockData *certMockData); - -// 初始化NetWorkData -int32_t WriteNetWorkMock(CertNetworkMockData *certNetworkMockData); - -// 删除文件 -bool DeleteFile(const char* path, const char* fileName); - - -#ifdef __cplusplus -#if __cplusplus -} -#endif -#endif /* __cplusplus */ - -#endif \ No newline at end of file diff --git "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_core.z.so" "b/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_core.z.so" deleted file mode 100644 index 665d7edb8b5aee70b011c45b5ac012c397f56fa2..0000000000000000000000000000000000000000 Binary files "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_core.z.so" and /dev/null differ diff --git "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_oem_adapter.z.so" "b/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_oem_adapter.z.so" deleted file mode 100644 index 1ba61b620f313d585acddc19e95cef08b223fed0..0000000000000000000000000000000000000000 Binary files "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_oem_adapter.z.so" and /dev/null differ diff --git "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_sdk.z.so" "b/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_sdk.z.so" deleted file mode 100644 index d5d23e35fc032eeeef455384ca1013df1c00b141..0000000000000000000000000000000000000000 Binary files "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_sdk.z.so" and /dev/null differ diff --git "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_service.z.so" "b/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_service.z.so" deleted file mode 100644 index ac35e5187f91e4b29d67939cf835317678549236..0000000000000000000000000000000000000000 Binary files "a/\344\272\214\350\277\233\345\210\266\351\233\206\346\210\220\345\245\227\344\273\266/libcert_mgr_service.z.so" and /dev/null differ