diff options
Diffstat (limited to 'src/lib/libcrypto/x509v3/x509v3.h')
-rw-r--r-- | src/lib/libcrypto/x509v3/x509v3.h | 274 |
1 files changed, 138 insertions, 136 deletions
diff --git a/src/lib/libcrypto/x509v3/x509v3.h b/src/lib/libcrypto/x509v3/x509v3.h index 0453b12d63..daecc55271 100644 --- a/src/lib/libcrypto/x509v3/x509v3.h +++ b/src/lib/libcrypto/x509v3/x509v3.h | |||
@@ -88,6 +88,9 @@ typedef void * (*X509V3_EXT_R2I)(struct v3_ext_method *method, struct v3_ext_ctx | |||
88 | struct v3_ext_method { | 88 | struct v3_ext_method { |
89 | int ext_nid; | 89 | int ext_nid; |
90 | int ext_flags; | 90 | int ext_flags; |
91 | /* If this is set the following four fields are ignored */ | ||
92 | ASN1_ITEM_EXP *it; | ||
93 | /* Old style ASN1 calls */ | ||
91 | X509V3_EXT_NEW ext_new; | 94 | X509V3_EXT_NEW ext_new; |
92 | X509V3_EXT_FREE ext_free; | 95 | X509V3_EXT_FREE ext_free; |
93 | X509V3_EXT_D2I d2i; | 96 | X509V3_EXT_D2I d2i; |
@@ -156,35 +159,56 @@ ASN1_OBJECT *type_id; | |||
156 | ASN1_TYPE *value; | 159 | ASN1_TYPE *value; |
157 | } OTHERNAME; | 160 | } OTHERNAME; |
158 | 161 | ||
162 | typedef struct EDIPartyName_st { | ||
163 | ASN1_STRING *nameAssigner; | ||
164 | ASN1_STRING *partyName; | ||
165 | } EDIPARTYNAME; | ||
166 | |||
159 | typedef struct GENERAL_NAME_st { | 167 | typedef struct GENERAL_NAME_st { |
160 | 168 | ||
161 | #define GEN_OTHERNAME (0|V_ASN1_CONTEXT_SPECIFIC) | 169 | #define GEN_OTHERNAME 0 |
162 | #define GEN_EMAIL (1|V_ASN1_CONTEXT_SPECIFIC) | 170 | #define GEN_EMAIL 1 |
163 | #define GEN_DNS (2|V_ASN1_CONTEXT_SPECIFIC) | 171 | #define GEN_DNS 2 |
164 | #define GEN_X400 (3|V_ASN1_CONTEXT_SPECIFIC) | 172 | #define GEN_X400 3 |
165 | #define GEN_DIRNAME (4|V_ASN1_CONTEXT_SPECIFIC) | 173 | #define GEN_DIRNAME 4 |
166 | #define GEN_EDIPARTY (5|V_ASN1_CONTEXT_SPECIFIC) | 174 | #define GEN_EDIPARTY 5 |
167 | #define GEN_URI (6|V_ASN1_CONTEXT_SPECIFIC) | 175 | #define GEN_URI 6 |
168 | #define GEN_IPADD (7|V_ASN1_CONTEXT_SPECIFIC) | 176 | #define GEN_IPADD 7 |
169 | #define GEN_RID (8|V_ASN1_CONTEXT_SPECIFIC) | 177 | #define GEN_RID 8 |
170 | 178 | ||
171 | int type; | 179 | int type; |
172 | union { | 180 | union { |
173 | char *ptr; | 181 | char *ptr; |
174 | ASN1_IA5STRING *ia5;/* rfc822Name, dNSName, uniformResourceIdentifier */ | 182 | OTHERNAME *otherName; /* otherName */ |
183 | ASN1_IA5STRING *rfc822Name; | ||
184 | ASN1_IA5STRING *dNSName; | ||
185 | ASN1_TYPE *x400Address; | ||
186 | X509_NAME *directoryName; | ||
187 | EDIPARTYNAME *ediPartyName; | ||
188 | ASN1_IA5STRING *uniformResourceIdentifier; | ||
189 | ASN1_OCTET_STRING *iPAddress; | ||
190 | ASN1_OBJECT *registeredID; | ||
191 | |||
192 | /* Old names */ | ||
175 | ASN1_OCTET_STRING *ip; /* iPAddress */ | 193 | ASN1_OCTET_STRING *ip; /* iPAddress */ |
176 | X509_NAME *dirn; /* dirn */ | 194 | X509_NAME *dirn; /* dirn */ |
195 | ASN1_IA5STRING *ia5;/* rfc822Name, dNSName, uniformResourceIdentifier */ | ||
177 | ASN1_OBJECT *rid; /* registeredID */ | 196 | ASN1_OBJECT *rid; /* registeredID */ |
178 | OTHERNAME *otherName; /* otherName */ | 197 | ASN1_TYPE *other; /* x400Address */ |
179 | ASN1_TYPE *other; /* ediPartyName, x400Address */ | ||
180 | } d; | 198 | } d; |
181 | } GENERAL_NAME; | 199 | } GENERAL_NAME; |
182 | 200 | ||
201 | typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; | ||
202 | |||
183 | typedef struct ACCESS_DESCRIPTION_st { | 203 | typedef struct ACCESS_DESCRIPTION_st { |
184 | ASN1_OBJECT *method; | 204 | ASN1_OBJECT *method; |
185 | GENERAL_NAME *location; | 205 | GENERAL_NAME *location; |
186 | } ACCESS_DESCRIPTION; | 206 | } ACCESS_DESCRIPTION; |
187 | 207 | ||
208 | typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; | ||
209 | |||
210 | typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; | ||
211 | |||
188 | DECLARE_STACK_OF(GENERAL_NAME) | 212 | DECLARE_STACK_OF(GENERAL_NAME) |
189 | DECLARE_ASN1_SET_OF(GENERAL_NAME) | 213 | DECLARE_ASN1_SET_OF(GENERAL_NAME) |
190 | 214 | ||
@@ -192,23 +216,27 @@ DECLARE_STACK_OF(ACCESS_DESCRIPTION) | |||
192 | DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) | 216 | DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) |
193 | 217 | ||
194 | typedef struct DIST_POINT_NAME_st { | 218 | typedef struct DIST_POINT_NAME_st { |
195 | /* NB: this is a CHOICE type and only one of these should be set */ | 219 | int type; |
196 | STACK_OF(GENERAL_NAME) *fullname; | 220 | union { |
197 | STACK_OF(X509_NAME_ENTRY) *relativename; | 221 | GENERAL_NAMES *fullname; |
222 | STACK_OF(X509_NAME_ENTRY) *relativename; | ||
223 | } name; | ||
198 | } DIST_POINT_NAME; | 224 | } DIST_POINT_NAME; |
199 | 225 | ||
200 | typedef struct DIST_POINT_st { | 226 | typedef struct DIST_POINT_st { |
201 | DIST_POINT_NAME *distpoint; | 227 | DIST_POINT_NAME *distpoint; |
202 | ASN1_BIT_STRING *reasons; | 228 | ASN1_BIT_STRING *reasons; |
203 | STACK_OF(GENERAL_NAME) *CRLissuer; | 229 | GENERAL_NAMES *CRLissuer; |
204 | } DIST_POINT; | 230 | } DIST_POINT; |
205 | 231 | ||
232 | typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; | ||
233 | |||
206 | DECLARE_STACK_OF(DIST_POINT) | 234 | DECLARE_STACK_OF(DIST_POINT) |
207 | DECLARE_ASN1_SET_OF(DIST_POINT) | 235 | DECLARE_ASN1_SET_OF(DIST_POINT) |
208 | 236 | ||
209 | typedef struct AUTHORITY_KEYID_st { | 237 | typedef struct AUTHORITY_KEYID_st { |
210 | ASN1_OCTET_STRING *keyid; | 238 | ASN1_OCTET_STRING *keyid; |
211 | STACK_OF(GENERAL_NAME) *issuer; | 239 | GENERAL_NAMES *issuer; |
212 | ASN1_INTEGER *serial; | 240 | ASN1_INTEGER *serial; |
213 | } AUTHORITY_KEYID; | 241 | } AUTHORITY_KEYID; |
214 | 242 | ||
@@ -254,6 +282,8 @@ typedef struct POLICYINFO_st { | |||
254 | STACK_OF(POLICYQUALINFO) *qualifiers; | 282 | STACK_OF(POLICYQUALINFO) *qualifiers; |
255 | } POLICYINFO; | 283 | } POLICYINFO; |
256 | 284 | ||
285 | typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; | ||
286 | |||
257 | DECLARE_STACK_OF(POLICYINFO) | 287 | DECLARE_STACK_OF(POLICYINFO) |
258 | DECLARE_ASN1_SET_OF(POLICYINFO) | 288 | DECLARE_ASN1_SET_OF(POLICYINFO) |
259 | 289 | ||
@@ -262,32 +292,24 @@ DECLARE_ASN1_SET_OF(POLICYINFO) | |||
262 | 292 | ||
263 | #define X509V3_set_ctx_test(ctx) \ | 293 | #define X509V3_set_ctx_test(ctx) \ |
264 | X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) | 294 | X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) |
265 | #define X509V3_set_ctx_nodb(ctx) ctx->db = NULL; | 295 | #define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; |
266 | 296 | ||
267 | #define EXT_BITSTRING(nid, table) { nid, 0, \ | 297 | #define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ |
268 | (X509V3_EXT_NEW)ASN1_BIT_STRING_new, \ | 298 | 0,0,0,0, \ |
269 | (X509V3_EXT_FREE)ASN1_BIT_STRING_free, \ | 299 | 0,0, \ |
270 | (X509V3_EXT_D2I)d2i_ASN1_BIT_STRING, \ | ||
271 | (X509V3_EXT_I2D)i2d_ASN1_BIT_STRING, \ | ||
272 | NULL, NULL, \ | ||
273 | (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ | 300 | (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ |
274 | (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ | 301 | (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ |
275 | NULL, NULL, \ | 302 | NULL, NULL, \ |
276 | (char *)table} | 303 | table} |
277 | 304 | ||
278 | #define EXT_IA5STRING(nid) { nid, 0, \ | 305 | #define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ |
279 | (X509V3_EXT_NEW)ASN1_IA5STRING_new, \ | 306 | 0,0,0,0, \ |
280 | (X509V3_EXT_FREE)ASN1_IA5STRING_free, \ | ||
281 | (X509V3_EXT_D2I)d2i_ASN1_IA5STRING, \ | ||
282 | (X509V3_EXT_I2D)i2d_ASN1_IA5STRING, \ | ||
283 | (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ | 307 | (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ |
284 | (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ | 308 | (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ |
285 | NULL, NULL, NULL, NULL, \ | 309 | 0,0,0,0, \ |
286 | NULL} | 310 | NULL} |
287 | 311 | ||
288 | #define EXT_END { -1, 0, NULL, NULL, NULL, NULL, NULL, NULL, \ | 312 | #define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
289 | NULL, NULL, NULL, NULL, \ | ||
290 | NULL} | ||
291 | 313 | ||
292 | 314 | ||
293 | /* X509_PURPOSE stuff */ | 315 | /* X509_PURPOSE stuff */ |
@@ -302,6 +324,7 @@ DECLARE_ASN1_SET_OF(POLICYINFO) | |||
302 | #define EXFLAG_V1 0x40 | 324 | #define EXFLAG_V1 0x40 |
303 | #define EXFLAG_INVALID 0x80 | 325 | #define EXFLAG_INVALID 0x80 |
304 | #define EXFLAG_SET 0x100 | 326 | #define EXFLAG_SET 0x100 |
327 | #define EXFLAG_CRITICAL 0x200 | ||
305 | 328 | ||
306 | #define KU_DIGITAL_SIGNATURE 0x0080 | 329 | #define KU_DIGITAL_SIGNATURE 0x0080 |
307 | #define KU_NON_REPUDIATION 0x0040 | 330 | #define KU_NON_REPUDIATION 0x0040 |
@@ -320,12 +343,15 @@ DECLARE_ASN1_SET_OF(POLICYINFO) | |||
320 | #define NS_SSL_CA 0x04 | 343 | #define NS_SSL_CA 0x04 |
321 | #define NS_SMIME_CA 0x02 | 344 | #define NS_SMIME_CA 0x02 |
322 | #define NS_OBJSIGN_CA 0x01 | 345 | #define NS_OBJSIGN_CA 0x01 |
346 | #define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) | ||
323 | 347 | ||
324 | #define XKU_SSL_SERVER 0x1 | 348 | #define XKU_SSL_SERVER 0x1 |
325 | #define XKU_SSL_CLIENT 0x2 | 349 | #define XKU_SSL_CLIENT 0x2 |
326 | #define XKU_SMIME 0x4 | 350 | #define XKU_SMIME 0x4 |
327 | #define XKU_CODE_SIGN 0x8 | 351 | #define XKU_CODE_SIGN 0x8 |
328 | #define XKU_SGC 0x10 | 352 | #define XKU_SGC 0x10 |
353 | #define XKU_OCSP_SIGN 0x20 | ||
354 | #define XKU_TIMESTAMP 0x40 | ||
329 | 355 | ||
330 | #define X509_PURPOSE_DYNAMIC 0x1 | 356 | #define X509_PURPOSE_DYNAMIC 0x1 |
331 | #define X509_PURPOSE_DYNAMIC_NAME 0x2 | 357 | #define X509_PURPOSE_DYNAMIC_NAME 0x2 |
@@ -348,33 +374,40 @@ typedef struct x509_purpose_st { | |||
348 | #define X509_PURPOSE_SMIME_ENCRYPT 5 | 374 | #define X509_PURPOSE_SMIME_ENCRYPT 5 |
349 | #define X509_PURPOSE_CRL_SIGN 6 | 375 | #define X509_PURPOSE_CRL_SIGN 6 |
350 | #define X509_PURPOSE_ANY 7 | 376 | #define X509_PURPOSE_ANY 7 |
377 | #define X509_PURPOSE_OCSP_HELPER 8 | ||
351 | 378 | ||
352 | #define X509_PURPOSE_MIN 1 | 379 | #define X509_PURPOSE_MIN 1 |
353 | #define X509_PURPOSE_MAX 7 | 380 | #define X509_PURPOSE_MAX 8 |
381 | |||
382 | /* Flags for X509V3_EXT_print() */ | ||
383 | |||
384 | #define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) | ||
385 | /* Return error for unknown extensions */ | ||
386 | #define X509V3_EXT_DEFAULT 0 | ||
387 | /* Print error for unknown extensions */ | ||
388 | #define X509V3_EXT_ERROR_UNKNOWN (1L << 16) | ||
389 | /* ASN1 parse unknown extensions */ | ||
390 | #define X509V3_EXT_PARSE_UNKNOWN (2L << 16) | ||
391 | /* BIO_dump unknown extensions */ | ||
392 | #define X509V3_EXT_DUMP_UNKNOWN (3L << 16) | ||
393 | |||
394 | /* Flags for X509V3_add1_i2d */ | ||
395 | |||
396 | #define X509V3_ADD_OP_MASK 0xfL | ||
397 | #define X509V3_ADD_DEFAULT 0L | ||
398 | #define X509V3_ADD_APPEND 1L | ||
399 | #define X509V3_ADD_REPLACE 2L | ||
400 | #define X509V3_ADD_REPLACE_EXISTING 3L | ||
401 | #define X509V3_ADD_KEEP_EXISTING 4L | ||
402 | #define X509V3_ADD_DELETE 5L | ||
403 | #define X509V3_ADD_SILENT 0x10 | ||
354 | 404 | ||
355 | DECLARE_STACK_OF(X509_PURPOSE) | 405 | DECLARE_STACK_OF(X509_PURPOSE) |
356 | 406 | ||
357 | void ERR_load_X509V3_strings(void); | 407 | DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) |
358 | int i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **pp); | ||
359 | BASIC_CONSTRAINTS *d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, unsigned char **pp, long length); | ||
360 | BASIC_CONSTRAINTS *BASIC_CONSTRAINTS_new(void); | ||
361 | void BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a); | ||
362 | |||
363 | int i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **pp); | ||
364 | GENERAL_NAME *d2i_GENERAL_NAME(GENERAL_NAME **a, unsigned char **pp, long length); | ||
365 | GENERAL_NAME *GENERAL_NAME_new(void); | ||
366 | void GENERAL_NAME_free(GENERAL_NAME *a); | ||
367 | STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret); | ||
368 | |||
369 | int i2d_SXNET(SXNET *a, unsigned char **pp); | ||
370 | SXNET *d2i_SXNET(SXNET **a, unsigned char **pp, long length); | ||
371 | SXNET *SXNET_new(void); | ||
372 | void SXNET_free(SXNET *a); | ||
373 | 408 | ||
374 | int i2d_SXNETID(SXNETID *a, unsigned char **pp); | 409 | DECLARE_ASN1_FUNCTIONS(SXNET) |
375 | SXNETID *d2i_SXNETID(SXNETID **a, unsigned char **pp, long length); | 410 | DECLARE_ASN1_FUNCTIONS(SXNETID) |
376 | SXNETID *SXNETID_new(void); | ||
377 | void SXNETID_free(SXNETID *a); | ||
378 | 411 | ||
379 | int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen); | 412 | int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen); |
380 | int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen); | 413 | int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen); |
@@ -384,108 +417,66 @@ ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone); | |||
384 | ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); | 417 | ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); |
385 | ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); | 418 | ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); |
386 | 419 | ||
387 | int i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **pp); | 420 | DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) |
388 | AUTHORITY_KEYID *d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, unsigned char **pp, long length); | ||
389 | AUTHORITY_KEYID *AUTHORITY_KEYID_new(void); | ||
390 | void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a); | ||
391 | 421 | ||
392 | int i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **pp); | 422 | DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) |
393 | PKEY_USAGE_PERIOD *d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, unsigned char **pp, long length); | 423 | |
394 | PKEY_USAGE_PERIOD *PKEY_USAGE_PERIOD_new(void); | 424 | DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) |
395 | void PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a); | 425 | |
426 | STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret); | ||
427 | int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); | ||
428 | |||
429 | DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) | ||
396 | 430 | ||
397 | STACK_OF(GENERAL_NAME) *GENERAL_NAMES_new(void); | ||
398 | void GENERAL_NAMES_free(STACK_OF(GENERAL_NAME) *a); | ||
399 | STACK_OF(GENERAL_NAME) *d2i_GENERAL_NAMES(STACK_OF(GENERAL_NAME) **a, unsigned char **pp, long length); | ||
400 | int i2d_GENERAL_NAMES(STACK_OF(GENERAL_NAME) *a, unsigned char **pp); | ||
401 | STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, | 431 | STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, |
402 | STACK_OF(GENERAL_NAME) *gen, STACK_OF(CONF_VALUE) *extlist); | 432 | GENERAL_NAMES *gen, STACK_OF(CONF_VALUE) *extlist); |
403 | STACK_OF(GENERAL_NAME) *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, | 433 | GENERAL_NAMES *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, |
404 | X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); | 434 | X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); |
405 | 435 | ||
406 | int i2d_OTHERNAME(OTHERNAME *a, unsigned char **pp); | 436 | DECLARE_ASN1_FUNCTIONS(OTHERNAME) |
407 | OTHERNAME *OTHERNAME_new(void); | 437 | DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) |
408 | OTHERNAME *d2i_OTHERNAME(OTHERNAME **a, unsigned char **pp, long length); | ||
409 | void OTHERNAME_free(OTHERNAME *a); | ||
410 | 438 | ||
411 | char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5); | 439 | char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5); |
412 | ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str); | 440 | ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str); |
413 | 441 | ||
414 | int i2d_ext_ku(STACK_OF(ASN1_OBJECT) *a, unsigned char **pp); | 442 | DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) |
415 | STACK_OF(ASN1_OBJECT) *d2i_ext_ku(STACK_OF(ASN1_OBJECT) **a, | 443 | int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION* a); |
416 | unsigned char **pp, long length); | 444 | |
417 | void ext_ku_free(STACK_OF(ASN1_OBJECT) *a); | 445 | DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) |
418 | STACK_OF(ASN1_OBJECT) *ext_ku_new(void); | 446 | DECLARE_ASN1_FUNCTIONS(POLICYINFO) |
419 | 447 | DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) | |
420 | int i2d_CERTIFICATEPOLICIES(STACK_OF(POLICYINFO) *a, unsigned char **pp); | 448 | DECLARE_ASN1_FUNCTIONS(USERNOTICE) |
421 | STACK_OF(POLICYINFO) *CERTIFICATEPOLICIES_new(void); | 449 | DECLARE_ASN1_FUNCTIONS(NOTICEREF) |
422 | void CERTIFICATEPOLICIES_free(STACK_OF(POLICYINFO) *a); | ||
423 | STACK_OF(POLICYINFO) *d2i_CERTIFICATEPOLICIES(STACK_OF(POLICYINFO) **a, unsigned char **pp, long length); | ||
424 | |||
425 | int i2d_POLICYINFO(POLICYINFO *a, unsigned char **pp); | ||
426 | POLICYINFO *POLICYINFO_new(void); | ||
427 | POLICYINFO *d2i_POLICYINFO(POLICYINFO **a, unsigned char **pp, long length); | ||
428 | void POLICYINFO_free(POLICYINFO *a); | ||
429 | |||
430 | int i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **pp); | ||
431 | POLICYQUALINFO *POLICYQUALINFO_new(void); | ||
432 | POLICYQUALINFO *d2i_POLICYQUALINFO(POLICYQUALINFO **a, unsigned char **pp, | ||
433 | long length); | ||
434 | void POLICYQUALINFO_free(POLICYQUALINFO *a); | ||
435 | |||
436 | int i2d_USERNOTICE(USERNOTICE *a, unsigned char **pp); | ||
437 | USERNOTICE *USERNOTICE_new(void); | ||
438 | USERNOTICE *d2i_USERNOTICE(USERNOTICE **a, unsigned char **pp, long length); | ||
439 | void USERNOTICE_free(USERNOTICE *a); | ||
440 | |||
441 | int i2d_NOTICEREF(NOTICEREF *a, unsigned char **pp); | ||
442 | NOTICEREF *NOTICEREF_new(void); | ||
443 | NOTICEREF *d2i_NOTICEREF(NOTICEREF **a, unsigned char **pp, long length); | ||
444 | void NOTICEREF_free(NOTICEREF *a); | ||
445 | |||
446 | int i2d_CRL_DIST_POINTS(STACK_OF(DIST_POINT) *a, unsigned char **pp); | ||
447 | STACK_OF(DIST_POINT) *CRL_DIST_POINTS_new(void); | ||
448 | void CRL_DIST_POINTS_free(STACK_OF(DIST_POINT) *a); | ||
449 | STACK_OF(DIST_POINT) *d2i_CRL_DIST_POINTS(STACK_OF(DIST_POINT) **a, | ||
450 | unsigned char **pp,long length); | ||
451 | |||
452 | int i2d_DIST_POINT(DIST_POINT *a, unsigned char **pp); | ||
453 | DIST_POINT *DIST_POINT_new(void); | ||
454 | DIST_POINT *d2i_DIST_POINT(DIST_POINT **a, unsigned char **pp, long length); | ||
455 | void DIST_POINT_free(DIST_POINT *a); | ||
456 | |||
457 | int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **pp); | ||
458 | DIST_POINT_NAME *DIST_POINT_NAME_new(void); | ||
459 | void DIST_POINT_NAME_free(DIST_POINT_NAME *a); | ||
460 | DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, unsigned char **pp, | ||
461 | long length); | ||
462 | |||
463 | int i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **pp); | ||
464 | ACCESS_DESCRIPTION *ACCESS_DESCRIPTION_new(void); | ||
465 | void ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a); | ||
466 | ACCESS_DESCRIPTION *d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, unsigned char **pp, | ||
467 | long length); | ||
468 | |||
469 | STACK_OF(ACCESS_DESCRIPTION) *AUTHORITY_INFO_ACCESS_new(void); | ||
470 | void AUTHORITY_INFO_ACCESS_free(STACK_OF(ACCESS_DESCRIPTION) *a); | ||
471 | STACK_OF(ACCESS_DESCRIPTION) *d2i_AUTHORITY_INFO_ACCESS(STACK_OF(ACCESS_DESCRIPTION) **a, | ||
472 | unsigned char **pp, long length); | ||
473 | int i2d_AUTHORITY_INFO_ACCESS(STACK_OF(ACCESS_DESCRIPTION) *a, unsigned char **pp); | ||
474 | 450 | ||
451 | DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) | ||
452 | DECLARE_ASN1_FUNCTIONS(DIST_POINT) | ||
453 | DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) | ||
475 | 454 | ||
455 | DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) | ||
456 | DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) | ||
476 | 457 | ||
477 | #ifdef HEADER_CONF_H | 458 | #ifdef HEADER_CONF_H |
478 | GENERAL_NAME *v2i_GENERAL_NAME(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, CONF_VALUE *cnf); | 459 | GENERAL_NAME *v2i_GENERAL_NAME(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, CONF_VALUE *cnf); |
479 | void X509V3_conf_free(CONF_VALUE *val); | 460 | void X509V3_conf_free(CONF_VALUE *val); |
461 | |||
462 | X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, char *value); | ||
463 | X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, char *value); | ||
464 | int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, STACK_OF(X509_EXTENSION) **sk); | ||
465 | int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509 *cert); | ||
466 | int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_REQ *req); | ||
467 | int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_CRL *crl); | ||
468 | |||
480 | X509_EXTENSION *X509V3_EXT_conf_nid(LHASH *conf, X509V3_CTX *ctx, int ext_nid, char *value); | 469 | X509_EXTENSION *X509V3_EXT_conf_nid(LHASH *conf, X509V3_CTX *ctx, int ext_nid, char *value); |
481 | X509_EXTENSION *X509V3_EXT_conf(LHASH *conf, X509V3_CTX *ctx, char *name, char *value); | 470 | X509_EXTENSION *X509V3_EXT_conf(LHASH *conf, X509V3_CTX *ctx, char *name, char *value); |
482 | int X509V3_EXT_add_conf(LHASH *conf, X509V3_CTX *ctx, char *section, X509 *cert); | 471 | int X509V3_EXT_add_conf(LHASH *conf, X509V3_CTX *ctx, char *section, X509 *cert); |
483 | int X509V3_EXT_REQ_add_conf(LHASH *conf, X509V3_CTX *ctx, char *section, X509_REQ *req); | 472 | int X509V3_EXT_REQ_add_conf(LHASH *conf, X509V3_CTX *ctx, char *section, X509_REQ *req); |
484 | int X509V3_EXT_CRL_add_conf(LHASH *conf, X509V3_CTX *ctx, char *section, X509_CRL *crl); | 473 | int X509V3_EXT_CRL_add_conf(LHASH *conf, X509V3_CTX *ctx, char *section, X509_CRL *crl); |
474 | |||
485 | int X509V3_add_value_bool_nf(char *name, int asn1_bool, | 475 | int X509V3_add_value_bool_nf(char *name, int asn1_bool, |
486 | STACK_OF(CONF_VALUE) **extlist); | 476 | STACK_OF(CONF_VALUE) **extlist); |
487 | int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool); | 477 | int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool); |
488 | int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint); | 478 | int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint); |
479 | void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); | ||
489 | void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH *lhash); | 480 | void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH *lhash); |
490 | #endif | 481 | #endif |
491 | 482 | ||
@@ -516,11 +507,13 @@ void X509V3_EXT_cleanup(void); | |||
516 | X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); | 507 | X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); |
517 | X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); | 508 | X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); |
518 | int X509V3_add_standard_extensions(void); | 509 | int X509V3_add_standard_extensions(void); |
519 | STACK_OF(CONF_VALUE) *X509V3_parse_list(char *line); | 510 | STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); |
520 | void *X509V3_EXT_d2i(X509_EXTENSION *ext); | 511 | void *X509V3_EXT_d2i(X509_EXTENSION *ext); |
521 | void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx); | 512 | void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx); |
522 | 513 | ||
514 | |||
523 | X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); | 515 | X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); |
516 | int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, int crit, unsigned long flags); | ||
524 | 517 | ||
525 | char *hex_to_string(unsigned char *buffer, long len); | 518 | char *hex_to_string(unsigned char *buffer, long len); |
526 | unsigned char *string_to_hex(char *str, long *len); | 519 | unsigned char *string_to_hex(char *str, long *len); |
@@ -528,10 +521,14 @@ int name_cmp(const char *name, const char *cmp); | |||
528 | 521 | ||
529 | void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, | 522 | void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, |
530 | int ml); | 523 | int ml); |
531 | int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, int flag, int indent); | 524 | int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, int indent); |
532 | int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); | 525 | int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); |
533 | 526 | ||
527 | int X509V3_extensions_print(BIO *out, char *title, STACK_OF(X509_EXTENSION) *exts, unsigned long flag, int indent); | ||
528 | |||
534 | int X509_check_purpose(X509 *x, int id, int ca); | 529 | int X509_check_purpose(X509 *x, int id, int ca); |
530 | int X509_supported_extension(X509_EXTENSION *ex); | ||
531 | int X509_PURPOSE_set(int *p, int purpose); | ||
535 | int X509_check_issued(X509 *issuer, X509 *subject); | 532 | int X509_check_issued(X509 *issuer, X509 *subject); |
536 | int X509_PURPOSE_get_count(void); | 533 | int X509_PURPOSE_get_count(void); |
537 | X509_PURPOSE * X509_PURPOSE_get0(int idx); | 534 | X509_PURPOSE * X509_PURPOSE_get0(int idx); |
@@ -555,6 +552,7 @@ void X509_email_free(STACK *sk); | |||
555 | /* The following lines are auto generated by the script mkerr.pl. Any changes | 552 | /* The following lines are auto generated by the script mkerr.pl. Any changes |
556 | * made after this point may be overwritten when the script is next run. | 553 | * made after this point may be overwritten when the script is next run. |
557 | */ | 554 | */ |
555 | void ERR_load_X509V3_strings(void); | ||
558 | 556 | ||
559 | /* Error codes for the X509V3 functions. */ | 557 | /* Error codes for the X509V3 functions. */ |
560 | 558 | ||
@@ -591,6 +589,7 @@ void X509_email_free(STACK *sk); | |||
591 | #define X509V3_F_V2I_GENERAL_NAME 117 | 589 | #define X509V3_F_V2I_GENERAL_NAME 117 |
592 | #define X509V3_F_V2I_GENERAL_NAMES 118 | 590 | #define X509V3_F_V2I_GENERAL_NAMES 118 |
593 | #define X509V3_F_V3_GENERIC_EXTENSION 116 | 591 | #define X509V3_F_V3_GENERIC_EXTENSION 116 |
592 | #define X509V3_F_X509V3_ADD_I2D 140 | ||
594 | #define X509V3_F_X509V3_ADD_VALUE 105 | 593 | #define X509V3_F_X509V3_ADD_VALUE 105 |
595 | #define X509V3_F_X509V3_EXT_ADD 104 | 594 | #define X509V3_F_X509V3_EXT_ADD 104 |
596 | #define X509V3_F_X509V3_EXT_ADD_ALIAS 106 | 595 | #define X509V3_F_X509V3_EXT_ADD_ALIAS 106 |
@@ -599,6 +598,7 @@ void X509_email_free(STACK *sk); | |||
599 | #define X509V3_F_X509V3_GET_VALUE_BOOL 110 | 598 | #define X509V3_F_X509V3_GET_VALUE_BOOL 110 |
600 | #define X509V3_F_X509V3_PARSE_LIST 109 | 599 | #define X509V3_F_X509V3_PARSE_LIST 109 |
601 | #define X509V3_F_X509_PURPOSE_ADD 137 | 600 | #define X509V3_F_X509_PURPOSE_ADD 137 |
601 | #define X509V3_F_X509_PURPOSE_SET 141 | ||
602 | 602 | ||
603 | /* Reason codes. */ | 603 | /* Reason codes. */ |
604 | #define X509V3_R_BAD_IP_ADDRESS 118 | 604 | #define X509V3_R_BAD_IP_ADDRESS 118 |
@@ -607,8 +607,10 @@ void X509_email_free(STACK *sk); | |||
607 | #define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 | 607 | #define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 |
608 | #define X509V3_R_DUPLICATE_ZONE_ID 133 | 608 | #define X509V3_R_DUPLICATE_ZONE_ID 133 |
609 | #define X509V3_R_ERROR_CONVERTING_ZONE 131 | 609 | #define X509V3_R_ERROR_CONVERTING_ZONE 131 |
610 | #define X509V3_R_ERROR_CREATING_EXTENSION 144 | ||
610 | #define X509V3_R_ERROR_IN_EXTENSION 128 | 611 | #define X509V3_R_ERROR_IN_EXTENSION 128 |
611 | #define X509V3_R_EXPECTED_A_SECTION_NAME 137 | 612 | #define X509V3_R_EXPECTED_A_SECTION_NAME 137 |
613 | #define X509V3_R_EXTENSION_EXISTS 145 | ||
612 | #define X509V3_R_EXTENSION_NAME_ERROR 115 | 614 | #define X509V3_R_EXTENSION_NAME_ERROR 115 |
613 | #define X509V3_R_EXTENSION_NOT_FOUND 102 | 615 | #define X509V3_R_EXTENSION_NOT_FOUND 102 |
614 | #define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 | 616 | #define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 |
@@ -625,6 +627,7 @@ void X509_email_free(STACK *sk); | |||
625 | #define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 | 627 | #define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 |
626 | #define X509V3_R_INVALID_OPTION 138 | 628 | #define X509V3_R_INVALID_OPTION 138 |
627 | #define X509V3_R_INVALID_POLICY_IDENTIFIER 134 | 629 | #define X509V3_R_INVALID_POLICY_IDENTIFIER 134 |
630 | #define X509V3_R_INVALID_PURPOSE 146 | ||
628 | #define X509V3_R_INVALID_SECTION 135 | 631 | #define X509V3_R_INVALID_SECTION 135 |
629 | #define X509V3_R_INVALID_SYNTAX 143 | 632 | #define X509V3_R_INVALID_SYNTAX 143 |
630 | #define X509V3_R_ISSUER_DECODE_ERROR 126 | 633 | #define X509V3_R_ISSUER_DECODE_ERROR 126 |
@@ -650,4 +653,3 @@ void X509_email_free(STACK *sk); | |||
650 | } | 653 | } |
651 | #endif | 654 | #endif |
652 | #endif | 655 | #endif |
653 | |||