1 /* 2 * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. 3 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 4 * 5 * Licensed under the Apache License 2.0 (the "License"). You may not use 6 * this file except in compliance with the License. You can obtain a copy 7 * in the file LICENSE in the source distribution or at 8 * https://www.openssl.org/source/license.html 9 */ 10 11 #include <stdio.h> 12 #include <openssl/err.h> 13 #include <openssl/x509_vfy.h> 14 15 #include "testutil.h" 16 test_509_dup_cert(int n)17static int test_509_dup_cert(int n) 18 { 19 int ret = 0; 20 X509_STORE *store = NULL; 21 X509_LOOKUP *lookup = NULL; 22 const char *cert_f = test_get_argument(n); 23 24 if (TEST_ptr(store = X509_STORE_new()) 25 && TEST_ptr(lookup = X509_STORE_add_lookup(store, X509_LOOKUP_file())) 26 && TEST_true(X509_load_cert_file(lookup, cert_f, X509_FILETYPE_PEM)) 27 && TEST_true(X509_load_cert_file(lookup, cert_f, X509_FILETYPE_PEM))) 28 ret = 1; 29 30 X509_STORE_free(store); 31 return ret; 32 } 33 34 OPT_TEST_DECLARE_USAGE("cert.pem...\n") 35 setup_tests(void)36int setup_tests(void) 37 { 38 size_t n; 39 40 if (!test_skip_common_options()) { 41 TEST_error("Error parsing test options\n"); 42 return 0; 43 } 44 45 n = test_get_argument_count(); 46 if (!TEST_int_gt(n, 0)) 47 return 0; 48 49 ADD_ALL_TESTS(test_509_dup_cert, n); 50 return 1; 51 } 52