1 /* $OpenBSD: x509v3.h,v 1.9 2024/07/08 17:01:54 beck 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 28 LCRYPTO_USED(BASIC_CONSTRAINTS_new); 29 LCRYPTO_USED(BASIC_CONSTRAINTS_free); 30 LCRYPTO_USED(d2i_BASIC_CONSTRAINTS); 31 LCRYPTO_USED(i2d_BASIC_CONSTRAINTS); 32 LCRYPTO_USED(AUTHORITY_KEYID_new); 33 LCRYPTO_USED(AUTHORITY_KEYID_free); 34 LCRYPTO_USED(d2i_AUTHORITY_KEYID); 35 LCRYPTO_USED(i2d_AUTHORITY_KEYID); 36 LCRYPTO_USED(PKEY_USAGE_PERIOD_new); 37 LCRYPTO_USED(PKEY_USAGE_PERIOD_free); 38 LCRYPTO_USED(d2i_PKEY_USAGE_PERIOD); 39 LCRYPTO_USED(i2d_PKEY_USAGE_PERIOD); 40 LCRYPTO_USED(GENERAL_NAME_new); 41 LCRYPTO_USED(GENERAL_NAME_free); 42 LCRYPTO_USED(d2i_GENERAL_NAME); 43 LCRYPTO_USED(i2d_GENERAL_NAME); 44 LCRYPTO_USED(GENERAL_NAME_dup); 45 LCRYPTO_USED(GENERAL_NAME_cmp); 46 LCRYPTO_USED(v2i_ASN1_BIT_STRING); 47 LCRYPTO_USED(i2v_ASN1_BIT_STRING); 48 LCRYPTO_USED(i2v_GENERAL_NAME); 49 LCRYPTO_USED(GENERAL_NAME_print); 50 LCRYPTO_USED(GENERAL_NAMES_new); 51 LCRYPTO_USED(GENERAL_NAMES_free); 52 LCRYPTO_USED(d2i_GENERAL_NAMES); 53 LCRYPTO_USED(i2d_GENERAL_NAMES); 54 LCRYPTO_USED(i2v_GENERAL_NAMES); 55 LCRYPTO_USED(v2i_GENERAL_NAMES); 56 LCRYPTO_USED(OTHERNAME_new); 57 LCRYPTO_USED(OTHERNAME_free); 58 LCRYPTO_USED(d2i_OTHERNAME); 59 LCRYPTO_USED(i2d_OTHERNAME); 60 LCRYPTO_USED(EDIPARTYNAME_new); 61 LCRYPTO_USED(EDIPARTYNAME_free); 62 LCRYPTO_USED(d2i_EDIPARTYNAME); 63 LCRYPTO_USED(i2d_EDIPARTYNAME); 64 LCRYPTO_USED(OTHERNAME_cmp); 65 LCRYPTO_USED(GENERAL_NAME_set0_value); 66 LCRYPTO_USED(GENERAL_NAME_get0_value); 67 LCRYPTO_USED(GENERAL_NAME_set0_othername); 68 LCRYPTO_USED(GENERAL_NAME_get0_otherName); 69 LCRYPTO_USED(i2s_ASN1_OCTET_STRING); 70 LCRYPTO_USED(s2i_ASN1_OCTET_STRING); 71 LCRYPTO_USED(EXTENDED_KEY_USAGE_new); 72 LCRYPTO_USED(EXTENDED_KEY_USAGE_free); 73 LCRYPTO_USED(d2i_EXTENDED_KEY_USAGE); 74 LCRYPTO_USED(i2d_EXTENDED_KEY_USAGE); 75 LCRYPTO_USED(i2a_ACCESS_DESCRIPTION); 76 LCRYPTO_USED(CERTIFICATEPOLICIES_new); 77 LCRYPTO_USED(CERTIFICATEPOLICIES_free); 78 LCRYPTO_USED(d2i_CERTIFICATEPOLICIES); 79 LCRYPTO_USED(i2d_CERTIFICATEPOLICIES); 80 LCRYPTO_USED(POLICYINFO_new); 81 LCRYPTO_USED(POLICYINFO_free); 82 LCRYPTO_USED(d2i_POLICYINFO); 83 LCRYPTO_USED(i2d_POLICYINFO); 84 LCRYPTO_USED(POLICYQUALINFO_new); 85 LCRYPTO_USED(POLICYQUALINFO_free); 86 LCRYPTO_USED(d2i_POLICYQUALINFO); 87 LCRYPTO_USED(i2d_POLICYQUALINFO); 88 LCRYPTO_USED(USERNOTICE_new); 89 LCRYPTO_USED(USERNOTICE_free); 90 LCRYPTO_USED(d2i_USERNOTICE); 91 LCRYPTO_USED(i2d_USERNOTICE); 92 LCRYPTO_USED(NOTICEREF_new); 93 LCRYPTO_USED(NOTICEREF_free); 94 LCRYPTO_USED(d2i_NOTICEREF); 95 LCRYPTO_USED(i2d_NOTICEREF); 96 LCRYPTO_USED(CRL_DIST_POINTS_new); 97 LCRYPTO_USED(CRL_DIST_POINTS_free); 98 LCRYPTO_USED(d2i_CRL_DIST_POINTS); 99 LCRYPTO_USED(i2d_CRL_DIST_POINTS); 100 LCRYPTO_USED(DIST_POINT_new); 101 LCRYPTO_USED(DIST_POINT_free); 102 LCRYPTO_USED(d2i_DIST_POINT); 103 LCRYPTO_USED(i2d_DIST_POINT); 104 LCRYPTO_USED(DIST_POINT_NAME_new); 105 LCRYPTO_USED(DIST_POINT_NAME_free); 106 LCRYPTO_USED(d2i_DIST_POINT_NAME); 107 LCRYPTO_USED(i2d_DIST_POINT_NAME); 108 LCRYPTO_USED(ISSUING_DIST_POINT_new); 109 LCRYPTO_USED(ISSUING_DIST_POINT_free); 110 LCRYPTO_USED(d2i_ISSUING_DIST_POINT); 111 LCRYPTO_USED(i2d_ISSUING_DIST_POINT); 112 LCRYPTO_USED(DIST_POINT_set_dpname); 113 LCRYPTO_USED(NAME_CONSTRAINTS_check); 114 LCRYPTO_USED(ACCESS_DESCRIPTION_new); 115 LCRYPTO_USED(ACCESS_DESCRIPTION_free); 116 LCRYPTO_USED(d2i_ACCESS_DESCRIPTION); 117 LCRYPTO_USED(i2d_ACCESS_DESCRIPTION); 118 LCRYPTO_USED(AUTHORITY_INFO_ACCESS_new); 119 LCRYPTO_USED(AUTHORITY_INFO_ACCESS_free); 120 LCRYPTO_USED(d2i_AUTHORITY_INFO_ACCESS); 121 LCRYPTO_USED(i2d_AUTHORITY_INFO_ACCESS); 122 LCRYPTO_USED(POLICY_MAPPING_new); 123 LCRYPTO_USED(POLICY_MAPPING_free); 124 LCRYPTO_USED(GENERAL_SUBTREE_new); 125 LCRYPTO_USED(GENERAL_SUBTREE_free); 126 LCRYPTO_USED(NAME_CONSTRAINTS_new); 127 LCRYPTO_USED(NAME_CONSTRAINTS_free); 128 LCRYPTO_USED(POLICY_CONSTRAINTS_new); 129 LCRYPTO_USED(POLICY_CONSTRAINTS_free); 130 LCRYPTO_USED(a2i_GENERAL_NAME); 131 LCRYPTO_USED(v2i_GENERAL_NAME); 132 LCRYPTO_USED(v2i_GENERAL_NAME_ex); 133 LCRYPTO_USED(X509V3_conf_free); 134 LCRYPTO_USED(X509V3_EXT_nconf_nid); 135 LCRYPTO_USED(X509V3_EXT_nconf); 136 LCRYPTO_USED(X509V3_EXT_add_nconf_sk); 137 LCRYPTO_USED(X509V3_EXT_add_nconf); 138 LCRYPTO_USED(X509V3_EXT_REQ_add_nconf); 139 LCRYPTO_USED(X509V3_EXT_CRL_add_nconf); 140 LCRYPTO_USED(X509V3_EXT_conf_nid); 141 LCRYPTO_USED(X509V3_EXT_conf); 142 LCRYPTO_USED(X509V3_EXT_add_conf); 143 LCRYPTO_USED(X509V3_EXT_REQ_add_conf); 144 LCRYPTO_USED(X509V3_EXT_CRL_add_conf); 145 LCRYPTO_USED(X509V3_add_value_bool_nf); 146 LCRYPTO_USED(X509V3_get_value_bool); 147 LCRYPTO_USED(X509V3_get_value_int); 148 LCRYPTO_USED(X509V3_set_nconf); 149 LCRYPTO_USED(X509V3_set_conf_lhash); 150 LCRYPTO_USED(X509V3_get_string); 151 LCRYPTO_USED(X509V3_get_section); 152 LCRYPTO_USED(X509V3_string_free); 153 LCRYPTO_USED(X509V3_section_free); 154 LCRYPTO_USED(X509V3_set_ctx); 155 LCRYPTO_USED(X509V3_add_value); 156 LCRYPTO_USED(X509V3_add_value_uchar); 157 LCRYPTO_USED(X509V3_add_value_bool); 158 LCRYPTO_USED(X509V3_add_value_int); 159 LCRYPTO_USED(i2s_ASN1_INTEGER); 160 LCRYPTO_USED(s2i_ASN1_INTEGER); 161 LCRYPTO_USED(i2s_ASN1_ENUMERATED); 162 LCRYPTO_USED(i2s_ASN1_ENUMERATED_TABLE); 163 LCRYPTO_USED(X509V3_EXT_get); 164 LCRYPTO_USED(X509V3_EXT_get_nid); 165 LCRYPTO_USED(X509V3_add_standard_extensions); 166 LCRYPTO_USED(X509V3_parse_list); 167 LCRYPTO_USED(X509V3_EXT_d2i); 168 LCRYPTO_USED(X509V3_get_d2i); 169 LCRYPTO_USED(X509V3_EXT_i2d); 170 LCRYPTO_USED(X509V3_add1_i2d); 171 LCRYPTO_USED(hex_to_string); 172 LCRYPTO_USED(string_to_hex); 173 LCRYPTO_USED(X509V3_EXT_val_prn); 174 LCRYPTO_USED(X509V3_EXT_print); 175 LCRYPTO_USED(X509V3_EXT_print_fp); 176 LCRYPTO_USED(X509V3_extensions_print); 177 LCRYPTO_USED(X509_check_ca); 178 LCRYPTO_USED(X509_check_purpose); 179 LCRYPTO_USED(X509_supported_extension); 180 LCRYPTO_USED(X509_check_issued); 181 LCRYPTO_USED(X509_check_akid); 182 LCRYPTO_USED(X509_PURPOSE_get_count); 183 LCRYPTO_USED(X509_PURPOSE_get0); 184 LCRYPTO_USED(X509_PURPOSE_get_by_sname); 185 LCRYPTO_USED(X509_PURPOSE_get0_name); 186 LCRYPTO_USED(X509_PURPOSE_get0_sname); 187 LCRYPTO_USED(X509_PURPOSE_get_id); 188 LCRYPTO_USED(X509_get_extension_flags); 189 LCRYPTO_USED(X509_get_key_usage); 190 LCRYPTO_USED(X509_get_extended_key_usage); 191 LCRYPTO_USED(X509_get1_email); 192 LCRYPTO_USED(X509_REQ_get1_email); 193 LCRYPTO_USED(X509_email_free); 194 LCRYPTO_USED(X509_get1_ocsp); 195 LCRYPTO_USED(X509_check_host); 196 LCRYPTO_USED(X509_check_email); 197 LCRYPTO_USED(X509_check_ip); 198 LCRYPTO_USED(X509_check_ip_asc); 199 LCRYPTO_USED(a2i_IPADDRESS); 200 LCRYPTO_USED(a2i_IPADDRESS_NC); 201 LCRYPTO_USED(a2i_ipadd); 202 LCRYPTO_USED(X509V3_NAME_from_section); 203 LCRYPTO_USED(ASRange_new); 204 LCRYPTO_USED(ASRange_free); 205 LCRYPTO_USED(d2i_ASRange); 206 LCRYPTO_USED(i2d_ASRange); 207 LCRYPTO_USED(ASIdOrRange_new); 208 LCRYPTO_USED(ASIdOrRange_free); 209 LCRYPTO_USED(d2i_ASIdOrRange); 210 LCRYPTO_USED(i2d_ASIdOrRange); 211 LCRYPTO_USED(ASIdentifierChoice_new); 212 LCRYPTO_USED(ASIdentifierChoice_free); 213 LCRYPTO_USED(d2i_ASIdentifierChoice); 214 LCRYPTO_USED(i2d_ASIdentifierChoice); 215 LCRYPTO_USED(ASIdentifiers_new); 216 LCRYPTO_USED(ASIdentifiers_free); 217 LCRYPTO_USED(d2i_ASIdentifiers); 218 LCRYPTO_USED(i2d_ASIdentifiers); 219 LCRYPTO_USED(IPAddressRange_new); 220 LCRYPTO_USED(IPAddressRange_free); 221 LCRYPTO_USED(d2i_IPAddressRange); 222 LCRYPTO_USED(i2d_IPAddressRange); 223 LCRYPTO_USED(IPAddressOrRange_new); 224 LCRYPTO_USED(IPAddressOrRange_free); 225 LCRYPTO_USED(d2i_IPAddressOrRange); 226 LCRYPTO_USED(i2d_IPAddressOrRange); 227 LCRYPTO_USED(IPAddressChoice_new); 228 LCRYPTO_USED(IPAddressChoice_free); 229 LCRYPTO_USED(d2i_IPAddressChoice); 230 LCRYPTO_USED(i2d_IPAddressChoice); 231 LCRYPTO_USED(IPAddressFamily_new); 232 LCRYPTO_USED(IPAddressFamily_free); 233 LCRYPTO_USED(d2i_IPAddressFamily); 234 LCRYPTO_USED(i2d_IPAddressFamily); 235 LCRYPTO_USED(X509v3_asid_add_inherit); 236 LCRYPTO_USED(X509v3_asid_add_id_or_range); 237 LCRYPTO_USED(X509v3_addr_add_inherit); 238 LCRYPTO_USED(X509v3_addr_add_prefix); 239 LCRYPTO_USED(X509v3_addr_add_range); 240 LCRYPTO_USED(X509v3_addr_get_afi); 241 LCRYPTO_USED(X509v3_addr_get_range); 242 LCRYPTO_USED(X509v3_asid_is_canonical); 243 LCRYPTO_USED(X509v3_addr_is_canonical); 244 LCRYPTO_USED(X509v3_asid_canonize); 245 LCRYPTO_USED(X509v3_addr_canonize); 246 LCRYPTO_USED(X509v3_asid_inherits); 247 LCRYPTO_USED(X509v3_addr_inherits); 248 LCRYPTO_USED(X509v3_asid_subset); 249 LCRYPTO_USED(X509v3_addr_subset); 250 LCRYPTO_USED(X509v3_asid_validate_path); 251 LCRYPTO_USED(X509v3_addr_validate_path); 252 LCRYPTO_USED(X509v3_asid_validate_resource_set); 253 LCRYPTO_USED(X509v3_addr_validate_resource_set); 254 LCRYPTO_USED(ERR_load_X509V3_strings); 255 #if defined(LIBRESSL_NAMESPACE) 256 extern LCRYPTO_USED(BASIC_CONSTRAINTS_it); 257 extern LCRYPTO_USED(AUTHORITY_KEYID_it); 258 extern LCRYPTO_USED(PKEY_USAGE_PERIOD_it); 259 extern LCRYPTO_USED(GENERAL_NAME_it); 260 extern LCRYPTO_USED(GENERAL_NAMES_it); 261 extern LCRYPTO_USED(OTHERNAME_it); 262 extern LCRYPTO_USED(EDIPARTYNAME_it); 263 extern LCRYPTO_USED(EXTENDED_KEY_USAGE_it); 264 extern LCRYPTO_USED(CERTIFICATEPOLICIES_it); 265 extern LCRYPTO_USED(POLICYINFO_it); 266 extern LCRYPTO_USED(POLICYQUALINFO_it); 267 extern LCRYPTO_USED(USERNOTICE_it); 268 extern LCRYPTO_USED(NOTICEREF_it); 269 extern LCRYPTO_USED(CRL_DIST_POINTS_it); 270 extern LCRYPTO_USED(DIST_POINT_it); 271 extern LCRYPTO_USED(DIST_POINT_NAME_it); 272 extern LCRYPTO_USED(DIST_POINT_it); 273 extern LCRYPTO_USED(ISSUING_DIST_POINT_it); 274 extern LCRYPTO_USED(ACCESS_DESCRIPTION_it); 275 extern LCRYPTO_USED(AUTHORITY_INFO_ACCESS_it); 276 extern LCRYPTO_USED(POLICY_MAPPING_it); 277 extern LCRYPTO_USED(POLICY_MAPPINGS_it); 278 extern LCRYPTO_USED(GENERAL_SUBTREE_it); 279 extern LCRYPTO_USED(NAME_CONSTRAINTS_it); 280 extern LCRYPTO_USED(POLICY_CONSTRAINTS_it); 281 extern LCRYPTO_USED(ASRange_it); 282 extern LCRYPTO_USED(ASIdOrRange_it); 283 extern LCRYPTO_USED(ASIdentifierChoice_it); 284 extern LCRYPTO_USED(ASIdentifiers_it); 285 extern LCRYPTO_USED(IPAddressRange_it); 286 extern LCRYPTO_USED(IPAddressOrRange_it); 287 extern LCRYPTO_USED(IPAddressChoice_it); 288 extern LCRYPTO_USED(IPAddressFamily_it); 289 #endif 290 291 #endif /* _LIBCRYPTO_X509V3_H */ 292