CKM: Disable remaining non-GCM tests on TZ 68/295768/1
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Thu, 13 Jul 2023 09:20:56 +0000 (11:20 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Thu, 13 Jul 2023 09:37:57 +0000 (11:37 +0200)
Change-Id: Ic92469494c666ba506229b0eb70d0cc29bfde29d

src/ckm/unprivileged/encryption-decryption.cpp

index 9327777bfbed60e791f46a860e740f2e8fd7bc09..1073ca1871c8f3afac1c0ca76da707b43426edc9 100644 (file)
@@ -851,6 +851,9 @@ void testGcmDifferentIvSizes(const Algo& algo)
 
 void testEncryptDecryptBigData(const Algo& algo)
 {
+    if (g_api->gcmOnly() && algo.type != CKMC_ALGO_AES_GCM)
+        return;
+
     // prepare buffers
     ckmc_raw_buffer_s* decrypted = nullptr;
 
@@ -1159,6 +1162,10 @@ RUNNER_TEST_MULTIPLE(TED_0200_encrypt_decrypt_different_keys, SyncEnv, AsyncEnv,
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_GCM, 128}, false);
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_GCM, 192}, false);
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_GCM, 256}, false);
+
+    if (g_api->gcmOnly())
+        return;
+
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_CTR, 128}, true);
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_CTR, 192}, true);
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_CTR, 256}, true);
@@ -1166,11 +1173,12 @@ RUNNER_TEST_MULTIPLE(TED_0200_encrypt_decrypt_different_keys, SyncEnv, AsyncEnv,
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_CFB, 192}, true);
     testEncryptDecryptDifferentKeys({CKMC_ALGO_AES_CFB, 256}, true);
 
-    if (!g_api->symmetricOnly()) {
-        testEncryptDecryptDifferentKeys({CKMC_ALGO_RSA_OAEP, 1024}, false);
-        testEncryptDecryptDifferentKeys({CKMC_ALGO_RSA_OAEP, 2048}, false);
-        testEncryptDecryptDifferentKeys({CKMC_ALGO_RSA_OAEP, 4096}, false);
-    }
+    if (g_api->symmetricOnly())
+        return;
+
+    testEncryptDecryptDifferentKeys({CKMC_ALGO_RSA_OAEP, 1024}, false);
+    testEncryptDecryptDifferentKeys({CKMC_ALGO_RSA_OAEP, 2048}, false);
+    testEncryptDecryptDifferentKeys({CKMC_ALGO_RSA_OAEP, 4096}, false);
 }
 
 RUNNER_TEST_MULTIPLE(TED_0300_encrypt_decrypt, SyncEnv, AsyncEnv, CipherEnv)
@@ -1292,6 +1300,13 @@ RUNNER_TEST_MULTIPLE(TED_0400_encrypt_decrypt_big_data_AES_CFB_256, SyncEnv, Asy
 
 RUNNER_TEST_MULTIPLE(TED_1005_no_iv_enc, SyncEnv, AsyncEnv, CipherEnv)
 {
+    testNoIvEnc({CKMC_ALGO_AES_GCM, 128});
+    testNoIvEnc({CKMC_ALGO_AES_GCM, 192});
+    testNoIvEnc({CKMC_ALGO_AES_GCM, 256});
+
+    if (g_api->gcmOnly())
+        return;
+
     testNoIvEnc({CKMC_ALGO_AES_CTR, 128});
     testNoIvEnc({CKMC_ALGO_AES_CTR, 192});
     testNoIvEnc({CKMC_ALGO_AES_CTR, 256});
@@ -1301,13 +1316,13 @@ RUNNER_TEST_MULTIPLE(TED_1005_no_iv_enc, SyncEnv, AsyncEnv, CipherEnv)
     testNoIvEnc({CKMC_ALGO_AES_CFB, 128});
     testNoIvEnc({CKMC_ALGO_AES_CFB, 192});
     testNoIvEnc({CKMC_ALGO_AES_CFB, 256});
-    testNoIvEnc({CKMC_ALGO_AES_GCM, 128});
-    testNoIvEnc({CKMC_ALGO_AES_GCM, 192});
-    testNoIvEnc({CKMC_ALGO_AES_GCM, 256});
 }
 
 RUNNER_TEST_MULTIPLE(TED_1010_invalid_iv_enc, SyncEnv, AsyncEnv, CipherEnv)
 {
+    if (g_api->gcmOnly())
+        return;
+
     testInvalidIvEnc({CKMC_ALGO_AES_CTR, 128});
     testInvalidIvEnc({CKMC_ALGO_AES_CTR, 192});
     testInvalidIvEnc({CKMC_ALGO_AES_CTR, 256});
@@ -1321,6 +1336,13 @@ RUNNER_TEST_MULTIPLE(TED_1010_invalid_iv_enc, SyncEnv, AsyncEnv, CipherEnv)
 
 RUNNER_TEST_MULTIPLE(TED_1015_no_iv_dec, SyncEnv, AsyncEnv, CipherEnv)
 {
+    testNoIvDec({CKMC_ALGO_AES_GCM, 128});
+    testNoIvDec({CKMC_ALGO_AES_GCM, 192});
+    testNoIvDec({CKMC_ALGO_AES_GCM, 256});
+
+    if (g_api->gcmOnly())
+        return;
+
     testNoIvDec({CKMC_ALGO_AES_CTR, 128});
     testNoIvDec({CKMC_ALGO_AES_CTR, 192});
     testNoIvDec({CKMC_ALGO_AES_CTR, 256});
@@ -1330,13 +1352,13 @@ RUNNER_TEST_MULTIPLE(TED_1015_no_iv_dec, SyncEnv, AsyncEnv, CipherEnv)
     testNoIvDec({CKMC_ALGO_AES_CFB, 128});
     testNoIvDec({CKMC_ALGO_AES_CFB, 192});
     testNoIvDec({CKMC_ALGO_AES_CFB, 256});
-    testNoIvDec({CKMC_ALGO_AES_GCM, 128});
-    testNoIvDec({CKMC_ALGO_AES_GCM, 192});
-    testNoIvDec({CKMC_ALGO_AES_GCM, 256});
 }
 
 RUNNER_TEST_MULTIPLE(TED_1020_invalid_iv_dec, SyncEnv, AsyncEnv, CipherEnv)
 {
+    if (g_api->gcmOnly())
+        return;
+
     testInvalidIvDec({CKMC_ALGO_AES_CTR, 128});
     testInvalidIvDec({CKMC_ALGO_AES_CTR, 192});
     testInvalidIvDec({CKMC_ALGO_AES_CTR, 256});
@@ -1350,6 +1372,9 @@ RUNNER_TEST_MULTIPLE(TED_1020_invalid_iv_dec, SyncEnv, AsyncEnv, CipherEnv)
 
 RUNNER_TEST_MULTIPLE(TED_1050_data_integrity, SyncEnv, AsyncEnv, CipherEnv)
 {
+    if (g_api->gcmOnly())
+        return;
+
     testIntegrity({CKMC_ALGO_AES_CTR, 128});
     testIntegrity({CKMC_ALGO_AES_CTR, 192});
     testIntegrity({CKMC_ALGO_AES_CTR, 256});
@@ -1363,6 +1388,9 @@ RUNNER_TEST_MULTIPLE(TED_1050_data_integrity, SyncEnv, AsyncEnv, CipherEnv)
 
 RUNNER_TEST_MULTIPLE(TED_1100_ctr_encryption_invalid_length, SyncEnv, AsyncEnv, CipherEnv)
 {
+    if (g_api->gcmOnly())
+        return;
+
     testCtrEncryptionInvalidLength({CKMC_ALGO_AES_CTR, 128});
     testCtrEncryptionInvalidLength({CKMC_ALGO_AES_CTR, 192});
     testCtrEncryptionInvalidLength({CKMC_ALGO_AES_CTR, 256});
@@ -1371,6 +1399,9 @@ RUNNER_TEST_MULTIPLE(TED_1100_ctr_encryption_invalid_length, SyncEnv, AsyncEnv,
 RUNNER_TEST_MULTIPLE(TED_1105_ctr_encryption_valid_length, SyncEnv, AsyncEnv, CipherEnv)
 {
     RUNNER_IGNORED_MSG("Openssl supports only 128-bit AES CTR length");
+    if (g_api->gcmOnly())
+        return;
+
     testCtrEncryptionValidLength({CKMC_ALGO_AES_CTR, 128});
     testCtrEncryptionValidLength({CKMC_ALGO_AES_CTR, 192});
     testCtrEncryptionValidLength({CKMC_ALGO_AES_CTR, 256});
@@ -1378,6 +1409,9 @@ RUNNER_TEST_MULTIPLE(TED_1105_ctr_encryption_valid_length, SyncEnv, AsyncEnv, Ci
 
 RUNNER_TEST_MULTIPLE(TED_1110_ctr_decryption_invalid_length, SyncEnv, AsyncEnv, CipherEnv)
 {
+    if (g_api->gcmOnly())
+        return;
+
     testCtrDecryptionInvalidLength({CKMC_ALGO_AES_CTR, 128});
     testCtrDecryptionInvalidLength({CKMC_ALGO_AES_CTR, 192});
     testCtrDecryptionInvalidLength({CKMC_ALGO_AES_CTR, 256});
@@ -1386,6 +1420,9 @@ RUNNER_TEST_MULTIPLE(TED_1110_ctr_decryption_invalid_length, SyncEnv, AsyncEnv,
 RUNNER_TEST_MULTIPLE(TED_1115_ctr_decryption_valid_length, SyncEnv, AsyncEnv, CipherEnv)
 {
     RUNNER_IGNORED_MSG("Openssl supports only 128-bit AES CTR length");
+    if (g_api->gcmOnly())
+        return;
+
     testCtrDecryptionValidLength({CKMC_ALGO_AES_CTR, 128});
     testCtrDecryptionValidLength({CKMC_ALGO_AES_CTR, 192});
     testCtrDecryptionValidLength({CKMC_ALGO_AES_CTR, 256});