CKM: Test for invalid wrapped key type 54/294854/1
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Tue, 27 Jun 2023 12:07:34 +0000 (14:07 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Tue, 27 Jun 2023 15:44:20 +0000 (17:44 +0200)
Change-Id: Ia6245e6943ed769c426a51d8cde4d66f781e7896

src/ckm/unprivileged/key-wrapping.cpp

index dd0f5cd911f34f9745a8060ab9169e938ebd0611..8a2da4a23839271561a0fe4f3888ecbd340353fc 100644 (file)
@@ -764,6 +764,38 @@ RUNNER_TEST(TKW_NULL_PARAMETER){
        ckmc_key_free(aesKey);
 }
 
+RUNNER_TEST(TKW_WRONG_WRAPPED_KEY_TYPE){
+       RawBufferPtr plainData = create_raw_buffer(createRandomBufferCAPI(16));
+
+       ckmc_key_s *aesKey = nullptr;
+       ckmc_raw_buffer_s* encrypted = nullptr;
+
+       ParamListPtr params = getDefaultParams(AES_CTR_ALGO);
+
+       assert_positive(ckmc_encrypt_data,
+                               params.get(),
+                               AES_KEY_128_ALIAS.c_str(),
+                               nullptr,
+                               *plainData.get(),
+                               &encrypted);
+
+       assert_positive(ckmc_key_new,
+                               encrypted->data,
+                               encrypted->size,
+                               CKMC_KEY_NONE,
+                               nullptr,
+                               &aesKey);
+       assert_invalid_param(ckmc_import_wrapped_key,
+                               params.get(),
+                               AES_KEY_128_ALIAS.c_str(),
+                               nullptr,
+                               IMPORTED_ALIAS.c_str(),
+                               aesKey,
+                               EXPORTABLE);
+       ckmc_buffer_free(encrypted);
+       ckmc_key_free(aesKey);
+}
+
 RUNNER_TEST(TKW_VALID_ARGS_AES_CTR_128){
        testImportValidArgs(AES_CTR_ALGO, 16, AES_KEY_128_ALIAS);
        testImportValidArgs(AES_CTR_ALGO, 24, AES_KEY_128_ALIAS);