xtest: optionally skip some slow tests
Moves some slow tests to level 1 instead of level 0 to speed up the
default tests.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
diff --git a/host/xtest/xtest_1000.c b/host/xtest/xtest_1000.c
index 456424f..9210477 100644
--- a/host/xtest/xtest_1000.c
+++ b/host/xtest/xtest_1000.c
@@ -1177,7 +1177,10 @@
int i;
double mean_concurrency;
double concurrency;
- const int nb_loops = 50;
+ int nb_loops = 50;
+
+ if (level == 0)
+ nb_loops /= 2;
mean_concurrency = 0;
for (i = 0; i < nb_loops; i++) {
diff --git a/host/xtest/xtest_4000.c b/host/xtest/xtest_4000.c
index c38ea0d..d92296e 100644
--- a/host/xtest/xtest_4000.c
+++ b/host/xtest/xtest_4000.c
@@ -2936,8 +2936,8 @@
opt_salt(vect ## _salt_len) \
} }
-#define XTEST_AC_RSA_CASE(algo, mode, vect, opt_crt_array, opt_salt) \
- XTEST_AC_CASE(0, algo, mode, vect, \
+#define XTEST_AC_RSA_CASE(level, algo, mode, vect, opt_crt_array, opt_salt) \
+ XTEST_AC_CASE(level, algo, mode, vect, \
XTEST_AC_RSA_UNION(vect, opt_crt_array, opt_salt))
#define XTEST_AC_DSA_UNION(vect) \
@@ -2964,201 +2964,237 @@
static const struct xtest_ac_case xtest_ac_cases[] = {
/* RSA test without crt parameters */
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
ac_rsassa_vect1, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
ac_rsassa_vect1, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
ac_rsassa_vect2, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
ac_rsassa_vect2, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect3, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect3, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect4, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect4, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect5, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect5, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect6, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect6, NULL_ARRAY, WITHOUT_SALT),
-
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect7, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect7, NULL_ARRAY, WITHOUT_SALT),
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ ac_rsassa_vect8, NULL_ARRAY, WITHOUT_SALT),
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ ac_rsassa_vect8, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
- ac_rsassa_vect8, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
- ac_rsassa_vect8, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA224, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA224, TEE_MODE_SIGN,
ac_rsassa_vect16, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA224, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA224, TEE_MODE_VERIFY,
ac_rsassa_vect16, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_SIGN,
+
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_SIGN,
ac_rsassa_vect9, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_VERIFY,
ac_rsassa_vect9, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_SIGN,
+
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_SIGN,
ac_rsassa_vect10, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_VERIFY,
ac_rsassa_vect10, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_SIGN,
+
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_SIGN,
ac_rsassa_vect11, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_VERIFY,
ac_rsassa_vect11, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1,
+ TEE_MODE_VERIFY,
ac_rsassa_vect12, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect12, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224, TEE_MODE_VERIFY,
+
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224,
+ TEE_MODE_VERIFY,
ac_rsassa_vect17, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224,
+ TEE_MODE_SIGN,
ac_rsassa_vect17, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256, TEE_MODE_VERIFY,
+
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256,
+ TEE_MODE_VERIFY,
ac_rsassa_vect13, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256,
+ TEE_MODE_SIGN,
ac_rsassa_vect13, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384, TEE_MODE_VERIFY,
+
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384,
+ TEE_MODE_VERIFY,
ac_rsassa_vect14, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384,
+ TEE_MODE_SIGN,
ac_rsassa_vect14, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512, TEE_MODE_VERIFY,
+
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512,
+ TEE_MODE_VERIFY,
ac_rsassa_vect15, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512,
+ TEE_MODE_SIGN,
ac_rsassa_vect15, NULL_ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
ac_rsaes_pkcs1_v1_5_vect1, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
ac_rsaes_pkcs1_v1_5_vect1, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
ac_rsaes_pkcs1_v1_5_vect2, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
ac_rsaes_pkcs1_v1_5_vect2, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
ac_rsaes_pkcs1_v1_5_vect15, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
ac_rsaes_pkcs1_v1_5_vect15, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_DECRYPT,
ac_rsaes_oaep_vect1, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_ENCRYPT,
ac_rsaes_oaep_vect1, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_DECRYPT,
ac_rsaes_oaep_vect2, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_ENCRYPT,
ac_rsaes_oaep_vect2, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_DECRYPT,
ac_rsaes_oaep_vect10, NULL_ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_ENCRYPT,
ac_rsaes_oaep_vect10, NULL_ARRAY, WITHOUT_SALT),
/* RSA test with crt parameters */
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
ac_rsassa_vect1, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
ac_rsassa_vect1, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSA_NOPAD, TEE_MODE_ENCRYPT,
ac_rsassa_vect2, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSA_NOPAD, TEE_MODE_DECRYPT,
ac_rsassa_vect2, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect3, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect3, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect4, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect4, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect5, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect5, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect6, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect6, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect7, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect7, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect8, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA1, TEE_MODE_VERIFY,
ac_rsassa_vect8, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_SIGN,
ac_rsassa_vect9, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_V1_5_SHA256, TEE_MODE_VERIFY,
ac_rsassa_vect9, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_SIGN,
ac_rsassa_vect10, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA384, TEE_MODE_VERIFY,
ac_rsassa_vect10, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_SIGN,
ac_rsassa_vect11, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_V1_5_SHA512, TEE_MODE_VERIFY,
ac_rsassa_vect11, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1,
+ TEE_MODE_VERIFY,
ac_rsassa_vect12, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1,TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1, TEE_MODE_SIGN,
ac_rsassa_vect12, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224,
+ TEE_MODE_VERIFY,
ac_rsassa_vect17, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224,
+ TEE_MODE_SIGN,
ac_rsassa_vect17, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256,
+ TEE_MODE_VERIFY,
ac_rsassa_vect13, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256,
+ TEE_MODE_SIGN,
ac_rsassa_vect13, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384,
+ TEE_MODE_VERIFY,
ac_rsassa_vect14, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384,
+ TEE_MODE_SIGN,
ac_rsassa_vect14, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512, TEE_MODE_VERIFY,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512,
+ TEE_MODE_VERIFY,
ac_rsassa_vect15, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512, TEE_MODE_SIGN,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512,
+ TEE_MODE_SIGN,
ac_rsassa_vect15, ARRAY, WITH_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
ac_rsaes_pkcs1_v1_5_vect1, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
ac_rsaes_pkcs1_v1_5_vect1, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
ac_rsaes_pkcs1_v1_5_vect2, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
ac_rsaes_pkcs1_v1_5_vect2, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_DECRYPT,
ac_rsaes_pkcs1_v1_5_vect15, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_V1_5, TEE_MODE_ENCRYPT,
ac_rsaes_pkcs1_v1_5_vect15, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_DECRYPT,
ac_rsaes_oaep_vect1, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(0, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_ENCRYPT,
ac_rsaes_oaep_vect1, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_DECRYPT,
ac_rsaes_oaep_vect2, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_ENCRYPT,
ac_rsaes_oaep_vect2, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_DECRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_DECRYPT,
ac_rsaes_oaep_vect10, ARRAY, WITHOUT_SALT),
- XTEST_AC_RSA_CASE(TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1, TEE_MODE_ENCRYPT,
+ XTEST_AC_RSA_CASE(1, TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1,
+ TEE_MODE_ENCRYPT,
ac_rsaes_oaep_vect10, ARRAY, WITHOUT_SALT),
/* DSA tests */
/* [mod = L=1024, N=160, SHA-1] */
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA1, TEE_MODE_VERIFY, ac_dsa_vect1),
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA1, TEE_MODE_SIGN, ac_dsa_vect1),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA1, TEE_MODE_VERIFY, ac_dsa_vect1),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA1, TEE_MODE_SIGN, ac_dsa_vect1),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA1, TEE_MODE_VERIFY, ac_dsa_vect2),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA1, TEE_MODE_SIGN, ac_dsa_vect2),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA1, TEE_MODE_VERIFY, ac_dsa_vect3),
@@ -3193,8 +3229,8 @@
/* [mod = L=1024, N=160, SHA-512] - GP NOT SUPPORTED */
/* [mod = L=2048, N=224, SHA-1] - GP NOT SUPPORTED */
/* [mod = L=2048, N=224, SHA-224] */
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect91),
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA224, TEE_MODE_SIGN, ac_dsa_vect91),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect91),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA224, TEE_MODE_SIGN, ac_dsa_vect91),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect92),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_SIGN, ac_dsa_vect92),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect93),
@@ -3258,8 +3294,8 @@
/* [mod = L=2048, N=224, SHA-512] - GP NOT SUPPORTED */
/* [mod = L=2048, N=256, SHA-1] - GP NOT SUPPORTED */
/* [mod = L=2048, N=256, SHA-224] */
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect166),
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA224, TEE_MODE_SIGN, ac_dsa_vect166),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect166),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA224, TEE_MODE_SIGN, ac_dsa_vect166),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect167),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_SIGN, ac_dsa_vect167),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect168),
@@ -3289,8 +3325,8 @@
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_VERIFY, ac_dsa_vect180),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA224, TEE_MODE_SIGN, ac_dsa_vect180),
/* [mod = L=2048, N=256, SHA-256] */
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect181),
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA256, TEE_MODE_SIGN, ac_dsa_vect181),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect181),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA256, TEE_MODE_SIGN, ac_dsa_vect181),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect182),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA256, TEE_MODE_SIGN, ac_dsa_vect182),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect183),
@@ -3324,8 +3360,8 @@
/* [mod = L=3072, N=256, SHA-1] - GP NOT SUPPORTED */
/* [mod = L=3072, N=256, SHA-224] - GP NOT SUPPORTED */
/* [mod = L=3072, N=256, SHA-256] */
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect256),
- XTEST_AC_DSA_CASE(0, TEE_ALG_DSA_SHA256, TEE_MODE_SIGN, ac_dsa_vect256),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect256),
+ XTEST_AC_DSA_CASE(1, TEE_ALG_DSA_SHA256, TEE_MODE_SIGN, ac_dsa_vect256),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect257),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA256, TEE_MODE_SIGN, ac_dsa_vect257),
XTEST_AC_DSA_CASE(15, TEE_ALG_DSA_SHA256, TEE_MODE_VERIFY, ac_dsa_vect258),
@@ -3420,9 +3456,9 @@
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P192, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_15),
/* [P-224] */
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P224, TEE_MODE_VERIFY,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P224, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_16),
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P224, TEE_MODE_SIGN,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P224, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_16),
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P224, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_17),
@@ -3481,9 +3517,9 @@
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P224, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_30),
/* [P-256] */
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P256, TEE_MODE_VERIFY,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P256, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_31),
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P256, TEE_MODE_SIGN,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P256, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_31),
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P256, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_32),
@@ -3542,9 +3578,9 @@
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P256, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_45),
/* [P-384] */
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P384, TEE_MODE_VERIFY,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P384, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_46),
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P384, TEE_MODE_SIGN,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P384, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_46),
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P384, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_47),
@@ -3603,9 +3639,9 @@
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P384, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_60),
/* [P-521] */
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P521, TEE_MODE_VERIFY,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P521, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_61),
- XTEST_AC_ECDSA_CASE(0, TEE_ALG_ECDSA_P521, TEE_MODE_SIGN,
+ XTEST_AC_ECDSA_CASE(1, TEE_ALG_ECDSA_P521, TEE_MODE_SIGN,
nist_186_2_ecdsa_testvector_61),
XTEST_AC_ECDSA_CASE(15, TEE_ALG_ECDSA_P521, TEE_MODE_VERIFY,
nist_186_2_ecdsa_testvector_62),
@@ -4413,34 +4449,35 @@
size_t n;
uint32_t key_size;
static const struct {
+ unsigned level;
const char *name;
uint32_t key_type;
uint32_t quanta;
uint32_t min_size;
uint32_t max_size;
} key_types[] = {
- { "AES", TEE_TYPE_AES, 64, 128,
+ { 0, "AES", TEE_TYPE_AES, 64, 128,
256 /* valid sizes 128, 192, 256 */ },
- { "DES", TEE_TYPE_DES, 56, 56, 56 /* valid size 56 */ },
- { "DES3", TEE_TYPE_DES3, 56, 112,
+ { 0, "DES", TEE_TYPE_DES, 56, 56, 56 /* valid size 56 */ },
+ { 0, "DES3", TEE_TYPE_DES3, 56, 112,
168 /* valid sizes 112, 168 */ },
- { "HMAC-MD5", TEE_TYPE_HMAC_MD5, 8, 64, 512 },
- { "HMAC-SHA1", TEE_TYPE_HMAC_SHA1, 8, 80, 512 },
- { "HMAC-SHA224", TEE_TYPE_HMAC_SHA224, 8, 112, 512 },
- { "HMAC-SHA256", TEE_TYPE_HMAC_SHA256, 8, 192, 1024 },
- { "HMAC-SHA384", TEE_TYPE_HMAC_SHA384, 8, 256, 1024 },
- { "HMAC-SHA512", TEE_TYPE_HMAC_SHA512, 8, 256, 1024 },
- { "Generic secret", TEE_TYPE_GENERIC_SECRET, 8, 128, 4096 },
- { "RSA-2048", TEE_TYPE_RSA_KEYPAIR, 1, 2048, 2048 },
+ { 0, "HMAC-MD5", TEE_TYPE_HMAC_MD5, 8, 64, 512 },
+ { 0, "HMAC-SHA1", TEE_TYPE_HMAC_SHA1, 8, 80, 512 },
+ { 0, "HMAC-SHA224", TEE_TYPE_HMAC_SHA224, 8, 112, 512 },
+ { 0, "HMAC-SHA256", TEE_TYPE_HMAC_SHA256, 8, 192, 1024 },
+ { 0, "HMAC-SHA384", TEE_TYPE_HMAC_SHA384, 8, 256, 1024 },
+ { 0, "HMAC-SHA512", TEE_TYPE_HMAC_SHA512, 8, 256, 1024 },
+ { 0, "Generic secret", TEE_TYPE_GENERIC_SECRET, 8, 128, 4096 },
+ { 1, "RSA-2048", TEE_TYPE_RSA_KEYPAIR, 1, 2048, 2048 },
/* New tests added to check non-regression of issue #5398 */
- { "RSA-256", TEE_TYPE_RSA_KEYPAIR, 1, 256, 256 },
- { "RSA-384", TEE_TYPE_RSA_KEYPAIR, 1, 384, 384 },
- { "RSA-512", TEE_TYPE_RSA_KEYPAIR, 1, 512, 512 },
- { "RSA-640", TEE_TYPE_RSA_KEYPAIR, 1, 640, 640 },
- { "RSA-768", TEE_TYPE_RSA_KEYPAIR, 1, 768, 768 },
- { "RSA-896", TEE_TYPE_RSA_KEYPAIR, 1, 896, 896 },
- { "RSA-1024", TEE_TYPE_RSA_KEYPAIR, 1, 1024, 1024 },
+ { 0, "RSA-256", TEE_TYPE_RSA_KEYPAIR, 1, 256, 256 },
+ { 1, "RSA-384", TEE_TYPE_RSA_KEYPAIR, 1, 384, 384 },
+ { 1, "RSA-512", TEE_TYPE_RSA_KEYPAIR, 1, 512, 512 },
+ { 1, "RSA-640", TEE_TYPE_RSA_KEYPAIR, 1, 640, 640 },
+ { 1, "RSA-768", TEE_TYPE_RSA_KEYPAIR, 1, 768, 768 },
+ { 1, "RSA-896", TEE_TYPE_RSA_KEYPAIR, 1, 896, 896 },
+ { 1, "RSA-1024", TEE_TYPE_RSA_KEYPAIR, 1, 1024, 1024 },
};
for (n = 0; n < ARRAY_SIZE(key_types); n++) {
@@ -4448,6 +4485,9 @@
uint32_t max_size = key_types[n].max_size;
uint32_t quanta = key_types[n].quanta;
+ if (key_types[n].level > level)
+ continue;
+
Do_ADBG_BeginSubCase(c, "Generate %s key", key_types[n].name);
for (key_size = min_size; key_size <= max_size;
@@ -4486,6 +4526,7 @@
&vect ## _private_bits, \
ARRAY(vect ## _subprime)
static const struct {
+ unsigned level;
uint32_t key_size;
const uint8_t *p;
size_t p_len;
@@ -4495,40 +4536,43 @@
const uint8_t *subprime;
size_t subprime_len;
} key_types[] = {
- { 256, XTEST_DH_GK_DATA(keygen_dh256) },
- { 256, XTEST_DH_GK_DATA(keygen_dh320) },
- { 384, XTEST_DH_GK_DATA(keygen_dh384) },
- { 256, XTEST_DH_GK_DATA(keygen_dh448) },
- { 512, XTEST_DH_GK_DATA(keygen_dh512) },
- { 288, XTEST_DH_GK_DATA(keygen_dh576) },
- { 640, XTEST_DH_GK_DATA(keygen_dh640) },
- { 352, XTEST_DH_GK_DATA(keygen_dh704) },
- { 768, XTEST_DH_GK_DATA(keygen_dh768) },
- { 416, XTEST_DH_GK_DATA(keygen_dh832) },
- { 896, XTEST_DH_GK_DATA(keygen_dh896) },
- { 480, XTEST_DH_GK_DATA(keygen_dh960) },
- { 1024, XTEST_DH_GK_DATA(keygen_dh1024) },
- { 544, XTEST_DH_GK_DATA(keygen_dh1088) },
- { 1152, XTEST_DH_GK_DATA(keygen_dh1152) },
- { 608, XTEST_DH_GK_DATA(keygen_dh1216) },
- { 1280, XTEST_DH_GK_DATA(keygen_dh1280) },
- { 672, XTEST_DH_GK_DATA(keygen_dh1344) },
- { 1408, XTEST_DH_GK_DATA(keygen_dh1408) },
- { 736, XTEST_DH_GK_DATA(keygen_dh1472) },
- { 1536, XTEST_DH_GK_DATA(keygen_dh1536) },
- { 800, XTEST_DH_GK_DATA(keygen_dh1600) },
- { 1664, XTEST_DH_GK_DATA(keygen_dh1664) },
- { 864, XTEST_DH_GK_DATA(keygen_dh1728) },
- { 1792, XTEST_DH_GK_DATA(keygen_dh1792) },
- { 928, XTEST_DH_GK_DATA(keygen_dh1856) },
- { 1920, XTEST_DH_GK_DATA(keygen_dh1920) },
- { 992, XTEST_DH_GK_DATA(keygen_dh1984) },
- { 2048, XTEST_DH_GK_DATA(keygen_dh2048) },
- { 256, XTEST_DH_GK_DATA_SUBPRIME(keygen_dh2048_subprime) }
+ { 0, 256, XTEST_DH_GK_DATA(keygen_dh256) },
+ { 1, 256, XTEST_DH_GK_DATA(keygen_dh320) },
+ { 1, 384, XTEST_DH_GK_DATA(keygen_dh384) },
+ { 1, 256, XTEST_DH_GK_DATA(keygen_dh448) },
+ { 1, 512, XTEST_DH_GK_DATA(keygen_dh512) },
+ { 1, 288, XTEST_DH_GK_DATA(keygen_dh576) },
+ { 1, 640, XTEST_DH_GK_DATA(keygen_dh640) },
+ { 1, 352, XTEST_DH_GK_DATA(keygen_dh704) },
+ { 1, 768, XTEST_DH_GK_DATA(keygen_dh768) },
+ { 1, 416, XTEST_DH_GK_DATA(keygen_dh832) },
+ { 1, 896, XTEST_DH_GK_DATA(keygen_dh896) },
+ { 1, 480, XTEST_DH_GK_DATA(keygen_dh960) },
+ { 1, 1024, XTEST_DH_GK_DATA(keygen_dh1024) },
+ { 1, 544, XTEST_DH_GK_DATA(keygen_dh1088) },
+ { 1, 1152, XTEST_DH_GK_DATA(keygen_dh1152) },
+ { 1, 608, XTEST_DH_GK_DATA(keygen_dh1216) },
+ { 1, 1280, XTEST_DH_GK_DATA(keygen_dh1280) },
+ { 1, 672, XTEST_DH_GK_DATA(keygen_dh1344) },
+ { 1, 1408, XTEST_DH_GK_DATA(keygen_dh1408) },
+ { 1, 736, XTEST_DH_GK_DATA(keygen_dh1472) },
+ { 1, 1536, XTEST_DH_GK_DATA(keygen_dh1536) },
+ { 1, 800, XTEST_DH_GK_DATA(keygen_dh1600) },
+ { 1, 1664, XTEST_DH_GK_DATA(keygen_dh1664) },
+ { 1, 864, XTEST_DH_GK_DATA(keygen_dh1728) },
+ { 1, 1792, XTEST_DH_GK_DATA(keygen_dh1792) },
+ { 1, 928, XTEST_DH_GK_DATA(keygen_dh1856) },
+ { 1, 1920, XTEST_DH_GK_DATA(keygen_dh1920) },
+ { 1, 992, XTEST_DH_GK_DATA(keygen_dh1984) },
+ { 1, 2048, XTEST_DH_GK_DATA(keygen_dh2048) },
+ { 1, 256, XTEST_DH_GK_DATA_SUBPRIME(keygen_dh2048_subprime) }
};
for (n = 0; n < ARRAY_SIZE(key_types); n++) {
+ if (key_types[n].level > level)
+ continue;
+
Do_ADBG_BeginSubCase(c,
"Generate DH key %d bits - Private bits = %d",
key_types[n].key_size,
@@ -4583,6 +4627,7 @@
ARRAY(vect ## _g), \
ARRAY(vect ## _q)
static const struct {
+ unsigned level;
uint32_t key_size;
const uint8_t *prime;
size_t prime_len;
@@ -4591,19 +4636,22 @@
const uint8_t *sub_prime;
size_t sub_prime_len;
} key_types[] = {
- { 1024, XTEST_DSA_GK_DATA(keygen_dsa_test1) },
- { 512, XTEST_DSA_GK_DATA(keygen_dsa512) },
- { 576, XTEST_DSA_GK_DATA(keygen_dsa576) },
- { 640, XTEST_DSA_GK_DATA(keygen_dsa640) },
- { 704, XTEST_DSA_GK_DATA(keygen_dsa704) },
- { 768, XTEST_DSA_GK_DATA(keygen_dsa768) },
- { 832, XTEST_DSA_GK_DATA(keygen_dsa832) },
- { 896, XTEST_DSA_GK_DATA(keygen_dsa896) },
- { 960, XTEST_DSA_GK_DATA(keygen_dsa960) },
- { 1024, XTEST_DSA_GK_DATA(keygen_dsa1024) },
+ { 1, 1024, XTEST_DSA_GK_DATA(keygen_dsa_test1) },
+ { 0, 512, XTEST_DSA_GK_DATA(keygen_dsa512) },
+ { 1, 576, XTEST_DSA_GK_DATA(keygen_dsa576) },
+ { 1, 640, XTEST_DSA_GK_DATA(keygen_dsa640) },
+ { 1, 704, XTEST_DSA_GK_DATA(keygen_dsa704) },
+ { 1, 768, XTEST_DSA_GK_DATA(keygen_dsa768) },
+ { 1, 832, XTEST_DSA_GK_DATA(keygen_dsa832) },
+ { 1, 896, XTEST_DSA_GK_DATA(keygen_dsa896) },
+ { 1, 960, XTEST_DSA_GK_DATA(keygen_dsa960) },
+ { 1, 1024, XTEST_DSA_GK_DATA(keygen_dsa1024) },
};
for (n = 0; n < ARRAY_SIZE(key_types); n++) {
+ if (key_types[n].level > level)
+ continue;
+
Do_ADBG_BeginSubCase(c, "Generate DSA key %d bits",
key_types[n].key_size);
param_count = 0;
@@ -4637,27 +4685,41 @@
TEE_Attribute params[4];
static const struct {
+ unsigned level;
const char *name;
uint32_t algo;
uint32_t curve;
uint32_t key_size;
} key_types[] = {
/* ECDSA */
- { "ECDSA-192", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P192, 192 },
- { "ECDSA-224", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P224, 224 },
- { "ECDSA-256", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P256, 256 },
- { "ECDSA-384", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P384, 384 },
- { "ECDSA-521", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P521, 521 },
+ { 0, "ECDSA-192", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P192,
+ 192 },
+ { 1, "ECDSA-224", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P224,
+ 224 },
+ { 1, "ECDSA-256", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P256,
+ 256 },
+ { 1, "ECDSA-384", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P384,
+ 384 },
+ { 1, "ECDSA-521", TEE_TYPE_ECDSA_KEYPAIR, TEE_ECC_CURVE_NIST_P521,
+ 521 },
/* ECDH */
- { "ECDH-192", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P192, 192 },
- { "ECDH-224", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P224, 224 },
- { "ECDH-256", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P256, 256 },
- { "ECDH-384", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P384, 384 },
- { "ECDH-521", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P521, 521 },
+ { 0, "ECDH-192", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P192,
+ 192 },
+ { 1, "ECDH-224", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P224,
+ 224 },
+ { 1, "ECDH-256", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P256,
+ 256 },
+ { 1, "ECDH-384", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P384,
+ 384 },
+ { 1, "ECDH-521", TEE_TYPE_ECDH_KEYPAIR, TEE_ECC_CURVE_NIST_P521,
+ 521 },
};
for (n = 0; n < ARRAY_SIZE(key_types); n++) {
+ if (key_types[n].level > level)
+ continue;
+
Do_ADBG_BeginSubCase(c, "Generate %s", key_types[n].name);
param_count = 0;
diff --git a/host/xtest/xtest_4000_data.h b/host/xtest/xtest_4000_data.h
index 7de0ddc..288aab6 100644
--- a/host/xtest/xtest_4000_data.h
+++ b/host/xtest/xtest_4000_data.h
@@ -5991,7 +5991,7 @@
.out = nist_kas_ecc_cdh_testvector_1_out,
},
{
- .level = 0,
+ .level = 1,
.algo = TEE_ALG_ECDH_P192,
.curve = TEE_ECC_CURVE_NIST_P192,
.keysize = 192,
@@ -6242,7 +6242,7 @@
.out = nist_kas_ecc_cdh_testvector_26_out,
},
{
- .level = 0,
+ .level = 1,
.algo = TEE_ALG_ECDH_P224,
.curve = TEE_ECC_CURVE_NIST_P224,
.keysize = 224,
@@ -6493,7 +6493,7 @@
.out = nist_kas_ecc_cdh_testvector_51_out,
},
{
- .level = 0,
+ .level = 1,
.algo = TEE_ALG_ECDH_P256,
.curve = TEE_ECC_CURVE_NIST_P256,
.keysize = 256,
@@ -6744,7 +6744,7 @@
.out = nist_kas_ecc_cdh_testvector_76_out,
},
{
- .level = 0,
+ .level = 1,
.algo = TEE_ALG_ECDH_P384,
.curve = TEE_ECC_CURVE_NIST_P384,
.keysize = 384,
@@ -6995,7 +6995,7 @@
.out = nist_kas_ecc_cdh_testvector_101_out,
},
{
- .level = 0,
+ .level = 1,
.algo = TEE_ALG_ECDH_P521,
.curve = TEE_ECC_CURVE_NIST_P521,
.keysize = 521,