From da7c11ec7296767bbb8d5e3093b3c2612b98f1b2 Mon Sep 17 00:00:00 2001 From: Kemin <541416002@qq.com> Date: Thu, 3 Nov 2022 17:32:01 +0800 Subject: [PATCH] =?UTF-8?q?cert=E5=90=8C=E6=AD=A5devattest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cert_mgr_service/BUILD.gn | 4 +- cert_mgr_service/build/certconfig.gni | 2 +- .../framework/small/include/cert_mgr_log.h | 13 +- .../src/client/cert_framework_client_proxy.c | 2 +- cert_mgr_service/services/core/BUILD.gn | 15 +- .../services/core/adapter/cert_adapter.c | 34 ++- .../services/core/adapter/cert_adapter_mock.c | 76 +++++ .../services/core/cert/cert_service_active.c | 8 +- .../services/core/cert/cert_service_auth.c | 4 +- .../core/cert/cert_service_challenge.c | 4 +- .../services/core/cert/cert_service_reset.c | 4 +- cert_mgr_service/services/core/cert_entry.c | 3 +- cert_mgr_service/services/core/dfx/cert_dfx.c | 2 +- .../core/include/adapter/cert_adapter.h | 2 +- .../core/include/adapter/cert_adapter_mock.h | 10 + .../services/core/include/cert_error.h | 12 + .../services/core/include/cert_type.h | 12 - .../core/include/network/cert_channel.h | 1 - .../core/include/security/cert_security.h | 2 - .../services/core/include/utils/cert_utils.h | 2 +- .../core/include/utils/cert_utils_file.h | 5 +- .../core/include/utils/cert_utils_log.h | 2 +- .../services/core/network/cert_channel.c | 2 +- .../services/core/network/cert_network.c | 2 +- .../services/core/security/cert_security.c | 12 +- .../services/core/utils/cert_utils.c | 40 ++- .../services/core/utils/cert_utils_file.c | 261 ++++++++++-------- .../services/core/utils/cert_utils_log.c | 5 +- cert_mgr_service/test/data/token | 1 + .../certmanager_posix/src/certmgrTest.cpp | 92 +++--- .../certmanager_posix/src/utils/cert_mock.c | 81 +----- .../certmanager_posix/src/utils/cert_mock.h | 17 +- .../devattest_posix/src/devattestTest.cpp | 5 +- .../devattest_posix/src/utils/attest_mock.c | 40 --- 34 files changed, 384 insertions(+), 393 deletions(-) create mode 100644 cert_mgr_service/test/data/token diff --git a/cert_mgr_service/BUILD.gn b/cert_mgr_service/BUILD.gn index 4117b99..8855c65 100644 --- a/cert_mgr_service/BUILD.gn +++ b/cert_mgr_service/BUILD.gn @@ -19,9 +19,7 @@ lite_component("cert_mgr_service") { "framework:cert_framework_service", "test/startup:cert_framework_client", ] - } - - if (ohos_kernel_type == "liteos_m") { + } else if (ohos_kernel_type == "liteos_m") { features += [ "framework:cert_mgr_sdk", ] diff --git a/cert_mgr_service/build/certconfig.gni b/cert_mgr_service/build/certconfig.gni index e60dcc4..e7f4f6c 100644 --- a/cert_mgr_service/build/certconfig.gni +++ b/cert_mgr_service/build/certconfig.gni @@ -24,7 +24,7 @@ declare_args() { enable_cert_test_sample = false # 控制DFX开关。 true:开启dfx - enable_cert_debug_dfx = true + enable_cert_debug_dfx = false } # 声明通用全局宏 diff --git a/cert_mgr_service/framework/small/include/cert_mgr_log.h b/cert_mgr_service/framework/small/include/cert_mgr_log.h index f6f0e19..aa8a18b 100644 --- a/cert_mgr_service/framework/small/include/cert_mgr_log.h +++ b/cert_mgr_service/framework/small/include/cert_mgr_log.h @@ -24,11 +24,14 @@ extern "C" { #endif #endif -#define HILOGD(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_DEBUG, 0xD001800, "CERTMGR", fmt, ##__VA_ARGS__)) -#define HILOGI(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_INFO, 0xD001800, "CERTMGR", fmt, ##__VA_ARGS__)) -#define HILOGW(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_WARN, 0xD001800, "CERTMGR", fmt, ##__VA_ARGS__)) -#define HILOGE(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_ERROR, 0xD001800, "CERTMGR", fmt, ##__VA_ARGS__)) -#define HILOGT(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_FATAL, 0xD001800, "CERTMGR", fmt, ##__VA_ARGS__)) +#define CERT_LOG_DOMAIN 0xD001800 +#define CERT_LOG_LABEL "CERTMGR" + +#define HILOGD(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_DEBUG, CERT_LOG_DOMAIN, CERT_LOG_LABEL, fmt, ##__VA_ARGS__)) +#define HILOGI(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_INFO, CERT_LOG_DOMAIN, CERT_LOG_LABEL, fmt, ##__VA_ARGS__)) +#define HILOGW(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_WARN, CERT_LOG_DOMAIN, CERT_LOG_LABEL, fmt, ##__VA_ARGS__)) +#define HILOGE(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_ERROR, CERT_LOG_DOMAIN, CERT_LOG_LABEL, fmt, ##__VA_ARGS__)) +#define HILOGT(fmt, ...) ((void)HiLogPrint(LOG_CORE, LOG_FATAL, CERT_LOG_DOMAIN, CERT_LOG_LABEL, fmt, ##__VA_ARGS__)) #ifdef __cplusplus #if __cplusplus diff --git a/cert_mgr_service/framework/small/src/client/cert_framework_client_proxy.c b/cert_mgr_service/framework/small/src/client/cert_framework_client_proxy.c index 2fc0867..28e4a6d 100644 --- a/cert_mgr_service/framework/small/src/client/cert_framework_client_proxy.c +++ b/cert_mgr_service/framework/small/src/client/cert_framework_client_proxy.c @@ -117,7 +117,7 @@ static int32_t StartProc(IUnknown *iUnknown) return CERTMANAGER_FAIL; } if (result != CERTMANAGER_SUCCESS) { - HILOGW("[StartProc] An error has occurred"); + HILOGE("[StartProc] An error has occurred"); } return CERTMANAGER_SUCCESS; } diff --git a/cert_mgr_service/services/core/BUILD.gn b/cert_mgr_service/services/core/BUILD.gn index e98736c..7b216e5 100644 --- a/cert_mgr_service/services/core/BUILD.gn +++ b/cert_mgr_service/services/core/BUILD.gn @@ -93,10 +93,11 @@ config("cert_mgr_core_config") { ] } - copy("token") { - sources = ["${certmanager_path}/test/data/tokenA"] - outputs = ["$root_out_dir/data/cert/tokenA"] - } + copy("token") { + sources = ["${certmanager_path}/test/data/tokenA"] + outputs = ["$root_out_dir/data/cert/tokenA"] + } + if (enable_cert_test_mock_network) { copy("cert_mock_network_para") { sources = ["${certmanager_path}/test/data/cert_mock_network_para"] @@ -114,6 +115,11 @@ config("cert_mgr_core_config") { outputs = ["$root_out_dir/data/cert/cert_mock_device_para"] } + copy("cert_mock_token") { + sources = ["${certmanager_path}/test/data/token"] + outputs = ["$root_out_dir/data/cert/token"] + } + defines += [ "__CERT_MOCK_DEVICE_STUB__", ] @@ -203,6 +209,7 @@ if (ohos_kernel_type == "liteos_m") { if (enable_cert_test_mock_device) { deps += [ ":cert_mock_device_para", + ":cert_mock_token", ] } } diff --git a/cert_mgr_service/services/core/adapter/cert_adapter.c b/cert_mgr_service/services/core/adapter/cert_adapter.c index c409243..bb6e8d3 100644 --- a/cert_mgr_service/services/core/adapter/cert_adapter.c +++ b/cert_mgr_service/services/core/adapter/cert_adapter.c @@ -66,15 +66,19 @@ int32_t CertWriteTicket(const TicketInfo* ticketInfo) // 读取Manufacturekey int32_t CertGetManufacturekey(uint8_t manufacturekey[], uint32_t len) { + if (CERT_MOCK_DEVICE_STUB_FLAG) { + return OsGetAcKeyStub((char*)manufacturekey, len); + } return HalGetAcKey((char*)manufacturekey, len); - // return OEMGetManufacturekey((char*)manufacturekey, len); } // 读取ProductId int32_t CertGetProductId(uint8_t productId[], uint32_t len) { + if (CERT_MOCK_DEVICE_STUB_FLAG) { + return OsGetProdIdStub((char*)productId, len); + } return HalGetProdId((char*)productId, len); - // return OEMGetProductId((char*)productId, len); } // 读取Token @@ -84,8 +88,13 @@ int32_t CertReadToken(TokenInfo* tokenInfo) return CERT_ERR; } char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - // int32_t ret = OEMReadToken(token, sizeof(token)); - int32_t ret = HalReadToken(token, sizeof(token)); + int32_t ret = 0; + if (CERT_MOCK_DEVICE_STUB_FLAG) { + ret = OsReadTokenStub(token, sizeof(token)); + } else { + ret = HalReadToken(token, sizeof(token)); + } + if (ret != CERT_OK) { CERT_LOG_ERROR("[CertReadToken] Read oem token failed, ret = %d", ret); return ret; @@ -137,8 +146,13 @@ int32_t CertWriteToken(TokenInfo* tokenInfo) if (memcpy_s(token + offset, sizeof(token), tokenInfo->version, sizeof(tokenInfo->version)) != 0) { return CERT_ERR; } - int32_t ret = HalWriteToken(token, sizeof(token)); - // int32_t ret = OEMWriteToken(token, sizeof(token)); + int32_t ret = 0; + if (CERT_MOCK_DEVICE_STUB_FLAG) { + ret = OsWriteTokenStub(token, sizeof(token)); + } else { + ret = HalWriteToken(token, sizeof(token)); + } + if (ret != CERT_OK) { CERT_LOG_ERROR("[CertWriteToken] Write token failed, ret = %d", ret); ret = CERT_ERR; @@ -147,10 +161,12 @@ int32_t CertWriteToken(TokenInfo* tokenInfo) } // 读取ProductKey -int32_t CertGetProductKey(uint8_t productId[], uint32_t len) +int32_t CertGetProductKey(uint8_t productKey[], uint32_t len) { - return HalGetProdKey((char*)productId, len); - // return ohos_product_adapter_dir((char*)productId, len); + if (CERT_MOCK_DEVICE_STUB_FLAG) { + return OsGetProdKeyStub((char*)productKey, len); + } + return HalGetProdKey((char*)productKey, len); } char* CertGetVersionId(void) diff --git a/cert_mgr_service/services/core/adapter/cert_adapter_mock.c b/cert_mgr_service/services/core/adapter/cert_adapter_mock.c index e9242f1..23e2590 100644 --- a/cert_mgr_service/services/core/adapter/cert_adapter_mock.c +++ b/cert_mgr_service/services/core/adapter/cert_adapter_mock.c @@ -190,3 +190,79 @@ char* OsGetUdidStub(void) CERT_LOG_INFO_ANONY("[OsGetUdidStub] Sha256(udid) = %s\n", udidSha256); return udidSha256; } + +int OsGetAcKeyStub(char *acKey, unsigned int len) +{ + if ((acKey == NULL) || (len == 0)) { + return CERT_ERR; + } + const char manufacturekeyBuf[] = { + 0x13, 0x42, 0x3F, 0x3F, 0x53, 0x3F, 0x72, 0x30, 0x3F, 0x3F, 0x1C, 0x3F, 0x2F, 0x3F, 0x2E, 0x42, + 0x3F, 0x08, 0x3F, 0x57, 0x3F, 0x10, 0x3F, 0x3F, 0x29, 0x17, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x57, 0x16, 0x3F, 0x7D, 0x4A, 0x0F, 0x3F, 0x3F, 0x3F, 0x30, 0x0C, 0x3F, 0x3F, 0x4C, 0x3F, 0x47 + }; + uint32_t manufacturekeyBufLen = sizeof(manufacturekeyBuf); + if (len < manufacturekeyBufLen) { + return CERT_ERR; + } + + int ret = memcpy_s(acKey, len, manufacturekeyBuf, manufacturekeyBufLen); + return ret; +} + +int OsGetProdIdStub(char* productId, uint32_t len) +{ + if ((productId == NULL) || (len == 0)) { + return CERT_ERR; + } + const char productIdBuf[] = "OH00000D"; + uint32_t productIdLen = strlen(productIdBuf); + if (len < productIdLen) { + return CERT_ERR; + } + + int ret = memcpy_s(productId, len, productIdBuf, productIdLen); + return ret; +} + +int OsGetProdKeyStub(char* productKey, uint32_t len) +{ + if ((productKey == NULL) || (len == 0)) { + return CERT_ERR; + } + const char productKeyBuf[] = "test"; + uint32_t productKeyLen = sizeof(productKeyBuf); + if (len < productKeyLen) { + return CERT_ERR; + } + + int ret = memcpy_s(productKey, len, productKeyBuf, productKeyLen); + return ret; +} + +int32_t OsReadTokenStub(char* buffer, uint32_t bufferLen) +{ + if (buffer == NULL || bufferLen == 0) { + return CERT_ERR; + } + int32_t ret = ReadFile(CETR_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, buffer, bufferLen); + if (ret != 0) { + return CERT_ERR; + } + return CERT_OK; +} + +int32_t OsWriteTokenStub(char* buffer, uint32_t bufferLen) +{ + if (buffer == NULL || bufferLen == 0) { + return CERT_ERR; + } + if (CreateFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME) != 0) { + return CERT_ERR; + } + int32_t ret = WriteFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, buffer, bufferLen); + if (ret != 0) { + return CERT_ERR; + } + return CERT_OK; +} \ No newline at end of file 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 e2bd648..f1037a8 100644 --- a/cert_mgr_service/services/core/cert/cert_service_active.c +++ b/cert_mgr_service/services/core/cert/cert_service_active.c @@ -19,11 +19,11 @@ #include "cert_utils_json.h" #include "cert_dfx.h" #include "cert_security.h" -#include "cert_service_device.h" #include "cert_security_token.h" +#include "cert_service_device.h" +#include "cert_service_active.h" #include "cert_network.h" #include "cert_adapter_mock.h" -#include "cert_service_active.h" int32_t GenActiveMsg(AuthResult* authResult, const ChallengeResult* challengeResult, DevicePacket** devPacket) { @@ -99,8 +99,8 @@ int32_t ParseActiveResult(const char* jsonStr) CERT_LOG_ERROR("[ParseActiveResult] Invalid parameter"); return CERT_ERR; } - int32_t errorCode = (int32_t)GetObjectItemValueNumber(jsonStr, "errcode"); - if (isnan(errorCode) || errorCode < 0) { + uint64_t errorCode = GetObjectItemValueNumber(jsonStr, "errcode"); + if (isnan(errorCode)) { CERT_LOG_ERROR("[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 0763ad8..c25bfc3 100644 --- a/cert_mgr_service/services/core/cert/cert_service_auth.c +++ b/cert_mgr_service/services/core/cert/cert_service_auth.c @@ -30,7 +30,7 @@ bool IsAuthStatusChg(void) { CERT_LOG_DEBUG("[IsAuthStatusChg] Begin."); char* authStatusBase64 = NULL; - if (GetAuthStatus(&authStatusBase64) != 0) { + if (GetAuthStatus(&authStatusBase64) != CERT_OK) { CERT_LOG_ERROR("[IsAuthStatusChg] Load auth status failed or status file not exist"); return true; } @@ -594,7 +594,7 @@ static int32_t ParseTicket(const cJSON* json, AuthResult* authResult) if (memcpy_s(authResult->ticket, len + 1, item, len + 1) != 0) { CERT_MEM_FREE(authResult->ticket); authResult->ticket = NULL; - CERT_LOG_ERROR("[ParseAuthStats] ticket memset_s or copy failed"); + CERT_LOG_ERROR("[ParseTicket] ticket memset_s or copy failed"); return CERT_ERR; } 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 bb920fc..4d00312 100644 --- a/cert_mgr_service/services/core/cert/cert_service_challenge.c +++ b/cert_mgr_service/services/core/cert/cert_service_challenge.c @@ -85,8 +85,8 @@ static int32_t ParseChallengeResult(const char* jsonStr, ChallengeResult *challe CERT_LOG_ERROR("[ParseChallengeResult] Invalid parameter"); return CERT_ERR; } - int32_t errorCode = (int32_t) GetObjectItemValueNumber(jsonStr, "errcode"); - if (isnan(errorCode) || errorCode < 0) { + uint64_t errorCode = GetObjectItemValueNumber(jsonStr, "errcode"); + if (isnan(errorCode)) { CERT_LOG_WARN("[ParseChallengeResult] errorCode is nan."); CERT_LOG_ERROR("[ParseChallengeResult] Parse msg failed."); return CERT_ERR; 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 fede769..231f9af 100644 --- a/cert_mgr_service/services/core/cert/cert_service_reset.c +++ b/cert_mgr_service/services/core/cert/cert_service_reset.c @@ -86,8 +86,8 @@ int32_t ParseResetResult(const char* jsonStr) CERT_LOG_ERROR("[ParseResetResult] Invalid parameter"); return CERT_ERR; } - int32_t errorCode = (int32_t) GetObjectItemValueNumber(jsonStr, "errcode"); - if (isnan(errorCode)|| errorCode < 0) { + uint64_t errorCode = GetObjectItemValueNumber(jsonStr, "errcode"); + if (isnan(errorCode)) { CERT_LOG_ERROR("[ParseResetResult] errorCode is nan."); return CERT_ERR; } diff --git a/cert_mgr_service/services/core/cert_entry.c b/cert_mgr_service/services/core/cert_entry.c index 933da5f..b59cd0b 100644 --- a/cert_mgr_service/services/core/cert_entry.c +++ b/cert_mgr_service/services/core/cert_entry.c @@ -60,7 +60,7 @@ int32_t CertTask(void) // 执行主流程代码 int32_t ret = ProcCert(); if (ret != CERT_OK) { - CERT_LOG_ERROR("[CertTask] Proc Cert failed ret = %d.", ret); + CERT_LOG_ERROR("[CertTask] Proc failed ret = %d.", ret); } // 创建主流程定时器 @@ -69,6 +69,7 @@ int32_t CertTask(void) #else ret = CreateTimerTask(EXPIRED_INTERVAL, &ProcCert, CERT_TIMER_TYPE_PERIOD); #endif + if (ret != CERT_OK) { CERT_LOG_ERROR("[CertTask] Create Periodic TimerTask return ret = %d.", ret); } diff --git a/cert_mgr_service/services/core/dfx/cert_dfx.c b/cert_mgr_service/services/core/dfx/cert_dfx.c index acecea6..a6ef695 100644 --- a/cert_mgr_service/services/core/dfx/cert_dfx.c +++ b/cert_mgr_service/services/core/dfx/cert_dfx.c @@ -183,7 +183,7 @@ void PrintAuthResult(AuthResult* authResult) if (authResult->authStatus == NULL) { CERT_LOG_WARN("authStatus = null;"); } else { - CERT_LOG_INFO_ANONY("authStatus = %s;", authResult->authStatus); + // authResult->authStatus 内容过长,不在打印 } CERT_LOG_INFO("----------------------------"); } diff --git a/cert_mgr_service/services/core/include/adapter/cert_adapter.h b/cert_mgr_service/services/core/include/adapter/cert_adapter.h index 15cb4db..2d94991 100644 --- a/cert_mgr_service/services/core/include/adapter/cert_adapter.h +++ b/cert_mgr_service/services/core/include/adapter/cert_adapter.h @@ -64,7 +64,7 @@ int32_t CertReadToken(TokenInfo* tokenInfo); int32_t CertWriteToken(TokenInfo* tokenInfo); -int32_t CertGetProductKey(uint8_t productId[], uint32_t len); +int32_t CertGetProductKey(uint8_t productKey[], uint32_t len); int32_t CertSetParameter(const char *key, const char *value); diff --git a/cert_mgr_service/services/core/include/adapter/cert_adapter_mock.h b/cert_mgr_service/services/core/include/adapter/cert_adapter_mock.h index 60c4a6e..a04d635 100644 --- a/cert_mgr_service/services/core/include/adapter/cert_adapter_mock.h +++ b/cert_mgr_service/services/core/include/adapter/cert_adapter_mock.h @@ -37,6 +37,7 @@ extern "C" { #define CETR_MOCK_STUB_PATH "/storage/data/cert" #define CETR_MOCK_STUB_NETWORK_NAME "cert_mock_network_para" #define CETR_MOCK_STUB_DEVICE_NAME "cert_mock_device_para" +#define CERT_MOCK_TOKEN_FILE_NAME "token" #define CERT_MOCK_STUB_MAX_LEN 512 // 定义打桩数据Json的节点名称 @@ -67,6 +68,15 @@ char* OsGetSecurityPatchTagStub(void); char* OsGetUdidStub(void); +int OsGetAcKeyStub(char *acKey, unsigned int len); + +int OsGetProdIdStub(char* productId, uint32_t len); + +int OsGetProdKeyStub(char* productKey, uint32_t len); + +int32_t OsReadTokenStub(char* buffer, uint32_t bufferLen); + +int32_t OsWriteTokenStub(char* buffer, uint32_t bufferLen); #ifdef __cplusplus #if __cplusplus diff --git a/cert_mgr_service/services/core/include/cert_error.h b/cert_mgr_service/services/core/include/cert_error.h index da49bbd..3e98c0c 100644 --- a/cert_mgr_service/services/core/include/cert_error.h +++ b/cert_mgr_service/services/core/include/cert_error.h @@ -25,6 +25,18 @@ extern "C" { #define CERT_OK 0 #define CERT_ERR (-1) +// +#define WISE_HTTPS_ERROR 4999 +#define WISE_INVALID_CHALLENGE 14001 +#define WISE_RETRY_CNT 1 + +#define IS_WISE_RETRY(d_error) ((d_error) == WISE_INVALID_CHALLENGE || (d_error) == WISE_HTTPS_ERROR) + +// 豸֤ +#define DEVICE_CERT_INIT (-2) +#define DEVICE_CERT_FAIL (-1) +#define DEVICE_CERT_PASS (0) + #define ERR_INVALID_PARAM 101 #define ERR_SYSTEM_CALL 102 #define ERR_OUT_CAPACITY 103 diff --git a/cert_mgr_service/services/core/include/cert_type.h b/cert_mgr_service/services/core/include/cert_type.h index e346aa2..09d3e29 100644 --- a/cert_mgr_service/services/core/include/cert_type.h +++ b/cert_mgr_service/services/core/include/cert_type.h @@ -35,18 +35,6 @@ extern "C" { #endif #endif /* __cplusplus */ -// 网络访问相关 -#define WISE_HTTPS_ERROR 4999 -#define WISE_INVALID_CHALLENGE 14001 -#define WISE_RETRY_CNT 1 - -#define IS_WISE_RETRY(d_error) ((d_error) == WISE_INVALID_CHALLENGE || (d_error) == WISE_HTTPS_ERROR) - -// 设备认证结果 -#define DEVICE_CERT_INIT (-2) -#define DEVICE_CERT_FAIL (-1) -#define DEVICE_CERT_PASS (0) - #define MAX_CERT_BUFF_LEN 256 #define STARTSUP_PARA_CERT_KEY "cert.auth.result" diff --git a/cert_mgr_service/services/core/include/network/cert_channel.h b/cert_mgr_service/services/core/include/network/cert_channel.h index e59344b..4821f65 100644 --- a/cert_mgr_service/services/core/include/network/cert_channel.h +++ b/cert_mgr_service/services/core/include/network/cert_channel.h @@ -19,7 +19,6 @@ #include #include -//#include "mbedtls/certs.h" #include "mbedtls/ctr_drbg.h" #include "mbedtls/debug.h" #include "mbedtls/entropy.h" diff --git a/cert_mgr_service/services/core/include/security/cert_security.h b/cert_mgr_service/services/core/include/security/cert_security.h index 39fd136..d2fc3c9 100644 --- a/cert_mgr_service/services/core/include/security/cert_security.h +++ b/cert_mgr_service/services/core/include/security/cert_security.h @@ -21,10 +21,8 @@ #include "ctr_drbg.h" #include "hkdf.h" #include "md.h" -//#include "md_internal.h" #include "sha256.h" #include "entropy.h" -#include "mbedtls/private_access.h" #ifdef __cplusplus #if __cplusplus diff --git a/cert_mgr_service/services/core/include/utils/cert_utils.h b/cert_mgr_service/services/core/include/utils/cert_utils.h index 5d7f3cf..9b35e9a 100644 --- a/cert_mgr_service/services/core/include/utils/cert_utils.h +++ b/cert_mgr_service/services/core/include/utils/cert_utils.h @@ -49,7 +49,7 @@ int32_t ToLowerStr(char* str, int len); int32_t StrToHex(char *pbDest, char *pbSrc, int nLen); -int Sha256Value(const unsigned char *src, char *dest, int destLen); +int Sha256Value(const unsigned char *src, int srcLen, char *dest, int destLen); int32_t AnonymiseStr(char* str); 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 d1b7328..142f3ba 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 @@ -32,8 +32,11 @@ int32_t ReadFile(const char* path, const char* fileName, char* buffer, uint32_t int32_t CreateFile(const char* path, const char* fileName); +bool DeleteFile(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); + +int32_t ReadFileBuffer(const char* path, const char* fileName, char** outStr); bool IsOverTemperatureLimit(void); 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 82a6fc3..cf7a215 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 @@ -32,7 +32,7 @@ typedef enum { CERT_LOG_LEVEL_FATAL, } CertLogLevel; -#define CERT_LOG_STR_LEM 1024 +#define CERT_LOG_STR_LEM 256 #define CERTLOG_LABEL "CERTMGR" diff --git a/cert_mgr_service/services/core/network/cert_channel.c b/cert_mgr_service/services/core/network/cert_channel.c index fcf632f..6ba6153 100644 --- a/cert_mgr_service/services/core/network/cert_channel.c +++ b/cert_mgr_service/services/core/network/cert_channel.c @@ -175,7 +175,7 @@ int32_t TLSWrite(const TLSSession* session, const uint8_t* buf, size_t len) (uint8_t*)(buf + writeLen), len - writeLen); if (ret < 0 && ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE && ret != MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS) { - CERT_LOG_ERROR("[TLSConnect] Write to server failed, ret = -0x%x.", -ret); + CERT_LOG_ERROR("[TLSWrite] Write to server failed, ret = -0x%x.", -ret); return ERR_NET_WRITE_FAIL; } if (ret >= 0) { diff --git a/cert_mgr_service/services/core/network/cert_network.c b/cert_mgr_service/services/core/network/cert_network.c index 86a3c8a..b6761a3 100644 --- a/cert_mgr_service/services/core/network/cert_network.c +++ b/cert_mgr_service/services/core/network/cert_network.c @@ -596,7 +596,7 @@ static int32_t GenUdidSHA256HEX(char* udid, char** udidSHA256Hex) if (udidAfterSHA256 == NULL) { return CERT_ERR; } - ret = Sha256Value((const unsigned char *)udid, udidAfterSHA256, UDID_SHA256_OUTPUT_SIZE + 1); + ret = Sha256Value((const unsigned char *)udid, UDID_STRING_LEN, udidAfterSHA256, UDID_SHA256_OUTPUT_SIZE + 1); if (ret != CERT_OK) { CERT_LOG_ERROR("[GenUdidSHA256HEX] Sha256 value failed."); CERT_MEM_FREE(udidAfterSHA256); diff --git a/cert_mgr_service/services/core/security/cert_security.c b/cert_mgr_service/services/core/security/cert_security.c index e4c48ac..ff4e6c5 100644 --- a/cert_mgr_service/services/core/security/cert_security.c +++ b/cert_mgr_service/services/core/security/cert_security.c @@ -202,17 +202,17 @@ static int32_t EncryptAesCbc(AesCryptBufferDatas* datas, const uint8_t* aesKey, mbedtls_cipher_info_t cipherInfo; (void)memset_s(&cipherInfo, sizeof(cipherInfo), 0, sizeof(cipherInfo)); - cipherInfo.MBEDTLS_PRIVATE(mode) = MBEDTLS_MODE_CBC; + cipherInfo.mode = MBEDTLS_MODE_CBC; mbedtls_cipher_context_t cipherCtx; mbedtls_cipher_init(&cipherCtx); - cipherCtx.MBEDTLS_PRIVATE(cipher_info) = &cipherInfo; + cipherCtx.cipher_info = &cipherInfo; uint32_t ret = mbedtls_cipher_set_padding_mode(&cipherCtx, MBEDTLS_PADDING_PKCS7); if (ret != CERT_OK) { CERT_LOG_ERROR("[EncryptAesCbc] Set padding mode failed, ret = -0x%x", ret); return ret; } - cipherCtx.MBEDTLS_PRIVATE(add_padding)(datas->input, *(datas->outputLen), datas->inputLen); + cipherCtx.add_padding(datas->input, *(datas->outputLen), datas->inputLen); mbedtls_aes_context aesCtx; mbedtls_aes_init(&aesCtx); @@ -276,17 +276,17 @@ static int32_t DecryptAesCbc(AesCryptBufferDatas* datas, const uint8_t* aesKey, mbedtls_cipher_info_t cipherInfo; (void)memset_s(&cipherInfo, sizeof(cipherInfo), 0, sizeof(cipherInfo)); - cipherInfo.MBEDTLS_PRIVATE(mode) = MBEDTLS_MODE_CBC; + cipherInfo.mode = MBEDTLS_MODE_CBC; mbedtls_cipher_context_t cipherCtx; mbedtls_cipher_init(&cipherCtx); - cipherCtx.MBEDTLS_PRIVATE(cipher_info) = &cipherInfo; + cipherCtx.cipher_info = &cipherInfo; ret = mbedtls_cipher_set_padding_mode(&cipherCtx, MBEDTLS_PADDING_PKCS7); if (ret != CERT_OK) { CERT_LOG_ERROR("[DecryptAesCbc] Set padding mode failed, ret = -0x%x", ret); return ret; } - ret = cipherCtx.MBEDTLS_PRIVATE(get_padding)(datas->output, datas->inputLen, datas->outputLen); + ret = cipherCtx.get_padding(datas->output, datas->inputLen, datas->outputLen); if (ret != CERT_OK) { CERT_LOG_ERROR("[DecryptAesCbc] Get padding failed, ret = -0x%x", ret); } diff --git a/cert_mgr_service/services/core/utils/cert_utils.c b/cert_mgr_service/services/core/utils/cert_utils.c index e8f2da5..93ea5b7 100644 --- a/cert_mgr_service/services/core/utils/cert_utils.c +++ b/cert_mgr_service/services/core/utils/cert_utils.c @@ -18,6 +18,7 @@ #include "mbedtls/ctr_drbg.h" #include "mbedtls/entropy.h" #include "mbedtls/sha256.h" +#include "mbedtls/version.h" #include "cert_utils_log.h" #include "cert_utils_memleak.h" #include "cert_utils.h" @@ -26,27 +27,38 @@ #define DEV_BUF_LENGTH 3 #define HASH_LENGTH 32 +#if defined(MBEDTLS_VERSION_NUMBER) && (MBEDTLS_VERSION_NUMBER >= 0x03000000) +#define mbedtls_sha256_starts_ret mbedtls_sha256_starts +#define mbedtls_sha256_update_ret mbedtls_sha256_update +#define mbedtls_sha256_finish_ret mbedtls_sha256_finish +#endif + int32_t GetRandomNum(void) { - mbedtls_ctr_drbg_context randomContext; - mbedtls_entropy_context randomEntropy; - mbedtls_ctr_drbg_init(&randomContext); - mbedtls_entropy_init(&randomEntropy); + static mbedtls_ctr_drbg_context randomContext; + static mbedtls_entropy_context randomEntropy; + static bool initFlag = false; + const char* pers = "CTR_DRBG"; uint8_t random = 0; + int32_t ret = 0; do { - int32_t ret = mbedtls_ctr_drbg_seed(&randomContext, mbedtls_entropy_func, &randomEntropy, - (const uint8_t*)pers, strlen(pers)); - if (ret != CERT_OK) { - break; + if (initFlag == false) { + mbedtls_ctr_drbg_init(&randomContext); + mbedtls_entropy_init(&randomEntropy); + ret = mbedtls_ctr_drbg_seed(&randomContext, mbedtls_entropy_func, &randomEntropy, + (const unsigned char *)pers, strlen(pers)); + if (ret != CERT_OK) { + break; + } + initFlag = true; } + ret = mbedtls_ctr_drbg_random(&randomContext, &random, sizeof(random)); if (ret != CERT_OK) { break; } } while (0); - mbedtls_ctr_drbg_free(&randomContext); - mbedtls_entropy_free(&randomEntropy); return ABS(random); } @@ -195,7 +207,7 @@ int32_t StrToHex(char *pbDest, char *pbSrc, int nLen) return CERT_OK; } -int Sha256Value(const unsigned char *src, char *dest, int destLen) +int Sha256Value(const unsigned char *src, int srcLen, char *dest, int destLen) { if (src == NULL) { return CERT_ERR; @@ -205,9 +217,9 @@ int Sha256Value(const unsigned char *src, char *dest, int destLen) mbedtls_sha256_context context; mbedtls_sha256_init(&context); - mbedtls_sha256_starts(&context, 0); - mbedtls_sha256_update(&context, src, strlen((const char *)src)); - mbedtls_sha256_finish(&context, hash); + mbedtls_sha256_starts_ret(&context, 0); + mbedtls_sha256_update_ret(&context, src, srcLen); + mbedtls_sha256_finish_ret(&context, hash); for (size_t i = 0; i < HASH_LENGTH; i++) { unsigned char value = hash[i]; 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 fc2ef28..e779820 100644 --- a/cert_mgr_service/services/core/utils/cert_utils_file.c +++ b/cert_mgr_service/services/core/utils/cert_utils_file.c @@ -40,49 +40,131 @@ bool IsOverTemperatureLimit(void) if (ret != HI_ERR_SUCCESS) { ret = hi_tsensor_read_temperature(&temperature); if (ret != HI_ERR_SUCCESS) { - CERT_LOG_ERROR("[IsOverTemperatureLimit]: Get temperature fail, ret = %d\n", ret); + CERT_LOG_ERROR("[IsOverTemperatureLimit]: Get temperature fail, ret = %d", ret); return true; } } - CERT_LOG_DEBUG("[IsOverTemperatureLimit]: device's temperature = %d\n", temperature); + CERT_LOG_DEBUG("[IsOverTemperatureLimit]: device's temperature = %d", temperature); return (temperature >= WRITE_FLASH_MAX_TEMPERATURE); } -#endif -char* GenFilePath(const char* dirPath, const char* fileName) +int32_t GetFileSize(const char* path, const char* fileName, uint32_t* result) { - if (dirPath == NULL || fileName == NULL) { - return NULL; + if (path == NULL || fileName == NULL || result == NULL) { + CERT_LOG_ERROR("[GetFileSize] Invalid parameter"); + return CERT_ERR; } + int32_t ret = UtilsFileStat(fileName, result); + if (ret < 0) { + return CERT_ERR; + } + return CERT_OK; +} - uint32_t filePathLen = strlen(dirPath) + 1 + strlen(fileName) + 1; - if (filePathLen > PATH_MAX) { - return NULL; +int32_t WriteFile(const char* path, const char* fileName, const char* data, uint32_t dataLen) +{ + if (path == NULL || fileName == NULL || data == NULL || dataLen == 0) { + CERT_LOG_ERROR("[WriteFile] Invalid parameter"); + return CERT_ERR; } - char* filePath = (char *)CERT_MEM_MALLOC(filePathLen); - if (filePath == NULL) { - return NULL; + + if (dataLen > MAX_FILE_BYTES_LIMIT) { + return CERT_ERR; } - if (sprintf_s(filePath, filePathLen, "%s%s%s", dirPath, "/", fileName) < 0) { - CERT_MEM_FREE(filePath); - return NULL; + if (IsOverTemperatureLimit()) { + return CERT_ERR; } - return filePath; + + int32_t fd = UtilsFileOpen(fileName, O_CREAT_FS | O_TRUNC_FS | O_RDWR_FS, 0); + if (fd < 0) { + CERT_LOG_ERROR("[WriteFile] : Open file failed\n"); + return CERT_ERR; + } + + int ret = 0; + if (UtilsFileWrite(fd, data, dataLen) != (int32_t)dataLen) { + CERT_LOG_ERROR("[WriteFile] : Write data failed\n"); + ret = CERT_ERR; + } + (void)UtilsFileClose(fd); + if (ret < 0) { + return CERT_ERR; + } + return CERT_OK; } -#ifdef __LITEOS_M__ -int32_t GetFileSize(const char* path, const char* fileName, uint32_t* result) +int32_t ReadFile(const char* path, const char* fileName, char* buffer, uint32_t bufferLen) { - if (path == NULL || fileName == NULL || result == NULL) { - CERT_LOG_ERROR("[GetFileSize] Invalid parameter"); + if (path == NULL || fileName == NULL || buffer == NULL || bufferLen == 0) { + CERT_LOG_ERROR("[ReadFile] Invalid parameter"); return CERT_ERR; } - int32_t ret = UtilsFileStat(fileName, result); + + uint32_t fileSize = 0; + if (GetFileSize(path, fileName, &fileSize) != 0 || fileSize > bufferLen) { + CERT_LOG_ERROR("[ReadFile] Invalid fileSize"); + return CERT_ERR; + } + + int32_t fd = UtilsFileOpen(fileName, O_EXCL_FS | O_RDWR_FS, 0); + if (fd < 0) { + CERT_LOG_ERROR("[ReadFile] : Open file failed\n"); + return CERT_ERR; + } + + int32_t ret = 0; + ret = UtilsFileRead(fd, buffer, bufferLen); + (void)UtilsFileClose(fd); if (ret < 0) { return CERT_ERR; } return CERT_OK; } + +int32_t CreateFile(const char* path, const char* fileName) +{ + if (path == NULL || fileName == NULL) { + return CERT_ERR; + } + + int32_t fd = UtilsFileOpen(fileName, O_CREAT_FS, 0); + if (fd < 0) { + return CERT_ERR; + } + (void)UtilsFileClose(fd); + return CERT_OK; +} + +bool IsFileExist(const char* path, const char* fileName) +{ + if (path == NULL || fileName == NULL) { + return false; + } + + int32_t fd = UtilsFileOpen(fileName, O_RDONLY_FS, 0); + if (fd < 0) { + return false; + } + (void)UtilsFileClose(fd); + return true; +} + +bool DeleteFile(const char* path, const char* fileName) +{ + if (path == NULL || fileName == NULL) { + return false; + } + if (strlen(path) == 0 || strlen(fileName) == 0) { + return false; + } + + int32_t ret = UtilsFileDelete(fileName); + if (ret != 0) { + return false; + } + return true; +} + #else int32_t GetFileSize(const char* path, const char* fileName, uint32_t* result) { @@ -121,41 +203,7 @@ int32_t GetFileSize(const char* path, const char* fileName, uint32_t* result) (void)fclose(fp); return CERT_OK; } -#endif -#ifdef __LITEOS_M__ -int32_t WriteFile(const char* path, const char* fileName, const char* data, uint32_t dataLen) -{ - if (path == NULL || fileName == NULL || data == NULL || dataLen == 0) { - CERT_LOG_ERROR("[WriteFile] Invalid parameter"); - return CERT_ERR; - } - - if (dataLen > MAX_FILE_BYTES_LIMIT) { - return CERT_ERR; - } - if (IsOverTemperatureLimit()) { - return CERT_ERR; - } - - int32_t fd = UtilsFileOpen(fileName, O_CREAT_FS | O_TRUNC_FS | O_RDWR_FS, 0); - if (fd < 0) { - CERT_LOG_ERROR("[WriteFile] : Open file failed\n"); - return CERT_ERR; - } - - int ret = 0; - if (UtilsFileWrite(fd, data, dataLen) != (int32_t)dataLen) { - CERT_LOG_ERROR("[WriteFile] : Write data failed\n"); - ret = CERT_ERR; - } - (void)UtilsFileClose(fd); - if (ret < 0) { - return CERT_ERR; - } - return CERT_OK; -} -#else int32_t WriteFile(const char* path, const char* fileName, const char* data, uint32_t dataLen) { if (path == NULL || fileName == NULL || data == NULL || dataLen == 0) { @@ -197,37 +245,7 @@ int32_t WriteFile(const char* path, const char* fileName, const char* data, uint (void)fclose(fp); return CERT_OK; } -#endif - -#ifdef __LITEOS_M__ -int32_t ReadFile(const char* path, const char* fileName, char* buffer, uint32_t bufferLen) -{ - if (path == NULL || fileName == NULL || buffer == NULL || bufferLen == 0) { - CERT_LOG_ERROR("[ReadFile] Invalid parameter"); - return CERT_ERR; - } - - uint32_t fileSize = 0; - if (GetFileSize(path, fileName, &fileSize) != 0 || fileSize > bufferLen) { - CERT_LOG_ERROR("[ReadFile] Invalid fileSize"); - return CERT_ERR; - } - - int32_t fd = UtilsFileOpen(fileName, O_EXCL_FS | O_RDWR_FS, 0); - if (fd < 0) { - CERT_LOG_ERROR("[ReadFile] : Open file failed\n"); - return CERT_ERR; - } - int32_t ret = 0; - ret = UtilsFileRead(fd, buffer, bufferLen); - (void)UtilsFileClose(fd); - if (ret < 0) { - return CERT_ERR; - } - return CERT_OK; -} -#else int32_t ReadFile(const char* path, const char* fileName, char* buffer, uint32_t bufferLen) { if (path == NULL || fileName == NULL || buffer == NULL || bufferLen == 0) { @@ -270,23 +288,7 @@ int32_t ReadFile(const char* path, const char* fileName, char* buffer, uint32_t (void)fclose(fp); return CERT_OK; } -#endif - -#ifdef __LITEOS_M__ -int32_t CreateFile(const char* path, const char* fileName) -{ - if (path == NULL || fileName == NULL) { - return CERT_ERR; - } - int32_t fd = UtilsFileOpen(fileName, O_CREAT_FS, 0); - if (fd < 0) { - return CERT_ERR; - } - (void)UtilsFileClose(fd); - return CERT_OK; -} -#else int32_t CreateFile(const char* path, const char* fileName) { if (path == NULL || fileName == NULL) { @@ -323,23 +325,7 @@ int32_t CreateFile(const char* path, const char* fileName) (void)fclose(fp); return CERT_OK; } -#endif -#ifdef __LITEOS_M__ -bool IsFileExist(const char* path, const char* fileName) -{ - if (path == NULL || fileName == NULL) { - return false; - } - - int32_t fd = UtilsFileOpen(fileName, O_RDONLY_FS, 0); - if (fd < 0) { - return false; - } - (void)UtilsFileClose(fd); - return true; -} -#else bool IsFileExist(const char* path, const char* fileName) { if (path == NULL || fileName == NULL) { @@ -368,8 +354,49 @@ bool IsFileExist(const char* path, const char* fileName) (void)fclose(fp); return true; } + +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; +} #endif +char* GenFilePath(const char* dirPath, const char* fileName) +{ + if (dirPath == NULL || fileName == NULL) { + return NULL; + } + + uint32_t filePathLen = strlen(dirPath) + 1 + strlen(fileName) + 1; + if (filePathLen > PATH_MAX) { + return NULL; + } + char* filePath = (char *)CERT_MEM_MALLOC(filePathLen); + if (filePath == NULL) { + return NULL; + } + if (sprintf_s(filePath, filePathLen, "%s%s%s", dirPath, "/", fileName) < 0) { + CERT_MEM_FREE(filePath); + return NULL; + } + return filePath; +} + int32_t ReadFileBuffer(const char* path, const char* fileName, char** outStr) { if (path == NULL || fileName == NULL || outStr == 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 b459526..2b55547 100644 --- a/cert_mgr_service/services/core/utils/cert_utils_log.c +++ b/cert_mgr_service/services/core/utils/cert_utils_log.c @@ -20,9 +20,9 @@ #include "cert_utils.h" #include "cert_utils_log.h" +#ifdef __LITEOS_M__ static void CertLogPrint(CertLogLevel logLevel, const char *logBuf) { -#ifdef __LITEOS_M__ switch (logLevel) { case CERT_LOG_LEVEL_DEBUG: printf("%s%s\r\n", "[D]", logBuf); @@ -42,7 +42,10 @@ static void CertLogPrint(CertLogLevel logLevel, const char *logBuf) default: break; } +} #else +static void CertLogPrint(CertLogLevel logLevel, const char *logBuf) +{ LogLevel hiLogLevel = LOG_INFO; switch (logLevel) { case CERT_LOG_LEVEL_DEBUG: diff --git a/cert_mgr_service/test/data/token b/cert_mgr_service/test/data/token new file mode 100644 index 0000000..a76f131 --- /dev/null +++ b/cert_mgr_service/test/data/token @@ -0,0 +1 @@ +6PkCJZDsUfuqqdvxTLv8ZH+FqASsUInUV4y9IPLHtPyJt0v0RrwtVaLHpEunfMjD,yCbOb5Y3M4sgXEqhyTqIXwDl4JEWTmEfWr3Vov0NamgsBmzMCHXsM4xH3pNT+ZMd,XXoIPrlEu6EV+/rI,1000 \ No newline at end of file diff --git a/xts/certmanager_lite/certmanager_posix/src/certmgrTest.cpp b/xts/certmanager_lite/certmanager_posix/src/certmgrTest.cpp index 0ce1a91..a208ac4 100644 --- a/xts/certmanager_lite/certmanager_posix/src/certmgrTest.cpp +++ b/xts/certmanager_lite/certmanager_posix/src/certmgrTest.cpp @@ -23,10 +23,10 @@ #include "cert_service.h" #include "cert_type.h" #include "cert_adapter.h" +#include "cert_utils.h" #include "cert_utils_file.h" #include "cert_mock.h" #include "cert_mgr_interface.h" -#include "cert_utils.h" using namespace std; using namespace testing::ext; @@ -98,7 +98,6 @@ static void DeleteMockFile(void) * @tc.name : testStartCertTaskCase001 * @tc.desc : Verify the writing of certMockData and start the task of cert. */ -/* 调用外部接口 */ HWTEST_F(CertMgrTestSuite, testStartCertTaskCase001, Function | MediumTest | Level1) { // 准备环境 @@ -119,8 +118,8 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", int32_t ret = InitMockData(&certMockData); ASSERT_EQ(ret, CERT_OK); - // 外部接口 StartCertTask() - ret = StartCertTask(); + //内部接口,避免启动定时器 + ret = ProcCert(); EXPECT_EQ(ret, CERT_OK); // 外部接口 GetCertStatus(CertResultInfo* certResultInfo) @@ -169,8 +168,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); // 认证成功后,token会变 EXPECT_STRNE(token, CERT_MOCK_TOKEN); @@ -391,8 +389,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); // 认证失败,token不变 EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -434,8 +431,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_TRUE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -476,8 +472,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_TRUE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -518,8 +513,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -560,8 +554,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_TRUE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -602,8 +595,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -644,8 +636,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -686,8 +677,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -728,8 +718,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -770,8 +759,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -812,8 +800,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_TRUE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(CERT_MOCK_TOKEN, token); @@ -854,8 +841,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_TRUE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(CERT_MOCK_TOKEN, token); EXPECT_FALSE(IsFileExist(CERT_MOCK_STUB_PATH, AUTH_STATUS_FILE_NAME)); @@ -898,8 +884,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_TRUE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(CERT_MOCK_TOKEN, token); @@ -940,8 +925,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(CERT_MOCK_TOKEN, token); @@ -982,8 +966,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_FALSE(IS_WISE_RETRY(-ret)); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(CERT_MOCK_TOKEN, token); @@ -1024,8 +1007,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(CERT_MOCK_TOKEN, token); // 检查是否生成reset_flag标签 期望是TRUE @@ -1065,9 +1047,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_TRUE(DeleteFile(CERT_MOCK_STUB_PATH, RESET_FLAG_FILE_NAME)); char beforeToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, beforeToken, sizeof(beforeToken)); - // TokenA存在,TokenB不存在,下一次Token值会写入TokenB - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, beforeToken, sizeof(beforeToken)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, beforeToken, sizeof(beforeToken)); EXPECT_EQ(ret, CERT_OK); // 预置network 重置流程返回值为4999 @@ -1102,8 +1082,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char afterToken[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, afterToken, sizeof(afterToken)); EXPECT_EQ(ret, CERT_OK); // 验证token是否 已更新 EXPECT_STRNE(beforeToken, afterToken); @@ -1143,8 +1122,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = { 0 }; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(token, CERT_MOCK_TOKEN); EXPECT_FALSE(CertIsResetFlagExist()); @@ -1182,8 +1160,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = { 0 }; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(token, CERT_MOCK_TOKEN); // 重置环境 @@ -1220,8 +1197,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = { 0 }; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(token, CERT_MOCK_TOKEN); // 重置环境 @@ -1258,8 +1234,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(token, CERT_MOCK_TOKEN); // 重置环境 @@ -1296,8 +1271,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(token, CERT_MOCK_TOKEN); // 重置环境 @@ -1334,8 +1308,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(token, CERT_MOCK_TOKEN); // 重置环境 @@ -1454,8 +1427,7 @@ E3NTE4QkYwQzc4MzRBOTNDN0E1QkY0RDUxRjkiLCJ2ZXJzaW9uSWQiOiJkZWZhdWx0L2h1YS13ZWkvSH EXPECT_EQ(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(token, CERT_MOCK_TOKEN); // 重置环境 @@ -1492,8 +1464,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", EXPECT_NE(ret, CERT_OK); char token[TOKEN_ENCRYPT_LEN + 1] = {0}; - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STREQ(CERT_MOCK_TOKEN, token); @@ -1516,8 +1487,7 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", ret = ProcCert(); EXPECT_EQ(ret, CERT_OK); - //ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); - ret = ReadTokenMockFile(CERT_MOCK_TOKENB_FILE_NAME, token, sizeof(token)); + ret = ReadFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, token, sizeof(token)); EXPECT_EQ(ret, CERT_OK); EXPECT_STRNE(CERT_MOCK_TOKEN, token); // 重置环境 diff --git a/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.c b/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.c index 35d7bbd..dff4ae1 100644 --- a/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.c +++ b/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.c @@ -33,44 +33,6 @@ extern "C" { #endif #endif /* __cplusplus */ -#define TOKEN_MAGIC_NUM_SIZE 4 -#define TOKEN_FLAG_SIZE 4 -#define TOKEN_SIZE 151 -#define TOKEN_WITH_FLAG_SIZE (TOKEN_SIZE + TOKEN_FLAG_SIZE) -#define TOKEN_VALUE_SIZE (TOKEN_MAGIC_NUM_SIZE + TOKEN_WITH_FLAG_SIZE) - -int32_t WriteTokenMockFile(void) -{ - const char g_tokenMagicNum[TOKEN_MAGIC_NUM_SIZE] = {1, 2, 3, 4}; - char tokenValue[TOKEN_VALUE_SIZE + 1] = { 0 }; - for (int i = 0; i < TOKEN_MAGIC_NUM_SIZE; i++) { - tokenValue[i] = g_tokenMagicNum[i]; - } - if (memcpy_s(tokenValue + TOKEN_MAGIC_NUM_SIZE, TOKEN_VALUE_SIZE - TOKEN_MAGIC_NUM_SIZE, CERT_MOCK_TOKEN, strlen(CERT_MOCK_TOKEN)) != 0) { - printf("[WriteTokenMockFile] memcpy_s fail\n\n"); - return CERT_ERR; - } - int32_t ret = WriteFile(CERT_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, tokenValue, TOKEN_WITH_FLAG_SIZE); - return ret; -} - -int32_t ReadTokenMockFile(char* fileName, char *token, int tokenSize) -{ - char tokenValue[TOKEN_WITH_FLAG_SIZE + 1] = { 0 }; - int32_t ret = ReadFile(CERT_MOCK_STUB_PATH, fileName, tokenValue, sizeof(tokenValue)); - if (ret != CERT_OK) { - printf("[ReadTokenMockFile] ReadFile fail\n\n"); - return CERT_ERR; - } - - if (memcpy_s(token, tokenSize, tokenValue + TOKEN_FLAG_SIZE, sizeof(tokenValue) - TOKEN_FLAG_SIZE) != 0) { - printf("[ReadTokenMockFile] memcpy_s fail\n\n"); - return CERT_ERR; - } - - return CERT_OK; -} - int32_t InitMockData(CertMockData *certMockData) { // devicePara 数据 @@ -96,8 +58,7 @@ int32_t InitMockData(CertMockData *certMockData) } // 写文件 - //ret = WriteFile(CETR_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, CERT_MOCK_TOKEN, strlen(CERT_MOCK_TOKEN)); - ret = WriteTokenMockFile(); + ret = WriteFile(CETR_MOCK_STUB_PATH, CERT_MOCK_TOKEN_FILE_NAME, CERT_MOCK_TOKEN, strlen(CERT_MOCK_TOKEN)); if (ret != CERT_OK) { return CERT_ERR; } @@ -187,46 +148,6 @@ int32_t WriteNetWorkMock(CertNetworkMockData *certNetworkMockData) return ret; } -// 删除本地 -#ifdef __LITEOS_M__ -bool DeleteFile(const char* path, const char* fileName) -{ - if (path == NULL || fileName == NULL) { - return false; - } - if (strlen(path) == 0 || strlen(fileName) == 0) { - return false; - } - - int32_t ret = UtilsFileDelete(fileName); - if (ret != 0) { - return false; - } - return true; -} -#else -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; -} -#endif /* __LITEOS_M__ */ - #ifdef __cplusplus #if __cplusplus } diff --git a/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.h b/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.h index 7d903a6..65fedd5 100644 --- a/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.h +++ b/xts/certmanager_lite/certmanager_posix/src/utils/cert_mock.h @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef CERT_MOCK_TYPE -#define CERT_MOCK_TYPE +#ifndef CERT_MOCK_H +#define CERT_MOCK_H #include #include "cert_adapter_mock.h" @@ -26,9 +26,6 @@ extern "C" { #endif #endif /* __cplusplus */ -#define CERT_MOCK_TOKEN_FILE_NAME "tokenA" -#define CERT_MOCK_TOKENB_FILE_NAME "tokenB" - #define CERT_MOCK_TOKEN "6PkCJZDsUfuqqdvxTLv8ZH+FqASsUInUV4y9IPLHtPyJt0v0RrwtVaLHpEunfMjD,\ yCbOb5Y3M4sgXEqhyTqIXwDl4JEWTmEfWr3Vov0NamgsBmzMCHXsM4xH3pNT+ZMd,XXoIPrlEu6EV+/rI,1000" @@ -112,22 +109,12 @@ typedef struct CertMockData { struct CertNetworkMockData certNetworkMockData; } CertMockData; -// 写打桩token文件 -int32_t WriteTokenMockFile(void); - -// 读打桩token文件 -int32_t ReadTokenMockFile(char* fileName, char *token, int tokenSize); - // 初始化MOCKData int32_t InitMockData(CertMockData *certMockData); // 初始化NetWorkData int32_t WriteNetWorkMock(CertNetworkMockData *certNetworkMockData); -// 删除文件 -bool DeleteFile(const char* path, const char* fileName); - - #ifdef __cplusplus #if __cplusplus } diff --git a/xts/devattest_lite/devattest_posix/src/devattestTest.cpp b/xts/devattest_lite/devattest_posix/src/devattestTest.cpp index 8e03d85..56667ee 100644 --- a/xts/devattest_lite/devattest_posix/src/devattestTest.cpp +++ b/xts/devattest_lite/devattest_posix/src/devattestTest.cpp @@ -100,7 +100,6 @@ static void DeleteMockFile(void) * @tc.name : testDevAttestCase001 * @tc.desc : Verify the writing of MockData and start the task. */ -/* 调用外部接口 */ HWTEST_F(DevAttestTestSuite, testDevAttestTaskCase001, Function | MediumTest | Level1) { // 准备环境 @@ -121,8 +120,8 @@ lZmF1bHQvOC9kZWZhdWx0L2RlZmF1bHQifQ.", int32_t ret = InitMockData(&attestMockData); ASSERT_EQ(ret, ATTEST_OK); - // 外部接口 StartDevAttestTask() - ret = StartDevAttestTask(); + //内部接口,避免启动定时器 + ret = ProcAttest(); EXPECT_EQ(ret, ATTEST_OK); // 外部接口 GetAttestStatus(AttestResultInfo* attestResultInfo) diff --git a/xts/devattest_lite/devattest_posix/src/utils/attest_mock.c b/xts/devattest_lite/devattest_posix/src/utils/attest_mock.c index d9f0e22..9568136 100644 --- a/xts/devattest_lite/devattest_posix/src/utils/attest_mock.c +++ b/xts/devattest_lite/devattest_posix/src/utils/attest_mock.c @@ -148,46 +148,6 @@ int32_t WriteNetWorkMock(AttestNetworkMockData *NetworkMockData) return ret; } -// 删除本地 -#ifdef __LITEOS_M__ -bool DeleteFile(const char* path, const char* fileName) -{ - if (path == NULL || fileName == NULL) { - return false; - } - if (strlen(path) == 0 || strlen(fileName) == 0) { - return false; - } - - int32_t ret = UtilsFileDelete(fileName); - if (ret != 0) { - return false; - } - return true; -} -#else -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); - ATTEST_MEM_FREE(filePath); - if (ret != 0) { - return false; - } - return true; -} -#endif /* __LITEOS_M__ */ - #ifdef __cplusplus #if __cplusplus } -- Gitee