summaryrefslogtreecommitdiff
path: root/tests/set_x509_key_mem.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-05-10 11:23:02 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2016-05-10 11:32:59 +0200
commite5a6b244859aa0f876e8a7be8b173999819ad8fe (patch)
tree8c00734fd40a57e1172805b2eddf59fe52184c26 /tests/set_x509_key_mem.c
parent39e3da0521211badc3080672e90b7a12d76cef35 (diff)
downloadgnutls-e5a6b244859aa0f876e8a7be8b173999819ad8fe.tar.gz
tests: enhanced set_x509*_key to verify that connections succeed with creds
That is the tests no only verify that credentials are set as expected but also whether sessions are established with the credentials provided.
Diffstat (limited to 'tests/set_x509_key_mem.c')
-rw-r--r--tests/set_x509_key_mem.c57
1 files changed, 16 insertions, 41 deletions
diff --git a/tests/set_x509_key_mem.c b/tests/set_x509_key_mem.c
index 672ac0f325..32df0a4ef8 100644
--- a/tests/set_x509_key_mem.c
+++ b/tests/set_x509_key_mem.c
@@ -41,6 +41,7 @@
#include <gnutls/x509.h>
#include "utils.h"
+#include "cert-common.h"
/* Test for memory allocations in a non-matching key-cert pair loading.
*
@@ -51,43 +52,6 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
-const gnutls_datum_t cert = { cert_pem, sizeof(cert_pem) - 1};
-
-static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t key = { key_pem,
- sizeof(key_pem) - 1
-};
-
void doit(void)
{
gnutls_certificate_credentials_t x509_cred;
@@ -103,8 +67,8 @@ void doit(void)
gnutls_certificate_allocate_credentials(&x509_cred);
- ret = gnutls_certificate_set_x509_key_mem(x509_cred, &cert,
- &key,
+ ret = gnutls_certificate_set_x509_key_mem(x509_cred, &cli_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM);
if (ret != GNUTLS_E_CERTIFICATE_KEY_MISMATCH) {
fail("error in error code\n");
@@ -117,14 +81,25 @@ void doit(void)
gnutls_certificate_allocate_credentials(&x509_cred);
gnutls_certificate_set_flags(x509_cred, GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH);
- ret = gnutls_certificate_set_x509_key_mem(x509_cred, &cert,
- &key,
+ ret = gnutls_certificate_set_x509_key_mem(x509_cred, &server_ca3_localhost6_cert,
+ &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
+ if (ret < 0) {
+ fail("error in error code\n");
+ exit(1);
+ }
+
+ ret = gnutls_certificate_set_x509_key_mem(x509_cred, &server_ca3_localhost_cert,
+ &server_ca3_key,
GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
}
+ test_cli_serv(x509_cred, "NORMAL", &ca3_cert, "localhost");
+ test_cli_serv(x509_cred, "NORMAL", &ca3_cert, "localhost6");
+
gnutls_certificate_free_credentials(x509_cred);
gnutls_global_deinit();