CKM: Adjust to C++ API changes 06/292406/1
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 5 May 2023 10:18:06 +0000 (12:18 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 5 May 2023 12:24:24 +0000 (14:24 +0200)
Change-Id: I1812ee6ef9d9552dcda560df0b492171fab0799f

src/ckm/ckm-common.cpp
src/ckm/ckm-common.h
src/ckm/privileged/system-db.cpp
src/ckm/unprivileged/main.cpp

index 01c265c..5479eb6 100644 (file)
@@ -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<std::string, bool> 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<std::string, CKM::AliasInfo> 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++;
     }
index 4d398e5..c0578ac 100644 (file)
@@ -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<std::string, CKM::AliasInfo> make_alias_info(const std::string& alias, bool password);
+void check_alias_info_list(const CKM::AliasInfoVector& expected);
 
 typedef enum {
     ALIAS_KEY,
index 1a4ee6e..e9ce359 100644 (file)
@@ -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);
 }
index 93ccd11..5078773 100644 (file)
@@ -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),