summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509v3/x509v3.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libcrypto/x509v3/x509v3.h160
1 files changed, 128 insertions, 32 deletions
diff --git a/src/lib/libcrypto/x509v3/x509v3.h b/src/lib/libcrypto/x509v3/x509v3.h
index c13342f349..6b6b594d82 100644
--- a/src/lib/libcrypto/x509v3/x509v3.h
+++ b/src/lib/libcrypto/x509v3/x509v3.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509v3.h,v 1.17 2016/09/03 11:56:33 beck Exp $ */ 1/* $OpenBSD: x509v3.h,v 1.18 2016/09/04 17:14:46 jsing 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 */
@@ -352,8 +352,16 @@ typedef struct PROXY_CERT_INFO_EXTENSION_st
352 PROXY_POLICY *proxyPolicy; 352 PROXY_POLICY *proxyPolicy;
353 } PROXY_CERT_INFO_EXTENSION; 353 } PROXY_CERT_INFO_EXTENSION;
354 354
355DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) 355PROXY_POLICY *PROXY_POLICY_new(void);
356DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) 356void PROXY_POLICY_free(PROXY_POLICY *a);
357PROXY_POLICY *d2i_PROXY_POLICY(PROXY_POLICY **a, const unsigned char **in, long len);
358int i2d_PROXY_POLICY(PROXY_POLICY *a, unsigned char **out);
359extern const ASN1_ITEM PROXY_POLICY_it;
360PROXY_CERT_INFO_EXTENSION *PROXY_CERT_INFO_EXTENSION_new(void);
361void PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a);
362PROXY_CERT_INFO_EXTENSION *d2i_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION **a, const unsigned char **in, long len);
363int i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a, unsigned char **out);
364extern const ASN1_ITEM PROXY_CERT_INFO_EXTENSION_it;
357 365
358struct ISSUING_DIST_POINT_st 366struct ISSUING_DIST_POINT_st
359 { 367 {
@@ -507,10 +515,22 @@ typedef struct x509_purpose_st {
507 515
508DECLARE_STACK_OF(X509_PURPOSE) 516DECLARE_STACK_OF(X509_PURPOSE)
509 517
510DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) 518BASIC_CONSTRAINTS *BASIC_CONSTRAINTS_new(void);
511 519void BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a);
512DECLARE_ASN1_FUNCTIONS(SXNET) 520BASIC_CONSTRAINTS *d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, const unsigned char **in, long len);
513DECLARE_ASN1_FUNCTIONS(SXNETID) 521int i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out);
522extern const ASN1_ITEM BASIC_CONSTRAINTS_it;
523
524SXNET *SXNET_new(void);
525void SXNET_free(SXNET *a);
526SXNET *d2i_SXNET(SXNET **a, const unsigned char **in, long len);
527int i2d_SXNET(SXNET *a, unsigned char **out);
528extern const ASN1_ITEM SXNET_it;
529SXNETID *SXNETID_new(void);
530void SXNETID_free(SXNETID *a);
531SXNETID *d2i_SXNETID(SXNETID **a, const unsigned char **in, long len);
532int i2d_SXNETID(SXNETID *a, unsigned char **out);
533extern const ASN1_ITEM SXNETID_it;
514 534
515int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen); 535int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen);
516int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen); 536int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen);
@@ -520,11 +540,23 @@ ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone);
520ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); 540ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone);
521ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); 541ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone);
522 542
523DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) 543AUTHORITY_KEYID *AUTHORITY_KEYID_new(void);
524 544void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a);
525DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) 545AUTHORITY_KEYID *d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, const unsigned char **in, long len);
526 546int i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out);
527DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) 547extern const ASN1_ITEM AUTHORITY_KEYID_it;
548
549PKEY_USAGE_PERIOD *PKEY_USAGE_PERIOD_new(void);
550void PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a);
551PKEY_USAGE_PERIOD *d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len);
552int i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out);
553extern const ASN1_ITEM PKEY_USAGE_PERIOD_it;
554
555GENERAL_NAME *GENERAL_NAME_new(void);
556void GENERAL_NAME_free(GENERAL_NAME *a);
557GENERAL_NAME *d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len);
558int i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out);
559extern const ASN1_ITEM GENERAL_NAME_it;
528GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); 560GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a);
529int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); 561int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b);
530 562
@@ -539,15 +571,27 @@ STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
539STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret); 571STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret);
540int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); 572int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen);
541 573
542DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) 574GENERAL_NAMES *GENERAL_NAMES_new(void);
575void GENERAL_NAMES_free(GENERAL_NAMES *a);
576GENERAL_NAMES *d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len);
577int i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out);
578extern const ASN1_ITEM GENERAL_NAMES_it;
543 579
544STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, 580STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method,
545 GENERAL_NAMES *gen, STACK_OF(CONF_VALUE) *extlist); 581 GENERAL_NAMES *gen, STACK_OF(CONF_VALUE) *extlist);
546GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, 582GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method,
547 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); 583 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
548 584
549DECLARE_ASN1_FUNCTIONS(OTHERNAME) 585OTHERNAME *OTHERNAME_new(void);
550DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) 586void OTHERNAME_free(OTHERNAME *a);
587OTHERNAME *d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len);
588int i2d_OTHERNAME(OTHERNAME *a, unsigned char **out);
589extern const ASN1_ITEM OTHERNAME_it;
590EDIPARTYNAME *EDIPARTYNAME_new(void);
591void EDIPARTYNAME_free(EDIPARTYNAME *a);
592EDIPARTYNAME *d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len);
593int i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out);
594extern const ASN1_ITEM EDIPARTYNAME_it;
551int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); 595int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b);
552void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); 596void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value);
553void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype); 597void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype);
@@ -559,38 +603,90 @@ int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen,
559char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5); 603char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5);
560ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str); 604ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str);
561 605
562DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) 606EXTENDED_KEY_USAGE *EXTENDED_KEY_USAGE_new(void);
607void EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a);
608EXTENDED_KEY_USAGE *d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a, const unsigned char **in, long len);
609int i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out);
610extern const ASN1_ITEM EXTENDED_KEY_USAGE_it;
563int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION* a); 611int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION* a);
564 612
565DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) 613CERTIFICATEPOLICIES *CERTIFICATEPOLICIES_new(void);
566DECLARE_ASN1_FUNCTIONS(POLICYINFO) 614void CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a);
567DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) 615CERTIFICATEPOLICIES *d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a, const unsigned char **in, long len);
568DECLARE_ASN1_FUNCTIONS(USERNOTICE) 616int i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out);
569DECLARE_ASN1_FUNCTIONS(NOTICEREF) 617extern const ASN1_ITEM CERTIFICATEPOLICIES_it;
570 618POLICYINFO *POLICYINFO_new(void);
571DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) 619void POLICYINFO_free(POLICYINFO *a);
572DECLARE_ASN1_FUNCTIONS(DIST_POINT) 620POLICYINFO *d2i_POLICYINFO(POLICYINFO **a, const unsigned char **in, long len);
573DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) 621int i2d_POLICYINFO(POLICYINFO *a, unsigned char **out);
574DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) 622extern const ASN1_ITEM POLICYINFO_it;
623POLICYQUALINFO *POLICYQUALINFO_new(void);
624void POLICYQUALINFO_free(POLICYQUALINFO *a);
625POLICYQUALINFO *d2i_POLICYQUALINFO(POLICYQUALINFO **a, const unsigned char **in, long len);
626int i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out);
627extern const ASN1_ITEM POLICYQUALINFO_it;
628USERNOTICE *USERNOTICE_new(void);
629void USERNOTICE_free(USERNOTICE *a);
630USERNOTICE *d2i_USERNOTICE(USERNOTICE **a, const unsigned char **in, long len);
631int i2d_USERNOTICE(USERNOTICE *a, unsigned char **out);
632extern const ASN1_ITEM USERNOTICE_it;
633NOTICEREF *NOTICEREF_new(void);
634void NOTICEREF_free(NOTICEREF *a);
635NOTICEREF *d2i_NOTICEREF(NOTICEREF **a, const unsigned char **in, long len);
636int i2d_NOTICEREF(NOTICEREF *a, unsigned char **out);
637extern const ASN1_ITEM NOTICEREF_it;
638
639CRL_DIST_POINTS *CRL_DIST_POINTS_new(void);
640void CRL_DIST_POINTS_free(CRL_DIST_POINTS *a);
641CRL_DIST_POINTS *d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a, const unsigned char **in, long len);
642int i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out);
643extern const ASN1_ITEM CRL_DIST_POINTS_it;
644DIST_POINT *DIST_POINT_new(void);
645void DIST_POINT_free(DIST_POINT *a);
646DIST_POINT *d2i_DIST_POINT(DIST_POINT **a, const unsigned char **in, long len);
647int i2d_DIST_POINT(DIST_POINT *a, unsigned char **out);
648extern const ASN1_ITEM DIST_POINT_it;
649DIST_POINT_NAME *DIST_POINT_NAME_new(void);
650void DIST_POINT_NAME_free(DIST_POINT_NAME *a);
651DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, const unsigned char **in, long len);
652int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out);
653extern const ASN1_ITEM DIST_POINT_NAME_it;
654ISSUING_DIST_POINT *ISSUING_DIST_POINT_new(void);
655void ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a);
656ISSUING_DIST_POINT *d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a, const unsigned char **in, long len);
657int i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out);
658extern const ASN1_ITEM ISSUING_DIST_POINT_it;
575 659
576int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); 660int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname);
577 661
578int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); 662int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc);
579 663
580DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) 664ACCESS_DESCRIPTION *ACCESS_DESCRIPTION_new(void);
581DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) 665void ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a);
666ACCESS_DESCRIPTION *d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, const unsigned char **in, long len);
667int i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out);
668extern const ASN1_ITEM ACCESS_DESCRIPTION_it;
669AUTHORITY_INFO_ACCESS *AUTHORITY_INFO_ACCESS_new(void);
670void AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a);
671AUTHORITY_INFO_ACCESS *d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a, const unsigned char **in, long len);
672int i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out);
673extern const ASN1_ITEM AUTHORITY_INFO_ACCESS_it;
582 674
583DECLARE_ASN1_ITEM(POLICY_MAPPING) 675DECLARE_ASN1_ITEM(POLICY_MAPPING)
584DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) 676POLICY_MAPPING *POLICY_MAPPING_new(void);
677void POLICY_MAPPING_free(POLICY_MAPPING *a);
585DECLARE_ASN1_ITEM(POLICY_MAPPINGS) 678DECLARE_ASN1_ITEM(POLICY_MAPPINGS)
586 679
587DECLARE_ASN1_ITEM(GENERAL_SUBTREE) 680DECLARE_ASN1_ITEM(GENERAL_SUBTREE)
588DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) 681GENERAL_SUBTREE *GENERAL_SUBTREE_new(void);
682void GENERAL_SUBTREE_free(GENERAL_SUBTREE *a);
589 683
590DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) 684DECLARE_ASN1_ITEM(NAME_CONSTRAINTS)
591DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) 685NAME_CONSTRAINTS *NAME_CONSTRAINTS_new(void);
686void NAME_CONSTRAINTS_free(NAME_CONSTRAINTS *a);
592 687
593DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) 688POLICY_CONSTRAINTS *POLICY_CONSTRAINTS_new(void);
689void POLICY_CONSTRAINTS_free(POLICY_CONSTRAINTS *a);
594DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) 690DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS)
595 691
596GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, 692GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out,