From: Krzysztof Jackiewicz Date: Fri, 5 May 2023 10:18:06 +0000 (+0200) Subject: CKM: Adjust to C++ API changes X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=af655bad687bb369b62d6ce927f35ef1b1338d03;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git CKM: Adjust to C++ API changes Change-Id: I1812ee6ef9d9552dcda560df0b492171fab0799f --- diff --git a/src/ckm/ckm-common.cpp b/src/ckm/ckm-common.cpp index 01c265cb..5479eb66 100644 --- a/src/ckm/ckm-common.cpp +++ b/src/ckm/ckm-common.cpp @@ -387,8 +387,9 @@ void check_alias_list(const CKM::AliasVector& expected) RUNNER_ASSERT_MSG(expected == actual, "Actual list of aliases differ from expected list."); } -void check_alias_info_list_helper(const CKM::AliasPwdVector& expected, const CKM::AliasPwdVector& actual, - const std::string &userSmackLabel) +void check_alias_info_list_helper(const CKM::AliasInfoVector& expected, + const CKM::AliasInfoVector& actual, + const std::string &userSmackLabel) { std::string errorLogMsg; std::unordered_map aliasPwdMap; @@ -398,7 +399,7 @@ void check_alias_info_list_helper(const CKM::AliasPwdVector& expected, const CKM for (const auto &it : actual) { - aliasPwdMap[std::get<0>(it)] = std::get<1>(it); + aliasPwdMap[std::get<0>(it)] = std::get<1>(it).passwordProtected; } @@ -406,9 +407,9 @@ void check_alias_info_list_helper(const CKM::AliasPwdVector& expected, const CKM { auto aliasPwd = aliasPwdMap.find(userSmackLabel + std::get<0>(it)); if (aliasPwd != aliasPwdMap.end()) { - if (aliasPwd->second != std::get<1>(it)) { + if (aliasPwd->second != std::get<1>(it).passwordProtected) { errorLogMsg += "Alias: " + std::get<0>(it) + " has wrong encryption status: " - + std::to_string(std::get<1>(it)) + "\n"; + + std::to_string(std::get<1>(it).passwordProtected) + "\n"; } } else { @@ -420,20 +421,25 @@ void check_alias_info_list_helper(const CKM::AliasPwdVector& expected, const CKM for (const auto &it : actual) { errorLogMsg += "Actual alias: " + std::get<0>(it) + " status: " - + std::to_string(std::get<1>(it)) + "\n"; + + std::to_string(std::get<1>(it).passwordProtected) + "\n"; } RUNNER_FAIL_MSG("Actual list of aliases differ from expected list.\n" + errorLogMsg); } } -void check_alias_info_list(const CKM::AliasPwdVector& expected) +std::pair make_alias_info(const std::string& alias, bool password) +{ + return std::make_pair(alias, CKM::AliasInfo({password, CKM::BackendId::SW})); +} + +void check_alias_info_list(const CKM::AliasInfoVector& expected) { ckmc_alias_info_list_s *aliasInfoList = NULL; int ret = ckmc_get_data_alias_info_list(&aliasInfoList); RUNNER_ASSERT_MSG(ret == CKMC_ERROR_NONE, "Failed to get the list of data aliases. " << ret << " / " << CKMCErrorToString(ret)); - CKM::AliasPwdVector actual; + CKM::AliasInfoVector actual; ckmc_alias_info_list_s *plist = aliasInfoList; char* alias; bool isPasswordProtected; @@ -447,7 +453,7 @@ void check_alias_info_list(const CKM::AliasPwdVector& expected) RUNNER_ASSERT_MSG(ret == CKMC_ERROR_NONE, "Failed to get password protection status" << ret << " / " << CKMCErrorToString(ret)); RUNNER_ASSERT_MSG(alias != nullptr, "Got null alias. Iterator: " << it); - actual.push_back(std::make_pair(alias, isPasswordProtected)); + actual.push_back(make_alias_info(alias, isPasswordProtected)); plist = plist->next; it++; } diff --git a/src/ckm/ckm-common.h b/src/ckm/ckm-common.h index 4d398e53..c0578ac2 100644 --- a/src/ckm/ckm-common.h +++ b/src/ckm/ckm-common.h @@ -145,9 +145,11 @@ void reset_user_data(uid_t user_id, const char *passwd); ckmc_raw_buffer_s prepare_message_buffer(const char * input); void check_alias_list(const CKM::AliasVector& expected); -void check_alias_info_list_helper(const CKM::AliasPwdVector& expected, const CKM::AliasPwdVector& actual, +void check_alias_info_list_helper(const CKM::AliasInfoVector& expected, + const CKM::AliasInfoVector& actual, const std::string &userSmackLabel = {}); -void check_alias_info_list(const CKM::AliasPwdVector& expected); +std::pair make_alias_info(const std::string& alias, bool password); +void check_alias_info_list(const CKM::AliasInfoVector& expected); typedef enum { ALIAS_KEY, diff --git a/src/ckm/privileged/system-db.cpp b/src/ckm/privileged/system-db.cpp index 1a4ee6ed..e9ce359f 100644 --- a/src/ckm/privileged/system-db.cpp +++ b/src/ckm/privileged/system-db.cpp @@ -527,11 +527,11 @@ RUNNER_TEST(T5046_CLIENT_GET_ALIAS_STATUS_NO_PASSWORD, RemoveDataEnv<0>) save_data(TEST_SYSTEM_ALIAS_2.c_str(), TEST_DATA); // [test] - CKM::AliasPwdVector aliasPwdVector; - aliasPwdVector.push_back(std::make_pair(TEST_SYSTEM_ALIAS.c_str(), false)); - aliasPwdVector.push_back(std::make_pair(TEST_SYSTEM_ALIAS_2.c_str(), false)); + CKM::AliasInfoVector aliasInfoVector; + aliasInfoVector.push_back(make_alias_info(TEST_SYSTEM_ALIAS.c_str(), false)); + aliasInfoVector.push_back(make_alias_info(TEST_SYSTEM_ALIAS_2.c_str(), false)); - check_alias_info_list(aliasPwdVector); + check_alias_info_list(aliasInfoVector); } RUNNER_TEST(T5047_CLIENT_GET_ALIAS_STATUS_PASSWORD_PROTECTED, RemoveDataEnv<0>) @@ -551,10 +551,10 @@ RUNNER_TEST(T5047_CLIENT_GET_ALIAS_STATUS_PASSWORD_PROTECTED, RemoveDataEnv<0>) save_data((TEST_SYSTEM_ALIAS_2 + "1").c_str(), TEST_DATA, strlen(TEST_DATA), TEST_PASSWORD); // [test] - CKM::AliasPwdVector aliasPwdVector; - aliasPwdVector.push_back(std::make_pair(TEST_SYSTEM_ALIAS.c_str(), false)); - aliasPwdVector.push_back(std::make_pair(TEST_SYSTEM_ALIAS_2.c_str(), true)); - aliasPwdVector.push_back(std::make_pair((TEST_SYSTEM_ALIAS_2 + "1").c_str(),true)); + CKM::AliasInfoVector aliasInfoVector; + aliasInfoVector.push_back(make_alias_info(TEST_SYSTEM_ALIAS.c_str(), false)); + aliasInfoVector.push_back(make_alias_info(TEST_SYSTEM_ALIAS_2.c_str(), true)); + aliasInfoVector.push_back(make_alias_info((TEST_SYSTEM_ALIAS_2 + "1").c_str(),true)); - check_alias_info_list(aliasPwdVector); + check_alias_info_list(aliasInfoVector); } diff --git a/src/ckm/unprivileged/main.cpp b/src/ckm/unprivileged/main.cpp index 93ccd117..50787735 100644 --- a/src/ckm/unprivileged/main.cpp +++ b/src/ckm/unprivileged/main.cpp @@ -442,7 +442,7 @@ RUNNER_TEST(T1024_app_user_save_keys_get_alias_pwd) const int aliasNameCount = 10; auto manager = CKM::Manager::create(); - CKM::AliasPwdVector expected; + CKM::AliasInfoVector expected; CKM::RawBuffer buffer(KEY_PEM.begin(), KEY_PEM.end()); auto key = CKM::Key::create(buffer, CKM::Password()); std::string currentAlias; @@ -453,16 +453,16 @@ RUNNER_TEST(T1024_app_user_save_keys_get_alias_pwd) { CKM::Policy policy = generate_ckm_policy(it); currentAlias = "T1024_appkey" + std::to_string(it); - expected.push_back(std::make_pair(currentAlias, !policy.password.empty())); + expected.push_back(make_alias_info(currentAlias, !policy.password.empty())); RUNNER_ASSERT_MSG( CKM_API_SUCCESS == (exitCode = manager->saveKey(currentAlias, key, policy)), "Error=" << CKM::APICodeToString(exitCode)); } - CKM::AliasPwdVector actual; + CKM::AliasInfoVector actual; RUNNER_ASSERT_MSG( - CKM_API_SUCCESS == (exitCode = manager->getKeyAliasPwdVector(actual)), + CKM_API_SUCCESS == (exitCode = manager->getKeyAliasInfoVector(actual)), "Error=" << CKM::APICodeToString(exitCode)); RUNNER_ASSERT_MSG( actual.size() == (beforeSaveAliasCount + aliasNameCount), @@ -481,7 +481,7 @@ RUNNER_TEST(T1025_app_user_save_certificates_get_alias_pwd) const int aliasNameCount = 10; auto manager = CKM::Manager::create(); - CKM::AliasPwdVector expected; + CKM::AliasInfoVector expected; auto cert = TestData::getTestCertificate(TestData::TEST_LEAF); std::string currentAlias; @@ -490,15 +490,15 @@ RUNNER_TEST(T1025_app_user_save_certificates_get_alias_pwd) { CKM::Policy policy = generate_ckm_policy(it); currentAlias = "T1025_appcert" + std::to_string(it); - expected.push_back(std::make_pair(currentAlias, !policy.password.empty())); + expected.push_back(make_alias_info(currentAlias, !policy.password.empty())); RUNNER_ASSERT_MSG( CKM_API_SUCCESS == (exitCode = manager->saveCertificate(currentAlias, cert, policy)), "Error=" << CKM::APICodeToString(exitCode)); } - CKM::AliasPwdVector actual; + CKM::AliasInfoVector actual; RUNNER_ASSERT_MSG( - CKM_API_SUCCESS == (exitCode = manager->getCertificateAliasPwdVector(actual)), + CKM_API_SUCCESS == (exitCode = manager->getCertificateAliasInfoVector(actual)), "Error=" << CKM::APICodeToString(exitCode)); RUNNER_ASSERT_MSG( actual.size() == (beforeSaveAliasCount + aliasNameCount), @@ -517,7 +517,7 @@ RUNNER_TEST(T1026_app_user_save_data_get_alias_pwd) const int aliasNameCount = 10; auto manager = CKM::Manager::create(); - CKM::AliasPwdVector expected; + CKM::AliasInfoVector expected; std::string binData = "My bin data"; CKM::RawBuffer buffer(binData.begin(), binData.end()); std::string currentAlias; @@ -527,15 +527,15 @@ RUNNER_TEST(T1026_app_user_save_data_get_alias_pwd) { CKM::Policy policy = generate_ckm_policy(it); currentAlias = "T1026_appdata" + std::to_string(it); - expected.push_back(std::make_pair(currentAlias, !policy.password.empty())); + expected.push_back(make_alias_info(currentAlias, !policy.password.empty())); RUNNER_ASSERT_MSG( CKM_API_SUCCESS == (exitCode = manager->saveData(currentAlias, buffer, policy)), "Error=" << CKM::APICodeToString(exitCode)); } - CKM::AliasPwdVector actual; + CKM::AliasInfoVector actual; RUNNER_ASSERT_MSG( - CKM_API_SUCCESS == (exitCode = manager->getDataAliasPwdVector(actual)), + CKM_API_SUCCESS == (exitCode = manager->getDataAliasInfoVector(actual)), "Error=" << CKM::APICodeToString(exitCode)); RUNNER_ASSERT_MSG( actual.size() == (beforeSaveAliasCount + aliasNameCount),