]> git.ipfire.org Git - thirdparty/openssl.git/blame - crypto/x509/x509_d2.c
Update copyright year
[thirdparty/openssl.git] / crypto / x509 / x509_d2.c
CommitLineData
b1322259 1/*
00c405b3 2 * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
d02b48c6 3 *
3e4b43b9 4 * Licensed under the Apache License 2.0 (the "License"). You may not use
b1322259
RS
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
d02b48c6
RE
8 */
9
10#include <stdio.h>
b39fc560 11#include "internal/cryptlib.h"
ec577822
BM
12#include <openssl/crypto.h>
13#include <openssl/x509.h>
d02b48c6 14
6b691a5c 15int X509_STORE_set_default_paths(X509_STORE *ctx)
0f113f3e
MC
16{
17 X509_LOOKUP *lookup;
18
19 lookup = X509_STORE_add_lookup(ctx, X509_LOOKUP_file());
20 if (lookup == NULL)
26a7d938 21 return 0;
0f113f3e 22 X509_LOOKUP_load_file(lookup, NULL, X509_FILETYPE_DEFAULT);
d02b48c6 23
0f113f3e
MC
24 lookup = X509_STORE_add_lookup(ctx, X509_LOOKUP_hash_dir());
25 if (lookup == NULL)
26a7d938 26 return 0;
0f113f3e 27 X509_LOOKUP_add_dir(lookup, NULL, X509_FILETYPE_DEFAULT);
d02b48c6 28
6dcb100f
RL
29 lookup = X509_STORE_add_lookup(ctx, X509_LOOKUP_store());
30 if (lookup == NULL)
31 return 0;
32 X509_LOOKUP_add_store(lookup, NULL);
33
0f113f3e
MC
34 /* clear any errors */
35 ERR_clear_error();
d02b48c6 36
208fb891 37 return 1;
0f113f3e 38}
d02b48c6 39
6dcb100f
RL
40int X509_STORE_load_file(X509_STORE *ctx, const char *file)
41{
42 X509_LOOKUP *lookup;
43
44 if (file == NULL
45 || (lookup = X509_STORE_add_lookup(ctx, X509_LOOKUP_file())) == NULL
46 || X509_LOOKUP_load_file(lookup, file, X509_FILETYPE_PEM) == 0)
47 return 0;
48
49 return 1;
50}
51
52int X509_STORE_load_path(X509_STORE *ctx, const char *path)
0f113f3e
MC
53{
54 X509_LOOKUP *lookup;
d02b48c6 55
6dcb100f
RL
56 if (path == NULL
57 || (lookup = X509_STORE_add_lookup(ctx, X509_LOOKUP_hash_dir())) == NULL
58 || X509_LOOKUP_add_dir(lookup, path, X509_FILETYPE_PEM) == 0)
59 return 0;
60
61 return 1;
62}
63
64int X509_STORE_load_store(X509_STORE *ctx, const char *uri)
65{
66 X509_LOOKUP *lookup;
67
68 if (uri == NULL
69 || (lookup = X509_STORE_add_lookup(ctx, X509_LOOKUP_store())) == NULL
70 || X509_LOOKUP_add_store(lookup, uri) == 0)
71 return 0;
72
73 return 1;
74}
75
6dcb100f
RL
76int X509_STORE_load_locations(X509_STORE *ctx, const char *file,
77 const char *path)
78{
79 if (file == NULL && path == NULL)
80 return 0;
81 if (file != NULL && !X509_STORE_load_file(ctx, file))
82 return 0;
83 if (path != NULL && !X509_STORE_load_path(ctx, path))
26a7d938 84 return 0;
208fb891 85 return 1;
0f113f3e 86}