RUNNER_ASSERT_MSG(expected == actual, "Actual list of aliases differ from expected list.");
}
-void check_alias_info_list_helper(const CKM::AliasInfoVector& expected,
- const CKM::AliasInfoVector& actual,
+void check_alias_info_list_helper(const PasswordInfoVector& expected,
+ const std::unordered_map<std::string, bool>& actual,
const std::string &userSmackLabel)
{
std::string errorLogMsg;
- std::unordered_map<std::string, bool> aliasPwdMap;
RUNNER_ASSERT_MSG(expected.size() == actual.size(), "Aliases item count differs, expected: " <<
expected.size() << " actual: " << actual.size());
- for (const auto &it : actual)
- {
- aliasPwdMap[std::get<0>(it)] = std::get<1>(it).passwordProtected;
- }
-
-
for (const auto &it : expected)
{
- auto aliasPwd = aliasPwdMap.find(userSmackLabel + std::get<0>(it));
- if (aliasPwd != aliasPwdMap.end()) {
- 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).passwordProtected) + "\n";
+ auto aliasPwd = actual.find(userSmackLabel + it.alias);
+ if (aliasPwd != actual.end()) {
+ if (aliasPwd->second != it.passwordProtected) {
+ errorLogMsg += "Alias: " + it.alias + " has wrong encryption status: "
+ + std::to_string(it.passwordProtected) + "\n";
}
}
else {
- errorLogMsg += "Expected alias: " + std::get<0>(it) + " not found.\n";
+ errorLogMsg += "Expected alias: " + it.alias + " not found.\n";
}
}
if (!errorLogMsg.empty()) {
- for (const auto &it : actual)
+ for (const auto& [alias, passwordProtected] : actual)
{
- errorLogMsg += "Actual alias: " + std::get<0>(it) + " status: "
- + std::to_string(std::get<1>(it).passwordProtected) + "\n";
+ errorLogMsg += "Actual alias: " + alias + " status: "
+ + std::to_string(passwordProtected) + "\n";
}
RUNNER_FAIL_MSG("Actual list of aliases differ from expected list.\n" + errorLogMsg);
}
}
-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)
+void check_alias_info_list(const PasswordInfoVector& 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::AliasInfoVector actual;
+ std::unordered_map<std::string, bool> actual;
ckmc_alias_info_list_s *plist = aliasInfoList;
char* alias;
bool isPasswordProtected;
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(make_alias_info(alias, isPasswordProtected));
+
+ actual[alias] = isPasswordProtected;
plist = plist->next;
it++;
}
save_data(TEST_SYSTEM_ALIAS_2.c_str(), TEST_DATA);
// [test]
- 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));
+ PasswordInfoVector expected;
+ expected.emplace_back(TEST_SYSTEM_ALIAS, false);
+ expected.emplace_back(TEST_SYSTEM_ALIAS_2, false);
- check_alias_info_list(aliasInfoVector);
+ check_alias_info_list(expected);
}
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::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));
+ PasswordInfoVector expected;
+ expected.emplace_back(TEST_SYSTEM_ALIAS, false);
+ expected.emplace_back(TEST_SYSTEM_ALIAS_2, true);
+ expected.emplace_back(TEST_SYSTEM_ALIAS_2 + "1", true);
- check_alias_info_list(aliasInfoVector);
+ check_alias_info_list(expected);
}
const int aliasNameCount = 10;
auto manager = CKM::Manager::create();
- CKM::AliasInfoVector expected;
+ PasswordInfoVector expected;
CKM::RawBuffer buffer(KEY_PEM.begin(), KEY_PEM.end());
auto key = CKM::Key::create(buffer, CKM::Password());
std::string currentAlias;
{
CKM::Policy policy = generate_ckm_policy(it);
currentAlias = "T1024_appkey" + std::to_string(it);
- expected.push_back(make_alias_info(currentAlias, !policy.password.empty()));
+ expected.emplace_back(currentAlias, !policy.password.empty());
RUNNER_ASSERT_MSG(
CKM_API_SUCCESS == (exitCode = manager->saveKey(currentAlias, key, policy)),
"Error=" << CKM::APICodeToString(exitCode));
}
- CKM::AliasInfoVector actual;
+ CKM::AliasInfoVector aliasInfoVector;
+ std::unordered_map<std::string, bool> actual;
RUNNER_ASSERT_MSG(
- CKM_API_SUCCESS == (exitCode = manager->getKeyAliasInfoVector(actual)),
+ CKM_API_SUCCESS == (exitCode = manager->getKeyAliasInfoVector(aliasInfoVector)),
"Error=" << CKM::APICodeToString(exitCode));
RUNNER_ASSERT_MSG(
- actual.size() == (beforeSaveAliasCount + aliasNameCount),
- "Wrong aliases count: " << actual.size() << " Expected: "
+ aliasInfoVector.size() == (beforeSaveAliasCount + aliasNameCount),
+ "Wrong aliases count: " << aliasInfoVector.size() << " Expected: "
<< (beforeSaveAliasCount + aliasNameCount));
+
+ bool status;
+ for (const auto &info : aliasInfoVector) {
+ exitCode = manager->getKeyEncryptionStatus(info.alias, status);
+ RUNNER_ASSERT_MSG(CKM_API_SUCCESS == exitCode, "Error=" << CKM::APICodeToString(exitCode));
+
+ actual[info.alias] = status;
+ }
+
check_alias_info_list_helper(expected, actual, "/User ");
remove_user_data(USER_APP);
const int aliasNameCount = 10;
auto manager = CKM::Manager::create();
- CKM::AliasInfoVector expected;
+ PasswordInfoVector expected;
auto cert = TestData::getTestCertificate(TestData::TEST_LEAF);
std::string currentAlias;
{
CKM::Policy policy = generate_ckm_policy(it);
currentAlias = "T1025_appcert" + std::to_string(it);
- expected.push_back(make_alias_info(currentAlias, !policy.password.empty()));
+ expected.emplace_back(currentAlias, !policy.password.empty());
RUNNER_ASSERT_MSG(
CKM_API_SUCCESS == (exitCode = manager->saveCertificate(currentAlias, cert, policy)),
"Error=" << CKM::APICodeToString(exitCode));
}
- CKM::AliasInfoVector actual;
+ CKM::AliasInfoVector aliasInfoVector;
+ std::unordered_map<std::string, bool> actual;
+
RUNNER_ASSERT_MSG(
- CKM_API_SUCCESS == (exitCode = manager->getCertificateAliasInfoVector(actual)),
+ CKM_API_SUCCESS == (exitCode = manager->getCertificateAliasInfoVector(aliasInfoVector)),
"Error=" << CKM::APICodeToString(exitCode));
RUNNER_ASSERT_MSG(
- actual.size() == (beforeSaveAliasCount + aliasNameCount),
- "Wrong aliases count: " << actual.size() << " Expected: "
+ aliasInfoVector.size() == (beforeSaveAliasCount + aliasNameCount),
+ "Wrong aliases count: " << aliasInfoVector.size() << " Expected: "
<< (beforeSaveAliasCount + aliasNameCount));
+
+ bool status;
+ for (const auto &info : aliasInfoVector) {
+ exitCode = manager->getCertificateEncryptionStatus(info.alias, status);
+ RUNNER_ASSERT_MSG(CKM_API_SUCCESS == exitCode, "Error=" << CKM::APICodeToString(exitCode));
+
+ actual[info.alias] = status;
+ }
+
check_alias_info_list_helper(expected, actual, "/User ");
remove_user_data(USER_APP);
const int aliasNameCount = 10;
auto manager = CKM::Manager::create();
- CKM::AliasInfoVector expected;
+ PasswordInfoVector expected;
std::string binData = "My bin data";
CKM::RawBuffer buffer(binData.begin(), binData.end());
std::string currentAlias;
{
CKM::Policy policy = generate_ckm_policy(it);
currentAlias = "T1026_appdata" + std::to_string(it);
- expected.push_back(make_alias_info(currentAlias, !policy.password.empty()));
+ expected.emplace_back(currentAlias, !policy.password.empty());
RUNNER_ASSERT_MSG(
CKM_API_SUCCESS == (exitCode = manager->saveData(currentAlias, buffer, policy)),
"Error=" << CKM::APICodeToString(exitCode));
}
- CKM::AliasInfoVector actual;
+ CKM::AliasInfoVector aliasInfoVector;
+ std::unordered_map<std::string, bool> actual;
+
RUNNER_ASSERT_MSG(
- CKM_API_SUCCESS == (exitCode = manager->getDataAliasInfoVector(actual)),
+ CKM_API_SUCCESS == (exitCode = manager->getDataAliasInfoVector(aliasInfoVector)),
"Error=" << CKM::APICodeToString(exitCode));
RUNNER_ASSERT_MSG(
- actual.size() == (beforeSaveAliasCount + aliasNameCount),
- "Wrong aliases count: " << actual.size() << " Expected: "
+ aliasInfoVector.size() == (beforeSaveAliasCount + aliasNameCount),
+ "Wrong aliases count: " << aliasInfoVector.size() << " Expected: "
<< (beforeSaveAliasCount + aliasNameCount));
+
+ bool status;
+ for (const auto &info : aliasInfoVector) {
+ exitCode = manager->getDataEncryptionStatus(info.alias, status);
+ RUNNER_ASSERT_MSG(CKM_API_SUCCESS == exitCode, "Error=" << CKM::APICodeToString(exitCode));
+
+ actual[info.alias] = status;
+ }
+
check_alias_info_list_helper(expected, actual, "/User ");
remove_user_data(USER_APP);