Disallow Ed448 signature malleability
[openssl.git] / test / v3ext.c
1 /*
2  * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the OpenSSL license (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10 #include <stdio.h>
11 #include <openssl/x509.h>
12 #include <openssl/x509v3.h>
13 #include <openssl/pem.h>
14 #include <openssl/err.h>
15
16 #include "testutil.h"
17
18 static const char *infile;
19
20 static int test_pathlen(void)
21 {
22     X509 *x = NULL;
23     BIO *b = NULL;
24     long pathlen;
25     int ret = 0;
26
27     if (!TEST_ptr(b = BIO_new_file(infile, "r"))
28             || !TEST_ptr(x = PEM_read_bio_X509(b, NULL, NULL, NULL))
29             || !TEST_int_eq(pathlen = X509_get_pathlen(x), 6))
30         goto end;
31
32     ret = 1;
33
34 end:
35     BIO_free(b);
36     X509_free(x);
37     return ret;
38 }
39
40 int setup_tests(void)
41 {
42     if (!TEST_ptr(infile = test_get_argument(0)))
43         return 0;
44
45     ADD_TEST(test_pathlen);
46     return 1;
47 }