CKM: Don't set password for importing asymmetric key to TZ_BACKEND 73/297173/2
authorDongsun Lee <ds73.lee@samsung.com>
Fri, 11 Aug 2023 05:08:29 +0000 (14:08 +0900)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 11 Aug 2023 09:38:24 +0000 (11:38 +0200)
Change-Id: I05fd59f4d3171e8a1af6a0587e569903250b3591

src/ckm/ckm-common.cpp
src/ckm/ckm-common.h
src/ckm/unprivileged/main.cpp

index a0bdcee41b9165cdd5a4b7e0e27865ca94248711..a9f68fd846992ff91118aac8e3d6f8dbed7fec84 100644 (file)
@@ -620,9 +620,9 @@ CipherCtxPtr create_cipher_ctx(ckmc_cipher_ctx_h ctx)
     return CipherCtxPtr(ctx, ckmc_cipher_free);
 }
 
-CKM::Policy generate_ckm_policy(int iterator_nr) {
+CKM::Policy generate_ckm_policy(int iterator_nr, bool set_pass) {
     CKM::Password password;
-    if ((iterator_nr & 0x1) != 0)
+    if (((iterator_nr & 0x1) != 0) && set_pass)
         password.assign("test_pwd");
     return CKM::Policy(password, (iterator_nr & 0x2) != 0);
 }
index 07cf3ccb7a4ca5b4d1d3e7eee23780f6127390fb..ab686228cf4d0e69da652337f2d34e4baa59ecb7 100644 (file)
@@ -181,7 +181,7 @@ ckmc_raw_buffer_s* createRandomBufferCAPI(size_t random_bytes);
 ckmc_key_s *generate_AES_key(size_t lengthBits, const char *passwd);
 void validate_AES_key(ckmc_key_s *analyzed);
 void compare_AES_keys(ckmc_key_s *first, ckmc_key_s *second); // true if equal
-CKM::Policy generate_ckm_policy(int iterator_nr); // generates policy based on given number
+CKM::Policy generate_ckm_policy(int iterator_nr, bool set_pass = true); // generates policy based on given number
 
 // Test env class for database cleanup. Pass database uids to cleanup before and after test
 template <uid_t ...Args>
index 07edb73890e7fd991d4158bb95835519410d7677..64e59ff36a12605f9a71f7a2d14a0297b884cbad 100644 (file)
@@ -457,7 +457,12 @@ RUNNER_TEST(T1024_app_user_save_keys_get_alias_pwd)
     // make aliases with & without: password protection, exportable flag
     for (int it = 0; it < aliasNameCount; ++it)
     {
-        CKM::Policy policy = generate_ckm_policy(it);
+#ifdef TZ_BACKEND
+        // TZ_BACKEND doesn't support importing asymmetric key with password
+        CKM::Policy policy = generate_ckm_policy(it, false);
+#else
+        CKM::Policy policy = generate_ckm_policy(it, true);
+#endif
         currentAlias = "T1024_appkey" + std::to_string(it);
         expected.emplace_back(currentAlias,
                               !policy.password.empty(),