summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/x509/x509v3.h174
1 files changed, 87 insertions, 87 deletions
diff --git a/src/lib/libcrypto/x509/x509v3.h b/src/lib/libcrypto/x509/x509v3.h
index 1aff27cd58..cfa8ad1a5a 100644
--- a/src/lib/libcrypto/x509/x509v3.h
+++ b/src/lib/libcrypto/x509/x509v3.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509v3.h,v 1.16 2022/11/07 19:42:24 schwarze Exp $ */ 1/* $OpenBSD: x509v3.h,v 1.17 2023/04/10 16:46:00 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 */
@@ -95,49 +95,49 @@ typedef void * (*X509V3_EXT_R2I)(const struct v3_ext_method *method,
95/* V3 extension structure */ 95/* V3 extension structure */
96 96
97struct v3_ext_method { 97struct v3_ext_method {
98int ext_nid; 98 int ext_nid;
99int ext_flags; 99 int ext_flags;
100/* If this is set the following four fields are ignored */ 100 /* If this is set the following four fields are ignored */
101ASN1_ITEM_EXP *it; 101 ASN1_ITEM_EXP *it;
102/* Old style ASN1 calls */ 102 /* Old style ASN1 calls */
103X509V3_EXT_NEW ext_new; 103 X509V3_EXT_NEW ext_new;
104X509V3_EXT_FREE ext_free; 104 X509V3_EXT_FREE ext_free;
105X509V3_EXT_D2I d2i; 105 X509V3_EXT_D2I d2i;
106X509V3_EXT_I2D i2d; 106 X509V3_EXT_I2D i2d;
107 107
108/* The following pair is used for string extensions */ 108 /* The following pair is used for string extensions */
109X509V3_EXT_I2S i2s; 109 X509V3_EXT_I2S i2s;
110X509V3_EXT_S2I s2i; 110 X509V3_EXT_S2I s2i;
111 111
112/* The following pair is used for multi-valued extensions */ 112 /* The following pair is used for multi-valued extensions */
113X509V3_EXT_I2V i2v; 113 X509V3_EXT_I2V i2v;
114X509V3_EXT_V2I v2i; 114 X509V3_EXT_V2I v2i;
115 115
116/* The following are used for raw extensions */ 116 /* The following are used for raw extensions */
117X509V3_EXT_I2R i2r; 117 X509V3_EXT_I2R i2r;
118X509V3_EXT_R2I r2i; 118 X509V3_EXT_R2I r2i;
119 119
120void *usr_data; /* Any extension specific data */ 120 void *usr_data; /* Any extension specific data */
121}; 121};
122 122
123typedef struct X509V3_CONF_METHOD_st { 123typedef struct X509V3_CONF_METHOD_st {
124char *(*get_string)(void *db, const char *section, const char *value); 124 char *(*get_string)(void *db, const char *section, const char *value);
125STACK_OF(CONF_VALUE) *(*get_section)(void *db, const char *section); 125 STACK_OF(CONF_VALUE) *(*get_section)(void *db, const char *section);
126void (*free_string)(void *db, char *string); 126 void (*free_string)(void *db, char *string);
127void (*free_section)(void *db, STACK_OF(CONF_VALUE) *section); 127 void (*free_section)(void *db, STACK_OF(CONF_VALUE) *section);
128} X509V3_CONF_METHOD; 128} X509V3_CONF_METHOD;
129 129
130/* Context specific info */ 130/* Context specific info */
131struct v3_ext_ctx { 131struct v3_ext_ctx {
132#define CTX_TEST 0x1 132 #define CTX_TEST 0x1
133int flags; 133 int flags;
134X509 *issuer_cert; 134 X509 *issuer_cert;
135X509 *subject_cert; 135 X509 *subject_cert;
136X509_REQ *subject_req; 136 X509_REQ *subject_req;
137X509_CRL *crl; 137 X509_CRL *crl;
138X509V3_CONF_METHOD *db_meth; 138 X509V3_CONF_METHOD *db_meth;
139void *db; 139 void *db;
140/* Maybe more here */ 140 /* Maybe more here */
141}; 141};
142 142
143typedef struct v3_ext_method X509V3_EXT_METHOD; 143typedef struct v3_ext_method X509V3_EXT_METHOD;
@@ -152,19 +152,19 @@ DECLARE_STACK_OF(X509V3_EXT_METHOD)
152typedef BIT_STRING_BITNAME ENUMERATED_NAMES; 152typedef BIT_STRING_BITNAME ENUMERATED_NAMES;
153 153
154typedef struct BASIC_CONSTRAINTS_st { 154typedef struct BASIC_CONSTRAINTS_st {
155int ca; 155 int ca;
156ASN1_INTEGER *pathlen; 156 ASN1_INTEGER *pathlen;
157} BASIC_CONSTRAINTS; 157} BASIC_CONSTRAINTS;
158 158
159 159
160typedef struct PKEY_USAGE_PERIOD_st { 160typedef struct PKEY_USAGE_PERIOD_st {
161ASN1_GENERALIZEDTIME *notBefore; 161 ASN1_GENERALIZEDTIME *notBefore;
162ASN1_GENERALIZEDTIME *notAfter; 162 ASN1_GENERALIZEDTIME *notAfter;
163} PKEY_USAGE_PERIOD; 163} PKEY_USAGE_PERIOD;
164 164
165typedef struct otherName_st { 165typedef struct otherName_st {
166ASN1_OBJECT *type_id; 166 ASN1_OBJECT *type_id;
167ASN1_TYPE *value; 167 ASN1_TYPE *value;
168} OTHERNAME; 168} OTHERNAME;
169 169
170typedef struct EDIPartyName_st { 170typedef struct EDIPartyName_st {
@@ -174,36 +174,36 @@ typedef struct EDIPartyName_st {
174 174
175typedef struct GENERAL_NAME_st { 175typedef struct GENERAL_NAME_st {
176 176
177#define GEN_OTHERNAME 0 177 #define GEN_OTHERNAME 0
178#define GEN_EMAIL 1 178 #define GEN_EMAIL 1
179#define GEN_DNS 2 179 #define GEN_DNS 2
180#define GEN_X400 3 180 #define GEN_X400 3
181#define GEN_DIRNAME 4 181 #define GEN_DIRNAME 4
182#define GEN_EDIPARTY 5 182 #define GEN_EDIPARTY 5
183#define GEN_URI 6 183 #define GEN_URI 6
184#define GEN_IPADD 7 184 #define GEN_IPADD 7
185#define GEN_RID 8 185 #define GEN_RID 8
186 186
187int type; 187 int type;
188union { 188 union {
189 char *ptr; 189 char *ptr;
190 OTHERNAME *otherName; /* otherName */ 190 OTHERNAME *otherName; /* otherName */
191 ASN1_IA5STRING *rfc822Name; 191 ASN1_IA5STRING *rfc822Name;
192 ASN1_IA5STRING *dNSName; 192 ASN1_IA5STRING *dNSName;
193 ASN1_TYPE *x400Address; 193 ASN1_TYPE *x400Address;
194 X509_NAME *directoryName; 194 X509_NAME *directoryName;
195 EDIPARTYNAME *ediPartyName; 195 EDIPARTYNAME *ediPartyName;
196 ASN1_IA5STRING *uniformResourceIdentifier; 196 ASN1_IA5STRING *uniformResourceIdentifier;
197 ASN1_OCTET_STRING *iPAddress; 197 ASN1_OCTET_STRING *iPAddress;
198 ASN1_OBJECT *registeredID; 198 ASN1_OBJECT *registeredID;
199 199
200 /* Old names */ 200 /* Old names */
201 ASN1_OCTET_STRING *ip; /* iPAddress */ 201 ASN1_OCTET_STRING *ip; /* iPAddress */
202 X509_NAME *dirn; /* dirn */ 202 X509_NAME *dirn; /* dirn */
203 ASN1_IA5STRING *ia5;/* rfc822Name, dNSName, uniformResourceIdentifier */ 203 ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, uniformResourceIdentifier */
204 ASN1_OBJECT *rid; /* registeredID */ 204 ASN1_OBJECT *rid; /* registeredID */
205 ASN1_TYPE *other; /* x400Address */ 205 ASN1_TYPE *other; /* x400Address */
206} d; 206 } d;
207} GENERAL_NAME; 207} GENERAL_NAME;
208 208
209typedef struct ACCESS_DESCRIPTION_st { 209typedef struct ACCESS_DESCRIPTION_st {
@@ -223,13 +223,13 @@ DECLARE_STACK_OF(GENERAL_NAMES)
223DECLARE_STACK_OF(ACCESS_DESCRIPTION) 223DECLARE_STACK_OF(ACCESS_DESCRIPTION)
224 224
225typedef struct DIST_POINT_NAME_st { 225typedef struct DIST_POINT_NAME_st {
226int type; 226 int type;
227union { 227 union {
228 GENERAL_NAMES *fullname; 228 GENERAL_NAMES *fullname;
229 STACK_OF(X509_NAME_ENTRY) *relativename; 229 STACK_OF(X509_NAME_ENTRY) *relativename;
230} name; 230 } name;
231/* If relativename then this contains the full distribution point name */ 231 /* If relativename then this contains the full distribution point name */
232X509_NAME *dpname; 232 X509_NAME *dpname;
233} DIST_POINT_NAME; 233} DIST_POINT_NAME;
234/* All existing reasons */ 234/* All existing reasons */
235#define CRLDP_ALL_REASONS 0x807f 235#define CRLDP_ALL_REASONS 0x807f
@@ -247,10 +247,10 @@ X509_NAME *dpname;
247#define CRL_REASON_AA_COMPROMISE 10 247#define CRL_REASON_AA_COMPROMISE 10
248 248
249struct DIST_POINT_st { 249struct DIST_POINT_st {
250DIST_POINT_NAME *distpoint; 250 DIST_POINT_NAME *distpoint;
251ASN1_BIT_STRING *reasons; 251 ASN1_BIT_STRING *reasons;
252GENERAL_NAMES *CRLissuer; 252 GENERAL_NAMES *CRLissuer;
253int dp_reasons; 253 int dp_reasons;
254}; 254};
255 255
256typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; 256typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS;
@@ -258,9 +258,9 @@ typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS;
258DECLARE_STACK_OF(DIST_POINT) 258DECLARE_STACK_OF(DIST_POINT)
259 259
260struct AUTHORITY_KEYID_st { 260struct AUTHORITY_KEYID_st {
261ASN1_OCTET_STRING *keyid; 261 ASN1_OCTET_STRING *keyid;
262GENERAL_NAMES *issuer; 262 GENERAL_NAMES *issuer;
263ASN1_INTEGER *serial; 263 ASN1_INTEGER *serial;
264}; 264};
265 265
266/* Strong extranet structures */ 266/* Strong extranet structures */