2 * Testing tool for X.509v3 routines
3 * Copyright (c) 2006-2007, Jouni Malinen <j@w1.fi>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
9 * Alternatively, this software may be distributed under the terms of BSD
12 * See README and COPYING for more details.
19 #include "tls/x509v3.h"
21 extern int wpa_debug_level
;
24 int main(int argc
, char *argv
[])
28 struct x509_certificate
*certs
= NULL
, *last
= NULL
, *cert
;
33 if (argc
< 3 || strcmp(argv
[1], "-v") != 0) {
34 printf("usage: test_x509v3 -v <cert1.der> <cert2.der> ..\n");
38 for (i
= 2; i
< argc
; i
++) {
39 printf("Reading: %s\n", argv
[i
]);
40 buf
= os_readfile(argv
[i
], &len
);
42 printf("Failed to read '%s'\n", argv
[i
]);
46 cert
= x509_certificate_parse((u8
*) buf
, len
);
48 printf("Failed to parse X.509 certificate\n");
61 printf("\n\nValidating certificate chain\n");
62 if (x509_certificate_chain_validate(last
, certs
, &reason
) < 0) {
63 printf("\nCertificate chain validation failed: %d\n", reason
);
66 printf("\nCertificate chain is valid\n");