1 /* 2 * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the OpenSSL license (the "License"). You may not use 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 8 */ 9 10 // This file contains a table of "standard" extensions 11 12 #if defined(__cplusplus) 13 extern "C" { 14 #endif 15 16 extern const X509V3_EXT_METHOD v3_bcons, v3_nscert, v3_key_usage, v3_ext_ku; 17 extern const X509V3_EXT_METHOD v3_info, v3_sinfo; 18 extern const X509V3_EXT_METHOD v3_ns_ia5_list[], v3_alt[], v3_skey_id, 19 v3_akey_id; 20 extern const X509V3_EXT_METHOD v3_crl_num, v3_crl_reason, v3_crl_invdate; 21 extern const X509V3_EXT_METHOD v3_delta_crl, v3_cpols, v3_crld, v3_freshest_crl; 22 extern const X509V3_EXT_METHOD v3_ocsp_nonce, v3_ocsp_accresp, v3_ocsp_acutoff; 23 extern const X509V3_EXT_METHOD v3_ocsp_crlid, v3_ocsp_nocheck, 24 v3_ocsp_serviceloc; 25 extern const X509V3_EXT_METHOD v3_crl_hold; 26 extern const X509V3_EXT_METHOD v3_policy_mappings, v3_policy_constraints; 27 extern const X509V3_EXT_METHOD v3_name_constraints, v3_inhibit_anyp, v3_idp; 28 extern const X509V3_EXT_METHOD v3_addr, v3_asid; 29 30 // This table will be searched using OBJ_bsearch so it *must* kept in order 31 // of the ext_nid values. 32 33 // TODO(fork): OCSP support 34 #define OPENSSL_NO_OCSP 35 36 static const X509V3_EXT_METHOD *const standard_exts[] = { 37 &v3_nscert, 38 &v3_ns_ia5_list[0], 39 &v3_ns_ia5_list[1], 40 &v3_ns_ia5_list[2], 41 &v3_ns_ia5_list[3], 42 &v3_ns_ia5_list[4], 43 &v3_ns_ia5_list[5], 44 &v3_ns_ia5_list[6], 45 &v3_skey_id, 46 &v3_key_usage, 47 &v3_alt[0], 48 &v3_alt[1], 49 &v3_bcons, 50 &v3_crl_num, 51 &v3_cpols, 52 &v3_akey_id, 53 &v3_crld, 54 &v3_ext_ku, 55 &v3_delta_crl, 56 &v3_crl_reason, 57 &v3_crl_invdate, 58 &v3_info, 59 #ifndef OPENSSL_NO_OCSP 60 &v3_ocsp_nonce, 61 &v3_ocsp_crlid, 62 &v3_ocsp_accresp, 63 &v3_ocsp_acutoff, 64 &v3_ocsp_serviceloc, 65 #endif 66 &v3_ocsp_nocheck, 67 &v3_sinfo, 68 &v3_policy_constraints, 69 #ifndef OPENSSL_NO_OCSP 70 &v3_crl_hold, 71 #endif 72 &v3_name_constraints, 73 &v3_policy_mappings, 74 &v3_inhibit_anyp, 75 &v3_idp, 76 &v3_alt[2], 77 &v3_freshest_crl, 78 }; 79 80 // Number of standard extensions 81 82 #define STANDARD_EXTENSION_COUNT \ 83 (sizeof(standard_exts) / sizeof(X509V3_EXT_METHOD *)) 84 85 #if defined(__cplusplus) 86 } // extern C 87 #endif 88