extern "C" {
#endif
-#include "bio.h"
-#include "x509.h"
+#include <openssl/bio.h>
+#include <openssl/x509.h>
/* Forward reference */
struct v3_ext_method;
ASN1_INTEGER *pathlen;
} BASIC_CONSTRAINTS;
-typedef struct AUTHORITY_KEYID_st {
-ASN1_OCTET_STRING *keyid;
-STACK *issuer;
-ASN1_INTEGER *serial;
-} AUTHORITY_KEYID;
typedef struct PKEY_USAGE_PERIOD_st {
ASN1_GENERALIZEDTIME *notBefore;
} d;
} GENERAL_NAME;
+DECLARE_STACK_OF(GENERAL_NAME)
+DECLARE_ASN1_SET_OF(GENERAL_NAME)
+
+typedef struct DIST_POINT_NAME_st {
+/* NB: this is a CHOICE type and only one of these should be set */
+STACK_OF(GENERAL_NAME) *fullname;
+X509_NAME *relativename;
+} DIST_POINT_NAME;
+
+typedef struct DIST_POINT_st {
+DIST_POINT_NAME *distpoint;
+ASN1_BIT_STRING *reasons;
+STACK_OF(GENERAL_NAME) *CRLissuer;
+} DIST_POINT;
+
+DECLARE_STACK_OF(DIST_POINT)
+DECLARE_ASN1_SET_OF(DIST_POINT)
+
+typedef struct AUTHORITY_KEYID_st {
+ASN1_OCTET_STRING *keyid;
+STACK_OF(GENERAL_NAME) *issuer;
+ASN1_INTEGER *serial;
+} AUTHORITY_KEYID;
+
/* Strong extranet structures */
typedef struct SXNET_ID_st {
STACK_OF(POLICYQUALINFO) *qualifiers;
} POLICYINFO;
-DECLARE_STACK_OF(POLICYINFO);
-DECLARE_ASN1_SET_OF(POLICYINFO);
+DECLARE_STACK_OF(POLICYINFO)
+DECLARE_ASN1_SET_OF(POLICYINFO)
#define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \
",name:", val->name, ",value:", val->value);
NULL, NULL, NULL, NULL, \
NULL}
-#ifndef NOPROTO
void ERR_load_X509V3_strings(void);
int i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **pp);
BASIC_CONSTRAINTS *d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, unsigned char **pp, long length);
SXNETID *SXNETID_new(void);
void SXNETID_free(SXNETID *a);
-int SXNET_add_id_asc(SXNET **psx, char *zone, unsigned char *user, int userlen);
-int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, unsigned char *user, int userlen);
-int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, unsigned char *user, int userlen);
+int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen);
+int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen);
+int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, char *user, int userlen);
ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone);
ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone);
PKEY_USAGE_PERIOD *PKEY_USAGE_PERIOD_new(void);
void PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a);
-STACK *GENERAL_NAMES_new(void);
-void GENERAL_NAMES_free(STACK *a);
-STACK *d2i_GENERAL_NAMES(STACK **a, unsigned char **pp, long length);
-int i2d_GENERAL_NAMES(STACK *a, unsigned char **pp);
-STACK *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, STACK *gen, STACK *extlist);
-STACK *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval);
+STACK_OF(GENERAL_NAME) *GENERAL_NAMES_new(void);
+void GENERAL_NAMES_free(STACK_OF(GENERAL_NAME) *a);
+STACK_OF(GENERAL_NAME) *d2i_GENERAL_NAMES(STACK_OF(GENERAL_NAME) **a, unsigned char **pp, long length);
+int i2d_GENERAL_NAMES(STACK_OF(GENERAL_NAME) *a, unsigned char **pp);
+STACK *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, STACK_OF(GENERAL_NAME) *gen, STACK *extlist);
+STACK_OF(GENERAL_NAME) *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval);
char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5);
ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str);
NOTICEREF *d2i_NOTICEREF(NOTICEREF **a, unsigned char **pp, long length);
void NOTICEREF_free(NOTICEREF *a);
+int i2d_CRL_DIST_POINTS(STACK_OF(DIST_POINT) *a, unsigned char **pp);
+STACK_OF(DIST_POINT) *CRL_DIST_POINTS_new(void);
+void CRL_DIST_POINTS_free(STACK_OF(DIST_POINT) *a);
+STACK_OF(DIST_POINT) *d2i_CRL_DIST_POINTS(STACK_OF(DIST_POINT) **a,
+ unsigned char **pp,long length);
+
+int i2d_DIST_POINT(DIST_POINT *a, unsigned char **pp);
+DIST_POINT *DIST_POINT_new(void);
+DIST_POINT *d2i_DIST_POINT(DIST_POINT **a, unsigned char **pp, long length);
+void DIST_POINT_free(DIST_POINT *a);
+
+int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **pp);
+DIST_POINT_NAME *DIST_POINT_NAME_new(void);
+void DIST_POINT_NAME_free(DIST_POINT_NAME *a);
+DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, unsigned char **pp,
+ long length);
+
#ifdef HEADER_CONF_H
GENERAL_NAME *v2i_GENERAL_NAME(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, CONF_VALUE *cnf);
void X509V3_conf_free(CONF_VALUE *val);
X509_REQ *req, X509_CRL *crl, int flags);
int X509V3_add_value(const char *name, const char *value, STACK **extlist);
+int X509V3_add_value_uchar(const char *name, const unsigned char *value,
+ STACK **extlist);
int X509V3_add_value_bool(const char *name, int asn1_bool, STACK **extlist);
int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint, STACK **extlist);
char * i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint);
X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid);
int X509V3_add_standard_extensions(void);
STACK *X509V3_parse_list(char *line);
-char *X509V3_EXT_d2i(X509_EXTENSION *ext);
+void *X509V3_EXT_d2i(X509_EXTENSION *ext);
char *hex_to_string(unsigned char *buffer, long len);
unsigned char *string_to_hex(char *str, long *len);
int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, int flag, int indent);
int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent);
-#else
-
-void ERR_load_X509V3_strings();
-int i2d_BASIC_CONSTRAINTS();
-BASIC_CONSTRAINTS *d2i_BASIC_CONSTRAINTS();
-BASIC_CONSTRAINTS *BASIC_CONSTRAINTS_new();
-void BASIC_CONSTRAINTS_free();
-
-int i2d_GENERAL_NAME();
-GENERAL_NAME *d2i_GENERAL_NAME();
-GENERAL_NAME *GENERAL_NAME_new();
-void GENERAL_NAME_free();
-STACK *i2v_GENERAL_NAME();
-GENERAL_NAME *v2i_GENERAL_NAME();
-
-int i2d_SXNET();
-SXNET *d2i_SXNET();
-SXNET *SXNET_new();
-void SXNET_free();
-
-int i2d_SXNETID();
-SXNETID *d2i_SXNETID();
-SXNETID *SXNETID_new();
-void SXNETID_free();
-int SXNET_add_id_asc();
-int SXNET_add_id_ulong();
-int SXNET_add_id_INTEGER();
-ASN1_OCTET_STRING *SXNET_get_id_asc();
-ASN1_OCTET_STRING *SXNET_get_id_ulong();
-ASN1_OCTET_STRING *SXNET_get_id_INTEGER();
-
-int i2d_AUTHORITY_KEYID();
-AUTHORITY_KEYID *d2i_AUTHORITY_KEYID();
-AUTHORITY_KEYID *AUTHORITY_KEYID_new();
-void AUTHORITY_KEYID_free();
-
-int i2d_PKEY_USAGE_PERIOD();
-PKEY_USAGE_PERIOD *d2i_PKEY_USAGE_PERIOD();
-PKEY_USAGE_PERIOD *PKEY_USAGE_PERIOD_new();
-void PKEY_USAGE_PERIOD_free();
-
-STACK *GENERAL_NAMES_new():
-void GENERAL_NAMES_free():
-STACK *d2i_GENERAL_NAMES();
-int i2d_GENERAL_NAMES();
-STACK *i2v_GENERAL_NAMES();
-STACK *v2i_GENERAL_NAMES();
-
-char *i2s_ASN1_OCTET_STRING();
-ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING();
-
-int i2d_ext_ku();
-STACK *d2i_ext_ku();
-void ext_ku_free();
-STACK *ext_ku_new();
-
-#ifdef HEADER_CONF_H
-void X509V3_conf_free();
-X509_EXTENSION *X509V3_EXT_conf_nid();
-X509_EXTENSION *X509V3_EXT_conf();
-int X509V3_EXT_add_conf();
-int X509V3_get_value_bool();
-int X509V3_get_value_int();
-void X509V3_set_conf_lhash();
-#endif
-
-int i2d_CERTIFICATEPOLICIES();
-STACK *CERTIFICATEPOLICIES_new();
-void CERTIFICATEPOLICIES_free();
-STACK *d2i_CERTIFICATEPOLICIES();
-
-int i2d_POLICYINFO();
-POLICYINFO *POLICYINFO_new();
-POLICYINFO *d2i_POLICYINFO();
-void POLICYINFO_free();
-
-int i2d_POLICYQUALINFO();
-POLICYQUALINFO *POLICYQUALINFO_new();
-POLICYQUALINFO *d2i_POLICYQUALINFO();
-void POLICYQUALINFO_free();
-
-int i2d_USERNOTICE();
-USERNOTICE *USERNOTICE_new();
-USERNOTICE *d2i_USERNOTICE();
-void USERNOTICE_free();
-
-int i2d_NOTICEREF();
-NOTICEREF *NOTICEREF_new();
-NOTICEREF *d2i_NOTICEREF();
-void NOTICEREF_free();
-
-char * X509V3_get_string();
-STACK * X509V3_get_section();
-void X509V3_string_free();
-void X509V3_section_free();
-void X509V3_set_ctx();
-
-int X509V3_add_value();
-int X509V3_add_value_bool();
-int X509V3_add_value_int();
-char *i2s_ASN1_INTEGER();
-ASN1_INTEGER * s2i_ASN1_INTEGER();
-char * i2s_ASN1_ENUMERATED();
-char * i2s_ASN1_ENUMERATED_TABLE();
-int X509V3_EXT_add();
-int X509V3_EXT_CRL_add_conf();
-int X509V3_EXT_add_alias();
-void X509V3_EXT_cleanup();
-
-X509V3_EXT_METHOD *X509V3_EXT_get();
-X509V3_EXT_METHOD *X509V3_EXT_get_nid();
-int X509V3_add_standard_extensions();
-STACK *X509V3_parse_list();
-char *X509V3_EXT_d2i();
-
-char *hex_to_string();
-unsigned char *string_to_hex();
-int name_cmp();
-
-int X509V3_EXT_print();
-int X509V3_EXT_print_fp();
-#endif
-
/* BEGIN ERROR CODES */
+/* The following lines are auto generated by the script mkerr.pl. Any changes
+ * made after this point may be overwritten when the script is next run.
+ */
+
/* Error codes for the X509V3 functions. */
/* Function codes. */
#define X509V3_F_HEX_TO_STRING 111
#define X509V3_F_I2S_ASN1_ENUMERATED 121
#define X509V3_F_I2S_ASN1_INTEGER 120
+#define X509V3_F_NOTICE_SECTION 132
+#define X509V3_F_NREF_NOS 133
+#define X509V3_F_POLICY_SECTION 131
#define X509V3_F_R2I_CERTPOL 130
#define X509V3_F_S2I_ASN1_IA5STRING 100
#define X509V3_F_S2I_ASN1_INTEGER 108
#define X509V3_F_V2I_ASN1_BIT_STRING 101
#define X509V3_F_V2I_AUTHORITY_KEYID 119
#define X509V3_F_V2I_BASIC_CONSTRAINTS 102
+#define X509V3_F_V2I_CRLD 134
#define X509V3_F_V2I_EXT_KU 103
#define X509V3_F_V2I_GENERAL_NAME 117
#define X509V3_F_V2I_GENERAL_NAMES 118
#define X509V3_R_DUPLICATE_ZONE_ID 133
#define X509V3_R_ERROR_CONVERTING_ZONE 131
#define X509V3_R_ERROR_IN_EXTENSION 128
+#define X509V3_R_EXPECTED_A_SECTION_NAME 137
#define X509V3_R_EXTENSION_NAME_ERROR 115
#define X509V3_R_EXTENSION_NOT_FOUND 102
#define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103
#define X509V3_R_INVALID_NULL_ARGUMENT 107
#define X509V3_R_INVALID_NULL_NAME 108
#define X509V3_R_INVALID_NULL_VALUE 109
+#define X509V3_R_INVALID_NUMBER 140
+#define X509V3_R_INVALID_NUMBERS 141
#define X509V3_R_INVALID_OBJECT_IDENTIFIER 110
+#define X509V3_R_INVALID_OPTION 138
#define X509V3_R_INVALID_POLICY_IDENTIFIER 134
#define X509V3_R_INVALID_SECTION 135
#define X509V3_R_ISSUER_DECODE_ERROR 126
#define X509V3_R_MISSING_VALUE 124
+#define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142
#define X509V3_R_NO_CONFIG_DATABASE 136
#define X509V3_R_NO_ISSUER_CERTIFICATE 121
#define X509V3_R_NO_ISSUER_DETAILS 127
+#define X509V3_R_NO_POLICY_IDENTIFIER 139
#define X509V3_R_NO_PUBLIC_KEY 114
#define X509V3_R_NO_SUBJECT_DETAILS 125
#define X509V3_R_ODD_NUMBER_OF_DIGITS 112
#define X509V3_R_UNKNOWN_OPTION 120
#define X509V3_R_UNSUPPORTED_OPTION 117
#define X509V3_R_USER_TOO_LONG 132
-
+
#ifdef __cplusplus
}
#endif