diff --git a/tests/suites/test_suite_psa_crypto_metadata.data b/tests/suites/test_suite_psa_crypto_metadata.data
index d1a5986..714d094 100644
--- a/tests/suites/test_suite_psa_crypto_metadata.data
+++ b/tests/suites/test_suite_psa_crypto_metadata.data
@@ -181,3 +181,125 @@
 Key derivation: HKDF using SHA-256
 key_derivation_algorithm:PSA_ALG_HKDF( PSA_ALG_SHA_256 ):ALG_IS_HKDF
 
+Key type: raw data
+key_type:PSA_KEY_TYPE_RAW_DATA:KEY_TYPE_IS_UNSTRUCTURED
+
+Key type: HMAC
+key_type:PSA_KEY_TYPE_HMAC:KEY_TYPE_IS_UNSTRUCTURED
+
+Key type: secret for key derivation
+key_type:PSA_KEY_TYPE_DERIVE:KEY_TYPE_IS_UNSTRUCTURED
+
+Key type: AES
+key_type:PSA_KEY_TYPE_AES:KEY_TYPE_IS_UNSTRUCTURED
+
+Key type: DES
+key_type:PSA_KEY_TYPE_DES:KEY_TYPE_IS_UNSTRUCTURED
+
+Key type: Camellia
+key_type:PSA_KEY_TYPE_CAMELLIA:KEY_TYPE_IS_UNSTRUCTURED
+
+Key type: ARC4
+key_type:PSA_KEY_TYPE_ARC4:KEY_TYPE_IS_UNSTRUCTURED
+
+Key type: RSA public key
+key_type:PSA_KEY_TYPE_RSA_PUBLIC_KEY:KEY_TYPE_IS_PUBLIC_KEY | KEY_TYPE_IS_RSA
+
+Key type: RSA key pair
+key_type:PSA_KEY_TYPE_RSA_KEYPAIR:KEY_TYPE_IS_KEYPAIR | KEY_TYPE_IS_RSA
+
+Key type: DSA public key
+key_type:PSA_KEY_TYPE_DSA_PUBLIC_KEY:KEY_TYPE_IS_PUBLIC_KEY | KEY_TYPE_IS_DSA
+
+Key type: DSA key pair
+key_type:PSA_KEY_TYPE_DSA_KEYPAIR:KEY_TYPE_IS_KEYPAIR | KEY_TYPE_IS_DSA
+
+ECC key types: sect163k1
+ecc_key_types:PSA_ECC_CURVE_SECT163K1
+
+ECC key types: sect163r1
+ecc_key_types:PSA_ECC_CURVE_SECT163R1
+
+ECC key types: sect163r2
+ecc_key_types:PSA_ECC_CURVE_SECT163R2
+
+ECC key types: sect193r1
+ecc_key_types:PSA_ECC_CURVE_SECT193R1
+
+ECC key types: sect193r2
+ecc_key_types:PSA_ECC_CURVE_SECT193R2
+
+ECC key types: sect233k1
+ecc_key_types:PSA_ECC_CURVE_SECT233K1
+
+ECC key types: sect233r1
+ecc_key_types:PSA_ECC_CURVE_SECT233R1
+
+ECC key types: sect239k1
+ecc_key_types:PSA_ECC_CURVE_SECT239K1
+
+ECC key types: sect283k1
+ecc_key_types:PSA_ECC_CURVE_SECT283K1
+
+ECC key types: sect283r1
+ecc_key_types:PSA_ECC_CURVE_SECT283R1
+
+ECC key types: sect409k1
+ecc_key_types:PSA_ECC_CURVE_SECT409K1
+
+ECC key types: sect409r1
+ecc_key_types:PSA_ECC_CURVE_SECT409R1
+
+ECC key types: sect571k1
+ecc_key_types:PSA_ECC_CURVE_SECT571K1
+
+ECC key types: sect571r1
+ecc_key_types:PSA_ECC_CURVE_SECT571R1
+
+ECC key types: secp160k1
+ecc_key_types:PSA_ECC_CURVE_SECP160K1
+
+ECC key types: secp160r1
+ecc_key_types:PSA_ECC_CURVE_SECP160R1
+
+ECC key types: secp160r2
+ecc_key_types:PSA_ECC_CURVE_SECP160R2
+
+ECC key types: secp192k1
+ecc_key_types:PSA_ECC_CURVE_SECP192K1
+
+ECC key types: secp192r1
+ecc_key_types:PSA_ECC_CURVE_SECP192R1
+
+ECC key types: secp224k1
+ecc_key_types:PSA_ECC_CURVE_SECP224K1
+
+ECC key types: secp224r1
+ecc_key_types:PSA_ECC_CURVE_SECP224R1
+
+ECC key types: secp256k1
+ecc_key_types:PSA_ECC_CURVE_SECP256K1
+
+ECC key types: secp256r1
+ecc_key_types:PSA_ECC_CURVE_SECP256R1
+
+ECC key types: secp384r1
+ecc_key_types:PSA_ECC_CURVE_SECP384R1
+
+ECC key types: secp521r1
+ecc_key_types:PSA_ECC_CURVE_SECP521R1
+
+ECC key types: Brainpool P256R1
+ecc_key_types:PSA_ECC_CURVE_BRAINPOOL_P256R1
+
+ECC key types: Brainpool P384R1
+ecc_key_types:PSA_ECC_CURVE_BRAINPOOL_P384R1
+
+ECC key types: Brainpool P512R1
+ecc_key_types:PSA_ECC_CURVE_BRAINPOOL_P512R1
+
+ECC key types: Curve25519
+ecc_key_types:PSA_ECC_CURVE_CURVE25519
+
+ECC key types: Curve448
+ecc_key_types:PSA_ECC_CURVE_CURVE448
diff --git a/tests/suites/test_suite_psa_crypto_metadata.function b/tests/suites/test_suite_psa_crypto_metadata.function
index d25aace..0b8fba0 100644
--- a/tests/suites/test_suite_psa_crypto_metadata.function
+++ b/tests/suites/test_suite_psa_crypto_metadata.function
@@ -32,6 +32,18 @@
 #define ALG_IS_RSA_OAEP                 ( 1u << 14 )
 #define ALG_IS_HKDF                     ( 1u << 15 )
 
+/* Flags for key type classification macros. There is a flag for every
+ * key type classification macro PSA_KEY_TYPE_IS_xxx except for some that
+ * are tested as derived from other macros. The name of the flag is
+ * the name of the classification macro without the PSA_ prefix. */
+#define KEY_TYPE_IS_VENDOR_DEFINED      ( 1u << 0 )
+#define KEY_TYPE_IS_UNSTRUCTURED        ( 1u << 1 )
+#define KEY_TYPE_IS_PUBLIC_KEY          ( 1u << 2 )
+#define KEY_TYPE_IS_KEYPAIR             ( 1u << 3 )
+#define KEY_TYPE_IS_RSA                 ( 1u << 4 )
+#define KEY_TYPE_IS_DSA                 ( 1u << 5 )
+#define KEY_TYPE_IS_ECC                 ( 1u << 6 )
+
 #define TEST_CLASSIFICATION_MACRO( flag, alg, flags )            \
     TEST_ASSERT( PSA_##flag( alg ) == !! ( ( flags ) & flag ) )
 
@@ -58,6 +70,30 @@
 exit: ;
 }
 
+void key_type_classification( psa_key_type_t type, unsigned flags )
+{
+    /* Macros tested based on the test case parameter */
+    TEST_CLASSIFICATION_MACRO( KEY_TYPE_IS_VENDOR_DEFINED, type, flags );
+    TEST_CLASSIFICATION_MACRO( KEY_TYPE_IS_UNSTRUCTURED, type, flags );
+    TEST_CLASSIFICATION_MACRO( KEY_TYPE_IS_PUBLIC_KEY, type, flags );
+    TEST_CLASSIFICATION_MACRO( KEY_TYPE_IS_KEYPAIR, type, flags );
+    TEST_CLASSIFICATION_MACRO( KEY_TYPE_IS_RSA, type, flags );
+    TEST_CLASSIFICATION_MACRO( KEY_TYPE_IS_ECC, type, flags );
+
+    /* Macros with derived semantics */
+    TEST_ASSERT( PSA_KEY_TYPE_IS_ASYMMETRIC( type ) ==
+                 ( PSA_KEY_TYPE_IS_PUBLIC_KEY( type ) ||
+                   PSA_KEY_TYPE_IS_KEYPAIR( type ) ) );
+    TEST_ASSERT( PSA_KEY_TYPE_IS_ECC_KEYPAIR( type ) ==
+                 ( PSA_KEY_TYPE_IS_ECC( type ) &&
+                   PSA_KEY_TYPE_IS_KEYPAIR( type ) ) );
+    TEST_ASSERT( PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY( type ) ==
+                 ( PSA_KEY_TYPE_IS_ECC( type ) &&
+                   PSA_KEY_TYPE_IS_PUBLIC_KEY( type ) ) );
+
+exit: ;
+}
+
 /* END_HEADER */
 
 /* BEGIN_DEPENDENCIES
@@ -248,3 +284,48 @@
 }
 /* END_CASE */
 
+/* BEGIN_CASE */
+void key_type( int type_arg, int classification_flags )
+{
+    psa_key_type_t type = type_arg;
+
+    key_type_classification( type, classification_flags );
+
+    /* For asymmetric types, check the corresponding pair/public type */
+    if( classification_flags & KEY_TYPE_IS_PUBLIC_KEY )
+    {
+        psa_key_type_t pair_type = PSA_KEY_TYPE_KEYPAIR_OF_PUBLIC_KEY( type );
+        TEST_ASSERT( PSA_KEY_TYPE_PUBLIC_KEY_OF_KEYPAIR( pair_type ) == type );
+        key_type_classification( pair_type,
+                                 ( classification_flags
+                                   & ~KEY_TYPE_IS_PUBLIC_KEY )
+                                 | KEY_TYPE_IS_KEYPAIR );
+        TEST_ASSERT( PSA_KEY_TYPE_PUBLIC_KEY_OF_KEYPAIR( type ) == type );
+    }
+    if( classification_flags & KEY_TYPE_IS_KEYPAIR )
+    {
+        psa_key_type_t public_type = PSA_KEY_TYPE_PUBLIC_KEY_OF_KEYPAIR( type );
+        TEST_ASSERT( PSA_KEY_TYPE_KEYPAIR_OF_PUBLIC_KEY( public_type ) == type );
+        key_type_classification( public_type,
+                                 ( classification_flags
+                                   & ~KEY_TYPE_IS_KEYPAIR )
+                                 | KEY_TYPE_IS_PUBLIC_KEY );
+        TEST_ASSERT( PSA_KEY_TYPE_KEYPAIR_OF_PUBLIC_KEY( type ) == type );
+    }
+}
+/* END_CASE */
+
+/* BEGIN_CASE */
+void ecc_key_types( int curve_arg )
+{
+    psa_ecc_curve_t curve = curve_arg;
+    psa_key_type_t public_type = PSA_KEY_TYPE_ECC_PUBLIC_KEY( curve );
+    psa_key_type_t pair_type = PSA_KEY_TYPE_ECC_KEYPAIR( curve );
+
+    test_key_type( public_type, KEY_TYPE_IS_ECC | KEY_TYPE_IS_PUBLIC_KEY );
+    test_key_type( pair_type, KEY_TYPE_IS_ECC | KEY_TYPE_IS_KEYPAIR );
+
+    TEST_ASSERT( PSA_KEY_TYPE_GET_CURVE( public_type ) == curve );
+    TEST_ASSERT( PSA_KEY_TYPE_GET_CURVE( pair_type ) == curve );
+}
+/* END_CASE */
