Test getting/saving KEM keys in TZ 69/316869/1
authorDariusz Michaluk <d.michaluk@samsung.com>
Thu, 29 Aug 2024 18:01:30 +0000 (20:01 +0200)
committerDariusz Michaluk <d.michaluk@samsung.com>
Thu, 29 Aug 2024 18:01:52 +0000 (20:01 +0200)
Change-Id: I99f95069a78eec69451656371dd53613f5691e6e

src/ckm/unprivileged/kem-testcases.cpp

index 5eca333b4e01d2cf7818603a0e69a69a68be195a..cac7eec2e6314a8655dc370ed8739df27cab3161 100644 (file)
@@ -617,6 +617,41 @@ RUNNER_TEST(KEM_save_get_key, KemCreateKeypairFixture)
        }
 }
 
+RUNNER_TEST(KEM_save_get_key_tz, KemCreateKeypairFixture)
+{
+       for (const auto& kem_type : {ckmc_kem_type_e::CKMC_ML_KEM_768, ckmc_kem_type_e::CKMC_ML_KEM_1024})
+       {
+               AliasRemover removers[] = {private_key_alias.c_str(), public_key_alias.c_str(),
+                                                                  public_key_alias_second.c_str()};
+
+               size_t current_aliases_num = count_aliases(ALIAS_KEY);
+
+               assert_positive(ckmc_create_key_pair_kem,
+                                               kem_type,
+                                               private_key_alias.c_str(),
+                                               public_key_alias.c_str(),
+                                               UNEXPORTABLE_PW,
+                                               EXPORTABLE);
+
+               ckmc_key_s *public_key = nullptr;
+               assert_positive(ckmc_get_key,
+                                               public_key_alias.c_str(),
+                                               nullptr,
+                                               &public_key);
+               assert_positive(ckmc_save_key,
+                                               public_key_alias_second.c_str(),
+                                               *public_key,
+                                               UNEXPORTABLE_PW);
+
+               ckmc_key_free(public_key);
+
+               size_t actual_cnt = count_aliases(ALIAS_KEY);
+               RUNNER_ASSERT_MSG(
+                               (current_aliases_num + 3) == actual_cnt,
+                               "Error: expecting " << (current_aliases_num + 3) << " aliases, while found " << actual_cnt);
+       }
+}
+
 RUNNER_TEST_GROUP_INIT_ENV(CKMC_ENCAPS_DECAPS_KEM, KemEncapsDecapsGroupFixture);
 
 RUNNER_TEST(KEM_encaps_decaps_check_keys, KemEncapsDecapsFixture)