1/* $OpenBSD: x509v3.h,v 1.7 2024/03/02 10:40:05 tb Exp $ */
2/*
3 * Copyright (c) 2022 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_X509V3_H
19#define _LIBCRYPTO_X509V3_H
20
21#ifndef _MSC_VER
22#include_next <openssl/x509v3.h>
23#else
24#include "../include/openssl/x509v3.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(BASIC_CONSTRAINTS_new);
29LCRYPTO_USED(BASIC_CONSTRAINTS_free);
30LCRYPTO_USED(d2i_BASIC_CONSTRAINTS);
31LCRYPTO_USED(i2d_BASIC_CONSTRAINTS);
32LCRYPTO_USED(AUTHORITY_KEYID_new);
33LCRYPTO_USED(AUTHORITY_KEYID_free);
34LCRYPTO_USED(d2i_AUTHORITY_KEYID);
35LCRYPTO_USED(i2d_AUTHORITY_KEYID);
36LCRYPTO_USED(PKEY_USAGE_PERIOD_new);
37LCRYPTO_USED(PKEY_USAGE_PERIOD_free);
38LCRYPTO_USED(d2i_PKEY_USAGE_PERIOD);
39LCRYPTO_USED(i2d_PKEY_USAGE_PERIOD);
40LCRYPTO_USED(GENERAL_NAME_new);
41LCRYPTO_USED(GENERAL_NAME_free);
42LCRYPTO_USED(d2i_GENERAL_NAME);
43LCRYPTO_USED(i2d_GENERAL_NAME);
44LCRYPTO_USED(GENERAL_NAME_dup);
45LCRYPTO_USED(GENERAL_NAME_cmp);
46LCRYPTO_USED(v2i_ASN1_BIT_STRING);
47LCRYPTO_USED(i2v_ASN1_BIT_STRING);
48LCRYPTO_USED(i2v_GENERAL_NAME);
49LCRYPTO_USED(GENERAL_NAME_print);
50LCRYPTO_USED(GENERAL_NAMES_new);
51LCRYPTO_USED(GENERAL_NAMES_free);
52LCRYPTO_USED(d2i_GENERAL_NAMES);
53LCRYPTO_USED(i2d_GENERAL_NAMES);
54LCRYPTO_USED(i2v_GENERAL_NAMES);
55LCRYPTO_USED(v2i_GENERAL_NAMES);
56LCRYPTO_USED(OTHERNAME_new);
57LCRYPTO_USED(OTHERNAME_free);
58LCRYPTO_USED(d2i_OTHERNAME);
59LCRYPTO_USED(i2d_OTHERNAME);
60LCRYPTO_USED(EDIPARTYNAME_new);
61LCRYPTO_USED(EDIPARTYNAME_free);
62LCRYPTO_USED(d2i_EDIPARTYNAME);
63LCRYPTO_USED(i2d_EDIPARTYNAME);
64LCRYPTO_USED(OTHERNAME_cmp);
65LCRYPTO_USED(GENERAL_NAME_set0_value);
66LCRYPTO_USED(GENERAL_NAME_get0_value);
67LCRYPTO_USED(GENERAL_NAME_set0_othername);
68LCRYPTO_USED(GENERAL_NAME_get0_otherName);
69LCRYPTO_USED(i2s_ASN1_OCTET_STRING);
70LCRYPTO_USED(s2i_ASN1_OCTET_STRING);
71LCRYPTO_USED(EXTENDED_KEY_USAGE_new);
72LCRYPTO_USED(EXTENDED_KEY_USAGE_free);
73LCRYPTO_USED(d2i_EXTENDED_KEY_USAGE);
74LCRYPTO_USED(i2d_EXTENDED_KEY_USAGE);
75LCRYPTO_USED(i2a_ACCESS_DESCRIPTION);
76LCRYPTO_USED(CERTIFICATEPOLICIES_new);
77LCRYPTO_USED(CERTIFICATEPOLICIES_free);
78LCRYPTO_USED(d2i_CERTIFICATEPOLICIES);
79LCRYPTO_USED(i2d_CERTIFICATEPOLICIES);
80LCRYPTO_USED(POLICYINFO_new);
81LCRYPTO_USED(POLICYINFO_free);
82LCRYPTO_USED(d2i_POLICYINFO);
83LCRYPTO_USED(i2d_POLICYINFO);
84LCRYPTO_USED(POLICYQUALINFO_new);
85LCRYPTO_USED(POLICYQUALINFO_free);
86LCRYPTO_USED(d2i_POLICYQUALINFO);
87LCRYPTO_USED(i2d_POLICYQUALINFO);
88LCRYPTO_USED(USERNOTICE_new);
89LCRYPTO_USED(USERNOTICE_free);
90LCRYPTO_USED(d2i_USERNOTICE);
91LCRYPTO_USED(i2d_USERNOTICE);
92LCRYPTO_USED(NOTICEREF_new);
93LCRYPTO_USED(NOTICEREF_free);
94LCRYPTO_USED(d2i_NOTICEREF);
95LCRYPTO_USED(i2d_NOTICEREF);
96LCRYPTO_USED(CRL_DIST_POINTS_new);
97LCRYPTO_USED(CRL_DIST_POINTS_free);
98LCRYPTO_USED(d2i_CRL_DIST_POINTS);
99LCRYPTO_USED(i2d_CRL_DIST_POINTS);
100LCRYPTO_USED(DIST_POINT_new);
101LCRYPTO_USED(DIST_POINT_free);
102LCRYPTO_USED(d2i_DIST_POINT);
103LCRYPTO_USED(i2d_DIST_POINT);
104LCRYPTO_USED(DIST_POINT_NAME_new);
105LCRYPTO_USED(DIST_POINT_NAME_free);
106LCRYPTO_USED(d2i_DIST_POINT_NAME);
107LCRYPTO_USED(i2d_DIST_POINT_NAME);
108LCRYPTO_USED(ISSUING_DIST_POINT_new);
109LCRYPTO_USED(ISSUING_DIST_POINT_free);
110LCRYPTO_USED(d2i_ISSUING_DIST_POINT);
111LCRYPTO_USED(i2d_ISSUING_DIST_POINT);
112LCRYPTO_USED(DIST_POINT_set_dpname);
113LCRYPTO_USED(NAME_CONSTRAINTS_check);
114LCRYPTO_USED(ACCESS_DESCRIPTION_new);
115LCRYPTO_USED(ACCESS_DESCRIPTION_free);
116LCRYPTO_USED(d2i_ACCESS_DESCRIPTION);
117LCRYPTO_USED(i2d_ACCESS_DESCRIPTION);
118LCRYPTO_USED(AUTHORITY_INFO_ACCESS_new);
119LCRYPTO_USED(AUTHORITY_INFO_ACCESS_free);
120LCRYPTO_USED(d2i_AUTHORITY_INFO_ACCESS);
121LCRYPTO_USED(i2d_AUTHORITY_INFO_ACCESS);
122LCRYPTO_USED(POLICY_MAPPING_new);
123LCRYPTO_USED(POLICY_MAPPING_free);
124LCRYPTO_USED(GENERAL_SUBTREE_new);
125LCRYPTO_USED(GENERAL_SUBTREE_free);
126LCRYPTO_USED(NAME_CONSTRAINTS_new);
127LCRYPTO_USED(NAME_CONSTRAINTS_free);
128LCRYPTO_USED(POLICY_CONSTRAINTS_new);
129LCRYPTO_USED(POLICY_CONSTRAINTS_free);
130LCRYPTO_USED(a2i_GENERAL_NAME);
131LCRYPTO_USED(v2i_GENERAL_NAME);
132LCRYPTO_USED(v2i_GENERAL_NAME_ex);
133LCRYPTO_USED(X509V3_conf_free);
134LCRYPTO_USED(X509V3_EXT_nconf_nid);
135LCRYPTO_USED(X509V3_EXT_nconf);
136LCRYPTO_USED(X509V3_EXT_add_nconf_sk);
137LCRYPTO_USED(X509V3_EXT_add_nconf);
138LCRYPTO_USED(X509V3_EXT_REQ_add_nconf);
139LCRYPTO_USED(X509V3_EXT_CRL_add_nconf);
140LCRYPTO_USED(X509V3_EXT_conf_nid);
141LCRYPTO_USED(X509V3_EXT_conf);
142LCRYPTO_USED(X509V3_EXT_add_conf);
143LCRYPTO_USED(X509V3_EXT_REQ_add_conf);
144LCRYPTO_USED(X509V3_EXT_CRL_add_conf);
145LCRYPTO_USED(X509V3_add_value_bool_nf);
146LCRYPTO_USED(X509V3_get_value_bool);
147LCRYPTO_USED(X509V3_get_value_int);
148LCRYPTO_USED(X509V3_set_nconf);
149LCRYPTO_USED(X509V3_set_conf_lhash);
150LCRYPTO_USED(X509V3_get_string);
151LCRYPTO_USED(X509V3_get_section);
152LCRYPTO_USED(X509V3_string_free);
153LCRYPTO_USED(X509V3_section_free);
154LCRYPTO_USED(X509V3_set_ctx);
155LCRYPTO_USED(X509V3_add_value);
156LCRYPTO_USED(X509V3_add_value_uchar);
157LCRYPTO_USED(X509V3_add_value_bool);
158LCRYPTO_USED(X509V3_add_value_int);
159LCRYPTO_USED(i2s_ASN1_INTEGER);
160LCRYPTO_USED(s2i_ASN1_INTEGER);
161LCRYPTO_USED(i2s_ASN1_ENUMERATED);
162LCRYPTO_USED(i2s_ASN1_ENUMERATED_TABLE);
163LCRYPTO_USED(X509V3_EXT_get);
164LCRYPTO_USED(X509V3_EXT_get_nid);
165LCRYPTO_USED(X509V3_add_standard_extensions);
166LCRYPTO_USED(X509V3_parse_list);
167LCRYPTO_USED(X509V3_EXT_d2i);
168LCRYPTO_USED(X509V3_get_d2i);
169LCRYPTO_USED(X509V3_EXT_i2d);
170LCRYPTO_USED(X509V3_add1_i2d);
171LCRYPTO_USED(hex_to_string);
172LCRYPTO_USED(string_to_hex);
173LCRYPTO_USED(X509V3_EXT_val_prn);
174LCRYPTO_USED(X509V3_EXT_print);
175LCRYPTO_USED(X509V3_EXT_print_fp);
176LCRYPTO_USED(X509V3_extensions_print);
177LCRYPTO_USED(X509_check_ca);
178LCRYPTO_USED(X509_check_purpose);
179LCRYPTO_USED(X509_supported_extension);
180LCRYPTO_USED(X509_check_issued);
181LCRYPTO_USED(X509_check_akid);
182LCRYPTO_USED(X509_PURPOSE_get_count);
183LCRYPTO_USED(X509_PURPOSE_get0);
184LCRYPTO_USED(X509_PURPOSE_get_by_sname);
185LCRYPTO_USED(X509_PURPOSE_get0_name);
186LCRYPTO_USED(X509_PURPOSE_get0_sname);
187LCRYPTO_USED(X509_PURPOSE_get_id);
188LCRYPTO_USED(X509_get_extension_flags);
189LCRYPTO_USED(X509_get_key_usage);
190LCRYPTO_USED(X509_get_extended_key_usage);
191LCRYPTO_USED(X509_get1_email);
192LCRYPTO_USED(X509_REQ_get1_email);
193LCRYPTO_USED(X509_email_free);
194LCRYPTO_USED(X509_get1_ocsp);
195LCRYPTO_USED(X509_check_host);
196LCRYPTO_USED(X509_check_email);
197LCRYPTO_USED(X509_check_ip);
198LCRYPTO_USED(X509_check_ip_asc);
199LCRYPTO_USED(a2i_IPADDRESS);
200LCRYPTO_USED(a2i_IPADDRESS_NC);
201LCRYPTO_USED(a2i_ipadd);
202LCRYPTO_USED(X509V3_NAME_from_section);
203LCRYPTO_USED(ASRange_new);
204LCRYPTO_USED(ASRange_free);
205LCRYPTO_USED(d2i_ASRange);
206LCRYPTO_USED(i2d_ASRange);
207LCRYPTO_USED(ASIdOrRange_new);
208LCRYPTO_USED(ASIdOrRange_free);
209LCRYPTO_USED(d2i_ASIdOrRange);
210LCRYPTO_USED(i2d_ASIdOrRange);
211LCRYPTO_USED(ASIdentifierChoice_new);
212LCRYPTO_USED(ASIdentifierChoice_free);
213LCRYPTO_USED(d2i_ASIdentifierChoice);
214LCRYPTO_USED(i2d_ASIdentifierChoice);
215LCRYPTO_USED(ASIdentifiers_new);
216LCRYPTO_USED(ASIdentifiers_free);
217LCRYPTO_USED(d2i_ASIdentifiers);
218LCRYPTO_USED(i2d_ASIdentifiers);
219LCRYPTO_USED(IPAddressRange_new);
220LCRYPTO_USED(IPAddressRange_free);
221LCRYPTO_USED(d2i_IPAddressRange);
222LCRYPTO_USED(i2d_IPAddressRange);
223LCRYPTO_USED(IPAddressOrRange_new);
224LCRYPTO_USED(IPAddressOrRange_free);
225LCRYPTO_USED(d2i_IPAddressOrRange);
226LCRYPTO_USED(i2d_IPAddressOrRange);
227LCRYPTO_USED(IPAddressChoice_new);
228LCRYPTO_USED(IPAddressChoice_free);
229LCRYPTO_USED(d2i_IPAddressChoice);
230LCRYPTO_USED(i2d_IPAddressChoice);
231LCRYPTO_USED(IPAddressFamily_new);
232LCRYPTO_USED(IPAddressFamily_free);
233LCRYPTO_USED(d2i_IPAddressFamily);
234LCRYPTO_USED(i2d_IPAddressFamily);
235LCRYPTO_USED(X509v3_asid_add_inherit);
236LCRYPTO_USED(X509v3_asid_add_id_or_range);
237LCRYPTO_USED(X509v3_addr_add_inherit);
238LCRYPTO_USED(X509v3_addr_add_prefix);
239LCRYPTO_USED(X509v3_addr_add_range);
240LCRYPTO_USED(X509v3_addr_get_afi);
241LCRYPTO_USED(X509v3_addr_get_range);
242LCRYPTO_USED(X509v3_asid_is_canonical);
243LCRYPTO_USED(X509v3_addr_is_canonical);
244LCRYPTO_USED(X509v3_asid_canonize);
245LCRYPTO_USED(X509v3_addr_canonize);
246LCRYPTO_USED(X509v3_asid_inherits);
247LCRYPTO_USED(X509v3_addr_inherits);
248LCRYPTO_USED(X509v3_asid_subset);
249LCRYPTO_USED(X509v3_addr_subset);
250LCRYPTO_USED(X509v3_asid_validate_path);
251LCRYPTO_USED(X509v3_addr_validate_path);
252LCRYPTO_USED(X509v3_asid_validate_resource_set);
253LCRYPTO_USED(X509v3_addr_validate_resource_set);
254LCRYPTO_USED(ERR_load_X509V3_strings);
255
256#endif /* _LIBCRYPTO_X509V3_H */
257