diff options
author | tb <> | 2024-07-13 15:08:58 +0000 |
---|---|---|
committer | tb <> | 2024-07-13 15:08:58 +0000 |
commit | 3a6927c782869fec9a91b17f3757e56538e5d418 (patch) | |
tree | 9bceb8f53165bf9b9a2232987ecac3565db027df /src/lib/libcrypto/x509/x509_extku.c | |
parent | 57d2f282cacabe0c53399ec9c933b34696835dd2 (diff) | |
download | openbsd-3a6927c782869fec9a91b17f3757e56538e5d418.tar.gz openbsd-3a6927c782869fec9a91b17f3757e56538e5d418.tar.bz2 openbsd-3a6927c782869fec9a91b17f3757e56538e5d418.zip |
Unify X.509v3 extension methods
Use C99 initializers for all structs (some were forgotten).
Make all the structs static, call them x509v3_ext_* matching NID_*.
Add accessors called x509v3_ext_method_* and use these to implement
X509V3_EXT_get_nid().
This adds consistency and avoids a few contortions like grouping
a few extensions in arrays to save a couple externs.
ok beck jsing
Diffstat (limited to 'src/lib/libcrypto/x509/x509_extku.c')
-rw-r--r-- | src/lib/libcrypto/x509/x509_extku.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/libcrypto/x509/x509_extku.c b/src/lib/libcrypto/x509/x509_extku.c index f0f8d44aa6..6a69adabc6 100644 --- a/src/lib/libcrypto/x509/x509_extku.c +++ b/src/lib/libcrypto/x509/x509_extku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_extku.c,v 1.4 2024/07/08 14:47:44 beck Exp $ */ | 1 | /* $OpenBSD: x509_extku.c,v 1.5 2024/07/13 15:08:58 tb Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -68,7 +68,7 @@ static void *v2i_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, | |||
68 | static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE( | 68 | static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE( |
69 | const X509V3_EXT_METHOD *method, void *eku, STACK_OF(CONF_VALUE) *extlist); | 69 | const X509V3_EXT_METHOD *method, void *eku, STACK_OF(CONF_VALUE) *extlist); |
70 | 70 | ||
71 | const X509V3_EXT_METHOD v3_ext_ku = { | 71 | static const X509V3_EXT_METHOD x509v3_ext_ext_key_usage = { |
72 | .ext_nid = NID_ext_key_usage, | 72 | .ext_nid = NID_ext_key_usage, |
73 | .ext_flags = 0, | 73 | .ext_flags = 0, |
74 | .it = &EXTENDED_KEY_USAGE_it, | 74 | .it = &EXTENDED_KEY_USAGE_it, |
@@ -85,8 +85,14 @@ const X509V3_EXT_METHOD v3_ext_ku = { | |||
85 | .usr_data = NULL, | 85 | .usr_data = NULL, |
86 | }; | 86 | }; |
87 | 87 | ||
88 | const X509V3_EXT_METHOD * | ||
89 | x509v3_ext_method_ext_key_usage(void) | ||
90 | { | ||
91 | return &x509v3_ext_ext_key_usage; | ||
92 | } | ||
93 | |||
88 | /* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */ | 94 | /* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */ |
89 | const X509V3_EXT_METHOD v3_ocsp_accresp = { | 95 | static const X509V3_EXT_METHOD x509v3_ext_id_pkix_OCSP_acceptableResponses = { |
90 | .ext_nid = NID_id_pkix_OCSP_acceptableResponses, | 96 | .ext_nid = NID_id_pkix_OCSP_acceptableResponses, |
91 | .ext_flags = 0, | 97 | .ext_flags = 0, |
92 | .it = &EXTENDED_KEY_USAGE_it, | 98 | .it = &EXTENDED_KEY_USAGE_it, |
@@ -103,6 +109,12 @@ const X509V3_EXT_METHOD v3_ocsp_accresp = { | |||
103 | .usr_data = NULL, | 109 | .usr_data = NULL, |
104 | }; | 110 | }; |
105 | 111 | ||
112 | const X509V3_EXT_METHOD * | ||
113 | x509v3_ext_method_id_pkix_OCSP_acceptableResponses(void) | ||
114 | { | ||
115 | return &x509v3_ext_id_pkix_OCSP_acceptableResponses; | ||
116 | } | ||
117 | |||
106 | static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = { | 118 | static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = { |
107 | .flags = ASN1_TFLG_SEQUENCE_OF, | 119 | .flags = ASN1_TFLG_SEQUENCE_OF, |
108 | .tag = 0, | 120 | .tag = 0, |