KEYTYPE
#define IMPLEMENT_MSBLOB(KEYTYPE, keytype) \
EVP_PKEY_##KEYTYPE, #KEYTYPE, \
#define IMPLEMENT_MS(KEYTYPE, keytype) \
EVP_PKEY_##KEYTYPE, #KEYTYPE, \
#define KEYS(KEYTYPE) \
static EVP_PKEY *key_##KEYTYPE = NULL
#define MAKE_KEYS(KEYTYPE, KEYTYPEstr, params) \
&& TEST_ptr(key_##KEYTYPE = make_key(KEYTYPEstr, NULL, params))
#define FREE_KEYS(KEYTYPE) \
EVP_PKEY_free(key_##KEYTYPE);
#define DOMAIN_KEYS(KEYTYPE) \
static EVP_PKEY *template_##KEYTYPE = NULL; \
static EVP_PKEY *key_##KEYTYPE = NULL
#define MAKE_DOMAIN_KEYS(KEYTYPE, KEYTYPEstr, params) \
&& TEST_ptr(template_##KEYTYPE = make_template(KEYTYPEstr, params)) \
&& TEST_ptr(key_##KEYTYPE = make_key(KEYTYPEstr, template_##KEYTYPE, NULL))
#define FREE_DOMAIN_KEYS(KEYTYPE) \
EVP_PKEY_free(template_##KEYTYPE); \
EVP_PKEY_free(key_##KEYTYPE)
#define IMPLEMENT_TEST_SUITE(KEYTYPE, KEYTYPEstr, fips) \
static int test_unprotected_##KEYTYPE##_via_DER(void) \
return test_unprotected_via_DER(KEYTYPEstr, key_##KEYTYPE, fips); \
static int test_unprotected_##KEYTYPE##_via_PEM(void) \
return test_unprotected_via_PEM(KEYTYPEstr, key_##KEYTYPE, fips); \
static int test_protected_##KEYTYPE##_via_DER(void) \
return test_protected_via_DER(KEYTYPEstr, key_##KEYTYPE, fips); \
static int test_protected_##KEYTYPE##_via_PEM(void) \
return test_protected_via_PEM(KEYTYPEstr, key_##KEYTYPE, fips); \
static int test_public_##KEYTYPE##_via_DER(void) \
return test_public_via_DER(KEYTYPEstr, key_##KEYTYPE, fips); \
static int test_public_##KEYTYPE##_via_PEM(void) \
return test_public_via_PEM(KEYTYPEstr, key_##KEYTYPE, fips); \
#define ADD_TEST_SUITE(KEYTYPE) \
ADD_TEST(test_unprotected_##KEYTYPE##_via_DER); \
ADD_TEST(test_unprotected_##KEYTYPE##_via_PEM); \
ADD_TEST(test_protected_##KEYTYPE##_via_DER); \
ADD_TEST(test_protected_##KEYTYPE##_via_PEM); \
ADD_TEST(test_public_##KEYTYPE##_via_DER); \
ADD_TEST(test_public_##KEYTYPE##_via_PEM)
#define IMPLEMENT_TEST_SUITE_PARAMS(KEYTYPE, KEYTYPEstr) \
static int test_params_##KEYTYPE##_via_DER(void) \
return test_params_via_DER(KEYTYPEstr, key_##KEYTYPE); \
static int test_params_##KEYTYPE##_via_PEM(void) \
return test_params_via_PEM(KEYTYPEstr, key_##KEYTYPE); \
#define ADD_TEST_SUITE_PARAMS(KEYTYPE) \
ADD_TEST(test_params_##KEYTYPE##_via_DER); \
ADD_TEST(test_params_##KEYTYPE##_via_PEM)
#define IMPLEMENT_TEST_SUITE_LEGACY(KEYTYPE, KEYTYPEstr) \
static int test_unprotected_##KEYTYPE##_via_legacy_PEM(void) \
return test_unprotected_via_legacy_PEM(KEYTYPEstr, key_##KEYTYPE); \
static int test_protected_##KEYTYPE##_via_legacy_PEM(void) \
return test_protected_via_legacy_PEM(KEYTYPEstr, key_##KEYTYPE); \
#define ADD_TEST_SUITE_LEGACY(KEYTYPE) \
ADD_TEST(test_unprotected_##KEYTYPE##_via_legacy_PEM); \
ADD_TEST(test_protected_##KEYTYPE##_via_legacy_PEM)
#define IMPLEMENT_TEST_SUITE_MSBLOB(KEYTYPE, KEYTYPEstr) \
static int test_unprotected_##KEYTYPE##_via_MSBLOB(void) \
return test_unprotected_via_MSBLOB(KEYTYPEstr, key_##KEYTYPE); \
static int test_public_##KEYTYPE##_via_MSBLOB(void) \
return test_public_via_MSBLOB(KEYTYPEstr, key_##KEYTYPE); \
#define ADD_TEST_SUITE_MSBLOB(KEYTYPE) \
ADD_TEST(test_unprotected_##KEYTYPE##_via_MSBLOB); \
ADD_TEST(test_public_##KEYTYPE##_via_MSBLOB)
#define IMPLEMENT_TEST_SUITE_UNPROTECTED_PVK(KEYTYPE, KEYTYPEstr) \
static int test_unprotected_##KEYTYPE##_via_PVK(void) \
return test_unprotected_via_PVK(KEYTYPEstr, key_##KEYTYPE); \
#define ADD_TEST_SUITE_UNPROTECTED_PVK(KEYTYPE) \
ADD_TEST(test_unprotected_##KEYTYPE##_via_PVK)
#define IMPLEMENT_TEST_SUITE_PROTECTED_PVK(KEYTYPE, KEYTYPEstr) \
static int test_protected_##KEYTYPE##_via_PVK(void) \
return test_protected_via_PVK(KEYTYPEstr, key_##KEYTYPE); \
#define ADD_TEST_SUITE_PROTECTED_PVK(KEYTYPE) \
ADD_TEST(test_protected_##KEYTYPE##_via_PVK)