pkcs7-interesting/pkcs7-1.der.err pkcs7-interesting/pkcs7-2.der pkcs7-interesting/pkcs7-2.der.err \
client-interesting/client1.raw client-interesting/client2.raw client-interesting/client3.disabled \
server-interesting/server1.raw scripts/common.sh scripts/starttls-common.sh \
- client-interesting/client3.raw rng-op.c x509sign-verify-common.h \
+ client-interesting/client3.raw rng-op.c x509sign-verify-common.h common-key-tests.h \
ocsp-tests/certs/ca.key ocsp-tests/certs/ca.pem ocsp-tests/certs/ocsp-server.key ocsp-tests/certs/ocsp-server.pem ocsp-tests/response1.der \
ocsp-tests/response2.der ocsp-tests/certs/ocsp_index.txt ocsp-tests/certs/ocsp_index.txt.attr \
ocsp-tests/certs/server_good.key ocsp-tests/certs/server_bad.key ocsp-tests/certs/server_good.template \
#include <gnutls/gnutls.h>
-
/* This file contains a lot of common parameters used by legacy and new
* tests. The recommended to use for new tests are:
*
--- /dev/null
+/*
+ * Copyright (C) 2017 Red Hat Inc.
+ *
+ * Author: Nikos Mavrogiannopoulos
+ *
+ * This file is part of GnuTLS.
+ *
+ * GnuTLS is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuTLS is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GnuTLS; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "cert-common.h"
+
+#include <gnutls/abstract.h>
+
+struct _key_tests_st {
+ const char *name;
+ gnutls_datum_t key;
+ gnutls_datum_t cert;
+ gnutls_pk_algorithm_t pk;
+ unsigned digest;
+ unsigned sigalgo;
+ unsigned sign_flags;
+};
+
+static const
+struct _key_tests_st common_key_tests[] = {
+ {
+ .name = "rsa key",
+ .cert = {(void *) cli_ca3_cert_pem, sizeof(cli_ca3_cert_pem)-1},
+ .key = {(void *) cli_ca3_key_pem, sizeof(cli_ca3_key_pem)-1},
+ .pk = GNUTLS_PK_RSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_RSA_SHA256
+ },
+ {
+ .name = "dsa key",
+ .key = {(void *) clidsa_ca3_key_pem, sizeof(clidsa_ca3_key_pem)-1},
+ .cert = {(void *) clidsa_ca3_cert_pem, sizeof(clidsa_ca3_cert_pem)-1},
+ .pk = GNUTLS_PK_DSA,
+ .digest = GNUTLS_DIG_SHA1,
+ .sigalgo = GNUTLS_SIGN_DSA_SHA1
+ },
+ {
+ .name = "ecdsa key",
+ .key = {(void *) server_ca3_ecc_key_pem, sizeof(server_ca3_ecc_key_pem)-1},
+ .cert = {(void *) server_localhost_ca3_ecc_cert_pem, sizeof(server_localhost_ca3_ecc_cert_pem)-1},
+ .pk = GNUTLS_PK_ECDSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_ECDSA_SHA256
+ },
+ {
+ .name = "rsa pss key",
+ .key = {(void *) server_ca3_rsa_pss_key_pem, sizeof(server_ca3_rsa_pss_key_pem)-1},
+ .cert = {(void *) server_ca3_rsa_pss_cert_pem, sizeof(server_ca3_rsa_pss_cert_pem)-1},
+ .pk = GNUTLS_PK_RSA_PSS,
+ .digest = GNUTLS_DIG_SHA256,
+ .sign_flags = GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS,
+ .sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256
+ }
+};
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#include <gnutls/abstract.h>
-#include "cert-common.h"
+#include "common-key-tests.h"
#include "utils.h"
/* verifies whether the sign-data and verify-data APIs
20
};
-struct tests_st {
- const char *name;
- gnutls_datum_t key;
- gnutls_datum_t cert;
- gnutls_pk_algorithm_t pk;
- unsigned digest;
- unsigned sigalgo;
- unsigned sign_flags;
-};
-
-struct tests_st tests[] = {
- {
- .name = "rsa key",
- .cert = {(void *) cli_ca3_cert_pem, sizeof(cli_ca3_cert_pem)-1},
- .key = {(void *) cli_ca3_key_pem, sizeof(cli_ca3_key_pem)-1},
- .pk = GNUTLS_PK_RSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_RSA_SHA256
- },
- {
- .name = "ecdsa key",
- .key = {(void *) server_ca3_ecc_key_pem, sizeof(server_ca3_ecc_key_pem)-1},
- .cert = {(void *) server_localhost_ca3_ecc_cert_pem, sizeof(server_localhost_ca3_ecc_cert_pem)-1},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA256
- },
- {
- .name = "rsa pss key",
- .key = {(void *) server_ca3_rsa_pss_key_pem, sizeof(server_ca3_rsa_pss_key_pem)-1},
- .cert = {(void *) server_ca3_rsa_pss_cert_pem, sizeof(server_ca3_rsa_pss_cert_pem)-1},
- .pk = GNUTLS_PK_RSA_PSS,
- .digest = GNUTLS_DIG_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS,
- .sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256
- }
-};
-
+#define tests common_key_tests
#define testfail(fmt, ...) \
fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
if (debug)
success("loop %d\n", (int) i);
+ if (tests[i].pk == GNUTLS_PK_DSA)
+ continue;
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0)
testfail("gnutls_privkey_init\n");
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#include <gnutls/abstract.h>
-#include "cert-common.h"
+#include "common-key-tests.h"
#include "utils.h"
static void tls_log_func(int level, const char *str)
5
};
-struct tests_st {
- const char *name;
- gnutls_datum_t key;
- gnutls_datum_t cert;
- gnutls_pk_algorithm_t pk;
- unsigned digest;
- unsigned sigalgo;
- unsigned sign_flags;
-};
-
-struct tests_st tests[] = {
- {
- .name = "rsa key",
- .cert = {(void *) cli_ca3_cert_pem, sizeof(cli_ca3_cert_pem)-1},
- .key = {(void *) cli_ca3_key_pem, sizeof(cli_ca3_key_pem)-1},
- .pk = GNUTLS_PK_RSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_RSA_SHA256
- },
- {
- .name = "dsa key",
- .key = {(void *) clidsa_ca3_key_pem, sizeof(clidsa_ca3_key_pem)-1},
- .cert = {(void *) clidsa_ca3_cert_pem, sizeof(clidsa_ca3_cert_pem)-1},
- .pk = GNUTLS_PK_DSA,
- .digest = GNUTLS_DIG_SHA1,
- .sigalgo = GNUTLS_SIGN_DSA_SHA1
- },
- {
- .name = "ecdsa key",
- .key = {(void *) server_ca3_ecc_key_pem, sizeof(server_ca3_ecc_key_pem)-1},
- .cert = {(void *) server_localhost_ca3_ecc_cert_pem, sizeof(server_localhost_ca3_ecc_cert_pem)-1},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA256
- },
-#if 0
- {
- .name = "rsa pss key",
- .key = {(void *) server_ca3_rsa_pss_key_pem, sizeof(server_ca3_rsa_pss_key_pem)-1},
- .cert = {(void *) server_ca3_rsa_pss_cert_pem, sizeof(server_ca3_rsa_pss_cert_pem)-1},
- .pk = GNUTLS_PK_RSA_PSS,
- .digest = GNUTLS_DIG_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS,
- .sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256
- }
-#endif
-};
struct key_cb_data {
gnutls_privkey_t rkey; /* the real thing */
return privkey;
}
+#define tests common_key_tests
#define testfail(fmt, ...) \
fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
if (debug)
success("loop %d: %s\n", (int) i, tests[i].name);
+ if (tests[i].pk == GNUTLS_PK_RSA_PSS)
+ continue;
+
if (tests[i].digest == GNUTLS_DIG_SHA1) {
hash_data = &sha1_hash_data;
} else {
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#include <gnutls/abstract.h>
-#include "cert-common.h"
+#include "common-key-tests.h"
#include "utils.h"
static void tls_log_func(int level, const char *str)
5
};
-struct tests_st {
- const char *name;
- gnutls_datum_t key;
- gnutls_datum_t cert;
- gnutls_pk_algorithm_t pk;
- unsigned digest;
- unsigned sigalgo;
- unsigned sign_flags;
-};
-
-struct tests_st tests[] = {
- {
- .name = "rsa key",
- .cert = {(void *) cli_ca3_cert_pem, sizeof(cli_ca3_cert_pem)-1},
- .key = {(void *) cli_ca3_key_pem, sizeof(cli_ca3_key_pem)-1},
- .pk = GNUTLS_PK_RSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_RSA_SHA256
- },
- {
- .name = "dsa key",
- .key = {(void *) clidsa_ca3_key_pem, sizeof(clidsa_ca3_key_pem)-1},
- .cert = {(void *) clidsa_ca3_cert_pem, sizeof(clidsa_ca3_cert_pem)-1},
- .pk = GNUTLS_PK_DSA,
- .digest = GNUTLS_DIG_SHA1,
- .sigalgo = GNUTLS_SIGN_DSA_SHA1
- },
- {
- .name = "ecdsa key",
- .key = {(void *) server_ca3_ecc_key_pem, sizeof(server_ca3_ecc_key_pem)-1},
- .cert = {(void *) server_localhost_ca3_ecc_cert_pem, sizeof(server_localhost_ca3_ecc_cert_pem)-1},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA256
- },
- {
- .name = "rsa pss key",
- .key = {(void *) server_ca3_rsa_pss_key_pem, sizeof(server_ca3_rsa_pss_key_pem)-1},
- .cert = {(void *) server_ca3_rsa_pss_cert_pem, sizeof(server_ca3_rsa_pss_cert_pem)-1},
- .pk = GNUTLS_PK_RSA_PSS,
- .digest = GNUTLS_DIG_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS,
- .sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256
- }
-};
-
+#define tests common_key_tests
#define testfail(fmt, ...) \
fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#include <gnutls/abstract.h>
-#include "cert-common.h"
+#include "common-key-tests.h"
#include "utils.h"
/* verifies whether the sign-data and verify-data APIs
20
};
-struct tests_st {
- const char *name;
- gnutls_datum_t key;
- gnutls_datum_t cert;
- gnutls_pk_algorithm_t pk;
- unsigned digest;
- unsigned sigalgo;
- unsigned sign_flags;
-};
-
-struct tests_st tests[] = {
- {
- .name = "rsa key",
- .cert = {(void *) cli_ca3_cert_pem, sizeof(cli_ca3_cert_pem)-1},
- .key = {(void *) cli_ca3_key_pem, sizeof(cli_ca3_key_pem)-1},
- .pk = GNUTLS_PK_RSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_RSA_SHA256
- },
- {
- .name = "ecdsa key",
- .key = {(void *) server_ca3_ecc_key_pem, sizeof(server_ca3_ecc_key_pem)-1},
- .cert = {(void *) server_localhost_ca3_ecc_cert_pem, sizeof(server_localhost_ca3_ecc_cert_pem)-1},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA256
- },
- {
- .name = "rsa pss key",
- .key = {(void *) server_ca3_rsa_pss_key_pem, sizeof(server_ca3_rsa_pss_key_pem)-1},
- .cert = {(void *) server_ca3_rsa_pss_cert_pem, sizeof(server_ca3_rsa_pss_cert_pem)-1},
- .pk = GNUTLS_PK_RSA_PSS,
- .digest = GNUTLS_DIG_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS,
- .sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256
- }
-};
-
+#define tests common_key_tests
#define testfail(fmt, ...) \
fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
gnutls_global_set_log_level(6);
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
+ if (tests[i].pk == GNUTLS_PK_DSA)
+ continue;
+
if (debug)
success("loop %d\n", (int) i);