#endif
#include <time.h>
-#include "bn.h"
-#include "stack.h"
+#include <openssl/bn.h>
+#include <openssl/stack.h>
#define V_ASN1_UNIVERSAL 0x00
#define V_ASN1_APPLICATION 0x40
#define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08 /* internal use */
typedef struct asn1_object_st
{
- char *sn,*ln;
+ const char *sn,*ln;
int nid;
int length;
unsigned char *data;
B_ASN1_BMPSTRING|\
B_ASN1_UNKNOWN)
+#define DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING)
+#define DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a)
+#define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\
+ pp,a->type,V_ASN1_UNIVERSAL)
+#define M_d2i_DIRECTORYSTRING(a,pp,l) \
+ d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \
+ B_ASN1_PRINTABLESTRING| \
+ B_ASN1_TELETEXSTRING|\
+ B_ASN1_BMPSTRING|\
+ B_ASN1_UNIVERSALSTRING|\
+ B_ASN1_UTF8STRING)
+
+#define DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING)
+#define DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a)
+#define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\
+ pp,a->type,V_ASN1_UNIVERSAL)
+#define M_d2i_DISPLAYTEXT(a,pp,l) \
+ d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \
+ B_ASN1_VISIBLESTRING| \
+ B_ASN1_BMPSTRING|\
+ B_ASN1_UTF8STRING)
+
#define ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\
ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING)
#define ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a)
#define IS_SEQUENCE 0
#define IS_SET 1
-#ifndef NOPROTO
ASN1_TYPE * ASN1_TYPE_new(void );
void ASN1_TYPE_free(ASN1_TYPE *a);
int i2d_ASN1_TYPE(ASN1_TYPE *a,unsigned char **pp);
ASN1_STRING * ASN1_STRING_dup(ASN1_STRING *a);
ASN1_STRING * ASN1_STRING_type_new(int type );
int ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b);
-int ASN1_STRING_set(ASN1_STRING *str,unsigned char *data, int len);
+ /* Since this is used to store all sorts of things, via macros, for now, make
+ its data void * */
+int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len);
int i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a,unsigned char **pp);
ASN1_BIT_STRING *d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a,unsigned char **pp,
ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a,
unsigned char **pp, long l);
+int i2d_DIRECTORYSTRING(ASN1_STRING *a,unsigned char **pp);
+ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a, unsigned char **pp,
+ long length);
+
+int i2d_DISPLAYTEXT(ASN1_STRING *a,unsigned char **pp);
+ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a, unsigned char **pp, long length);
+
ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a,
unsigned char **pp, long l);
int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a,unsigned char **pp);
#endif
int i2t_ASN1_OBJECT(char *buf,int buf_len,ASN1_OBJECT *a);
-int a2d_ASN1_OBJECT(unsigned char *out,int olen, char *buf, int num);
+int a2d_ASN1_OBJECT(unsigned char *out,int olen, const char *buf, int num);
ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data,int len,
char *sn, char *ln);
char *ASN1_unpack_string(ASN1_STRING *oct, char *(*d2i)());
ASN1_STRING *ASN1_pack_string(char *obj, int (*i2d)(), ASN1_OCTET_STRING **oct);
-#else
-
-ASN1_TYPE * ASN1_TYPE_new();
-void ASN1_TYPE_free();
-int i2d_ASN1_TYPE();
-ASN1_TYPE * d2i_ASN1_TYPE();
-int ASN1_TYPE_get();
-void ASN1_TYPE_set();
-
-ASN1_OBJECT * ASN1_OBJECT_new();
-void ASN1_OBJECT_free();
-int i2d_ASN1_OBJECT();
-ASN1_OBJECT * d2i_ASN1_OBJECT();
-ASN1_STRING * ASN1_STRING_new();
-void ASN1_STRING_free();
-ASN1_STRING * ASN1_STRING_dup();
-ASN1_STRING * ASN1_STRING_type_new();
-int ASN1_STRING_cmp();
-int ASN1_STRING_set();
-int i2d_ASN1_BIT_STRING();
-ASN1_BIT_STRING *d2i_ASN1_BIT_STRING();
-int ASN1_BIT_STRING_set_bit();
-int ASN1_BIT_STRING_get_bit();
-int i2d_ASN1_BOOLEAN();
-int d2i_ASN1_BOOLEAN();
-int i2d_ASN1_INTEGER();
-ASN1_INTEGER *d2i_ASN1_INTEGER();
-int i2d_ASN1_ENUMERATED();
-ASN1_INTEGER *d2i_ASN1_ENUMERATED();
-int ASN1_UTCTIME_check();
-ASN1_UTCTIME *ASN1_UTCTIME_set();
-int ASN1_UTCTIME_set_string();
-int ASN1_GENERALIZEDTIME_check();
-ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set();
-int ASN1_GENERALIZEDTIME_set_string();
-int i2d_ASN1_OCTET_STRING();
-ASN1_OCTET_STRING *d2i_ASN1_OCTET_STRING();
-int i2d_ASN1_VISIBLESTRING();
-ASN1_VISIBLESTRING *d2i_ASN1_VISIBLESTRING();
-int i2d_ASN1_UTF8STRING();
-ASN1_UTF8STRING *d2i_ASN1_UTF8STRING();
-int i2d_ASN1_PRINTABLE();
-ASN1_STRING *d2i_ASN1_PRINTABLE();
-ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING();
-ASN1_T61STRING *d2i_ASN1_T61STRING();
-int i2d_ASN1_IA5STRING();
-ASN1_IA5STRING *d2i_ASN1_IA5STRING();
-int i2d_ASN1_UTCTIME();
-ASN1_UTCTIME * d2i_ASN1_UTCTIME();
-int i2d_ASN1_GENERALIZEDTIME();
-ASN1_GENERALIZEDTIME * d2i_ASN1_GENERALIZEDTIME();
-int i2d_ASN1_TIME();
-ASN1_TIME * d2i_ASN1_TIME();
-ASN1_TIME *ASN1_TIME_set();
-int i2d_ASN1_SET();
-STACK * d2i_ASN1_SET();
-int a2d_ASN1_OBJECT();
-ASN1_OBJECT *ASN1_OBJECT_create();
-int ASN1_INTEGER_set();
-long ASN1_INTEGER_get();
-ASN1_INTEGER *BN_to_ASN1_INTEGER();
-BIGNUM *ASN1_INTEGER_to_BN();
-int ASN1_ENUMERATED_set();
-long ASN1_ENUMERATED_get();
-ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED();
-BIGNUM *ASN1_ENUMERATED_to_BN();
-int ASN1_PRINTABLE_type();
-int i2d_ASN1_bytes();
-ASN1_STRING *d2i_ASN1_bytes();
-ASN1_STRING *d2i_ASN1_type_bytes();
-int asn1_Finish();
-int ASN1_get_object();
-int ASN1_check_infinite_end();
-void ASN1_put_object();
-int ASN1_object_size();
-char *ASN1_dup();
-#ifndef NO_FP_API
-char *ASN1_d2i_fp();
-int ASN1_i2d_fp();
-#endif
-
-char *ASN1_d2i_bio();
-int ASN1_i2d_bio();
-int ASN1_UTCTIME_print();
-int ASN1_GENERALIZEDTIME_print();
-int ASN1_TIME_print();
-int ASN1_STRING_print();
-int ASN1_parse();
-int i2a_ASN1_INTEGER();
-int a2i_ASN1_INTEGER();
-int i2a_ASN1_ENUMERATED();
-int a2i_ASN1_ENUMERATED();
-int i2a_ASN1_OBJECT();
-int i2t_ASN1_OBJECT();
-int a2i_ASN1_STRING();
-int i2a_ASN1_STRING();
-
-int i2d_ASN1_HEADER();
-ASN1_HEADER *d2i_ASN1_HEADER();
-ASN1_HEADER *ASN1_HEADER_new();
-void ASN1_HEADER_free();
-void ERR_load_ASN1_strings();
-ASN1_METHOD *X509_asn1_meth();
-ASN1_METHOD *RSAPrivateKey_asn1_meth();
-ASN1_METHOD *ASN1_IA5STRING_asn1_meth();
-ASN1_METHOD *ASN1_BIT_STRING_asn1_meth();
-
-int ASN1_UNIVERSALSTRING_to_string();
-
-int ASN1_TYPE_set_octetstring();
-int ASN1_TYPE_get_octetstring();
-int ASN1_TYPE_set_int_octetstring();
-int ASN1_TYPE_get_int_octetstring();
-
-int i2d_ASN1_BMPSTRING();
-ASN1_BMPSTRING *d2i_ASN1_BMPSTRING();
-
-STACK *ASN1_seq_unpack();
-unsigned char *ASN1_seq_pack();
-char *ASN1_unpack_string();
-ASN1_STRING *ASN1_pack_string();
-
-#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 ASN1 functions. */
/* Function codes. */
#define ASN1_F_D2I_AUTHORITY_KEYID 238
#define ASN1_F_D2I_BASIC_CONSTRAINTS 227
#define ASN1_F_D2I_DHPARAMS 136
+#define ASN1_F_D2I_DIST_POINT 276
+#define ASN1_F_D2I_DIST_POINT_NAME 277
#define ASN1_F_D2I_DSAPARAMS 137
#define ASN1_F_D2I_DSAPRIVATEKEY 138
#define ASN1_F_D2I_DSAPUBLICKEY 139
#define ASN1_F_D2I_NETSCAPE_RSA_2 142
#define ASN1_F_D2I_NETSCAPE_SPKAC 143
#define ASN1_F_D2I_NETSCAPE_SPKI 144
+#define ASN1_F_D2I_NOTICEREF 268
#define ASN1_F_D2I_PBE2PARAM 262
#define ASN1_F_D2I_PBEPARAM 249
#define ASN1_F_D2I_PBKDF2PARAM 263
#define ASN1_F_D2I_PKCS7_SIGN_ENVELOPE 154
#define ASN1_F_D2I_PKCS8_PRIV_KEY_INFO 250
#define ASN1_F_D2I_PKEY_USAGE_PERIOD 239
+#define ASN1_F_D2I_POLICYINFO 269
+#define ASN1_F_D2I_POLICYQUALINFO 270
#define ASN1_F_D2I_PRIVATEKEY 155
#define ASN1_F_D2I_PUBLICKEY 156
#define ASN1_F_D2I_RSAPRIVATEKEY 157
#define ASN1_F_D2I_RSAPUBLICKEY 158
#define ASN1_F_D2I_SXNET 241
#define ASN1_F_D2I_SXNETID 243
+#define ASN1_F_D2I_USERNOTICE 271
#define ASN1_F_D2I_X509 159
#define ASN1_F_D2I_X509_ALGOR 160
#define ASN1_F_D2I_X509_ATTRIBUTE 161
#define ASN1_F_D2I_X509_REVOKED 173
#define ASN1_F_D2I_X509_SIG 174
#define ASN1_F_D2I_X509_VAL 175
+#define ASN1_F_DIST_POINT_NAME_NEW 278
+#define ASN1_F_DIST_POINT_NEW 279
#define ASN1_F_GENERAL_NAME_NEW 231
#define ASN1_F_I2D_ASN1_HEADER 176
#define ASN1_F_I2D_ASN1_TIME 225
#define ASN1_F_NETSCAPE_PKEY_NEW 189
#define ASN1_F_NETSCAPE_SPKAC_NEW 190
#define ASN1_F_NETSCAPE_SPKI_NEW 191
+#define ASN1_F_NOTICEREF_NEW 272
#define ASN1_F_PBE2PARAM_NEW 264
#define ASN1_F_PBEPARAM_NEW 251
#define ASN1_F_PBKDF2PARAM_NEW 265
#define ASN1_F_PKCS7_SIGN_ENVELOPE_NEW 201
#define ASN1_F_PKCS8_PRIV_KEY_INFO_NEW 252
#define ASN1_F_PKEY_USAGE_PERIOD_NEW 240
+#define ASN1_F_POLICYINFO_NEW 273
+#define ASN1_F_POLICYQUALINFO_NEW 274
#define ASN1_F_SXNETID_NEW 244
#define ASN1_F_SXNET_NEW 242
+#define ASN1_F_USERNOTICE_NEW 275
#define ASN1_F_X509_ALGOR_NEW 202
#define ASN1_F_X509_ATTRIBUTE_NEW 203
#define ASN1_F_X509_CINF_NEW 204
#define ASN1_R_WRONG_PRINTABLE_TYPE 148
#define ASN1_R_WRONG_TAG 149
#define ASN1_R_WRONG_TYPE 150
-
+
#ifdef __cplusplus
}
#endif