⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asn1.h

📁 openssl是ssl的开源项目
💻 H
📖 第 1 页 / 共 2 页
字号:
ASN1_INTEGER *d2i_ASN1_INTEGER(ASN1_INTEGER **a,unsigned char **pp,			long length);int ASN1_UTCTIME_check(ASN1_UTCTIME *a);ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s,time_t t);int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, char *str); int		i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a,unsigned char **pp);ASN1_OCTET_STRING *d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a,			unsigned char **pp,long length);int i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **pp);ASN1_BMPSTRING *d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, unsigned char **pp,	long length);int i2d_ASN1_PRINTABLE(ASN1_STRING *a,unsigned char **pp);ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a,	unsigned char **pp, long l);ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a,	unsigned char **pp, long l);ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a,	unsigned char **pp, long l);int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a,unsigned char **pp);ASN1_IA5STRING *d2i_ASN1_IA5STRING(ASN1_IA5STRING **a,	unsigned char **pp, long l);int		i2d_ASN1_UTCTIME(ASN1_UTCTIME *a,unsigned char **pp);ASN1_UTCTIME *	d2i_ASN1_UTCTIME(ASN1_UTCTIME **a,unsigned char **pp,			long length);int		i2d_ASN1_SET(STACK *a, unsigned char **pp,			int (*func)(), int ex_tag, int ex_class);STACK *		d2i_ASN1_SET(STACK **a, unsigned char **pp, long length,			char *(*func)(), void (*free_func)(),			int ex_tag, int ex_class);#ifdef HEADER_BIO_Hint i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a);int a2i_ASN1_INTEGER(BIO *bp,ASN1_INTEGER *bs,char *buf,int size);int i2a_ASN1_OBJECT(BIO *bp,ASN1_OBJECT *a);int a2i_ASN1_STRING(BIO *bp,ASN1_STRING *bs,char *buf,int size);int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type);#endifint i2t_ASN1_OBJECT(char *buf,int buf_len,ASN1_OBJECT *a);int a2d_ASN1_OBJECT(unsigned char *out,int olen, char *buf, int num);ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data,int len,	char *sn, char *ln);int ASN1_INTEGER_set(ASN1_INTEGER *a, long v);long ASN1_INTEGER_get(ASN1_INTEGER *a);ASN1_INTEGER *BN_to_ASN1_INTEGER(BIGNUM *bn, ASN1_INTEGER *ai);BIGNUM *ASN1_INTEGER_to_BN(ASN1_INTEGER *ai,BIGNUM *bn);/* General *//* given a string, return the correct type, max is the maximum length */int ASN1_PRINTABLE_type(unsigned char *s, int max);int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass);ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, unsigned char **pp,	long length, int Ptag, int Pclass);/* type is one or more of the B_ASN1_ values. */ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a,unsigned char **pp,		long length,int type);/* PARSING */int asn1_Finish(ASN1_CTX *c);/* SPECIALS */int ASN1_get_object(unsigned char **pp, long *plength, int *ptag,	int *pclass, long omax);int ASN1_check_infinite_end(unsigned char **p,long len);void ASN1_put_object(unsigned char **pp, int constructed, int length,	int tag, int xclass);int ASN1_object_size(int constructed, int length, int tag);/* Used to implement other functions */char *ASN1_dup(int (*i2d)(),char *(*d2i)(),char *x);#ifndef NO_FP_APIchar *ASN1_d2i_fp(char *(*xnew)(),char *(*d2i)(),FILE *fp,unsigned char **x);int ASN1_i2d_fp(int (*i2d)(),FILE *out,unsigned char *x);#endif#ifdef HEADER_BIO_Hchar *ASN1_d2i_bio(char *(*xnew)(),char *(*d2i)(),BIO *bp,unsigned char **x);int ASN1_i2d_bio(int (*i2d)(),BIO *out,unsigned char *x);int ASN1_UTCTIME_print(BIO *fp,ASN1_UTCTIME *a);int ASN1_STRING_print(BIO *bp,ASN1_STRING *v);int ASN1_parse(BIO *bp,unsigned char *pp,long len,int indent);#endif/* Used to load and write netscape format cert/key */int i2d_ASN1_HEADER(ASN1_HEADER *a,unsigned char **pp);ASN1_HEADER *d2i_ASN1_HEADER(ASN1_HEADER **a,unsigned char **pp, long length);ASN1_HEADER *ASN1_HEADER_new(void );void ASN1_HEADER_free(ASN1_HEADER *a);int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s);void ERR_load_ASN1_strings(void);/* Not used that much at this point, except for the first two */ASN1_METHOD *X509_asn1_meth(void);ASN1_METHOD *RSAPrivateKey_asn1_meth(void);ASN1_METHOD *ASN1_IA5STRING_asn1_meth(void);ASN1_METHOD *ASN1_BIT_STRING_asn1_meth(void);int ASN1_TYPE_set_octetstring(ASN1_TYPE *a,	unsigned char *data, int len);int ASN1_TYPE_get_octetstring(ASN1_TYPE *a,	unsigned char *data, int max_len);int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num,	unsigned char *data, int len);int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a,long *num,	unsigned char *data, int max_len);#elseASN1_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 ASN1_UTCTIME_check();ASN1_UTCTIME *ASN1_UTCTIME_set();int ASN1_UTCTIME_set_string();int		i2d_ASN1_OCTET_STRING();ASN1_OCTET_STRING *d2i_ASN1_OCTET_STRING();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_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_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_APIchar *ASN1_d2i_fp();int ASN1_i2d_fp();#endifchar *ASN1_d2i_bio();int ASN1_i2d_bio();int ASN1_UTCTIME_print();int ASN1_STRING_print();int ASN1_parse();int i2a_ASN1_INTEGER();int a2i_ASN1_INTEGER();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();#endif/* BEGIN ERROR CODES *//* Error codes for the ASN1 functions. *//* Function codes. */#define ASN1_F_A2D_ASN1_OBJECT				 100#define ASN1_F_A2I_ASN1_INTEGER				 101#define ASN1_F_A2I_ASN1_STRING				 102#define ASN1_F_ASN1_COLLATE_PRIMATIVE			 103#define ASN1_F_ASN1_D2I_BIO				 104#define ASN1_F_ASN1_D2I_FP				 105#define ASN1_F_ASN1_DUP					 106#define ASN1_F_ASN1_GET_OBJECT				 107#define ASN1_F_ASN1_HEADER_NEW				 108#define ASN1_F_ASN1_I2D_BIO				 109#define ASN1_F_ASN1_I2D_FP				 110#define ASN1_F_ASN1_INTEGER_SET				 111#define ASN1_F_ASN1_INTEGER_TO_BN			 112#define ASN1_F_ASN1_OBJECT_NEW				 113#define ASN1_F_ASN1_SIGN				 114#define ASN1_F_ASN1_STRING_NEW				 115#define ASN1_F_ASN1_STRING_TYPE_NEW			 116#define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING		 117#define ASN1_F_ASN1_TYPE_GET_OCTETSTRING		 118#define ASN1_F_ASN1_TYPE_NEW				 119#define ASN1_F_ASN1_UTCTIME_NEW				 120#define ASN1_F_ASN1_VERIFY				 121#define ASN1_F_BN_TO_ASN1_INTEGER			 122#define ASN1_F_D2I_ASN1_BIT_STRING			 123#define ASN1_F_D2I_ASN1_BMPSTRING			 124#define ASN1_F_D2I_ASN1_BOOLEAN				 125#define ASN1_F_D2I_ASN1_BYTES				 126#define ASN1_F_D2I_ASN1_HEADER				 127#define ASN1_F_D2I_ASN1_INTEGER				 128#define ASN1_F_D2I_ASN1_OBJECT				 129#define ASN1_F_D2I_ASN1_OCTET_STRING			 130#define ASN1_F_D2I_ASN1_PRINT_TYPE			 131#define ASN1_F_D2I_ASN1_SET				 132#define ASN1_F_D2I_ASN1_TYPE				 133#define ASN1_F_D2I_ASN1_TYPE_BYTES			 134#define ASN1_F_D2I_ASN1_UTCTIME				 135#define ASN1_F_D2I_DHPARAMS				 136#define ASN1_F_D2I_DSAPARAMS				 137#define ASN1_F_D2I_DSAPRIVATEKEY			 138#define ASN1_F_D2I_DSAPUBLICKEY				 139#define ASN1_F_D2I_NETSCAPE_PKEY			 140#define ASN1_F_D2I_NETSCAPE_RSA				 141#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_PKCS7				 145#define ASN1_F_D2I_PKCS7_DIGEST				 146#define ASN1_F_D2I_PKCS7_ENCRYPT			 147#define ASN1_F_D2I_PKCS7_ENC_CONTENT			 148#define ASN1_F_D2I_PKCS7_ENVELOPE			 149#define ASN1_F_D2I_PKCS7_ISSUER_AND_SERIAL		 150#define ASN1_F_D2I_PKCS7_RECIP_INFO			 151#define ASN1_F_D2I_PKCS7_SIGNED				 152#define ASN1_F_D2I_PKCS7_SIGNER_INFO			 153#define ASN1_F_D2I_PKCS7_SIGN_ENVELOPE			 154#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_X509					 159#define ASN1_F_D2I_X509_ALGOR				 160#define ASN1_F_D2I_X509_ATTRIBUTE			 161#define ASN1_F_D2I_X509_CINF				 162#define ASN1_F_D2I_X509_CRL				 163#define ASN1_F_D2I_X509_CRL_INFO			 164#define ASN1_F_D2I_X509_EXTENSION			 165#define ASN1_F_D2I_X509_KEY				 166#define ASN1_F_D2I_X509_NAME				 167#define ASN1_F_D2I_X509_NAME_ENTRY			 168#define ASN1_F_D2I_X509_PKEY				 169#define ASN1_F_D2I_X509_PUBKEY				 170#define ASN1_F_D2I_X509_REQ				 171#define ASN1_F_D2I_X509_REQ_INFO			 172#define ASN1_F_D2I_X509_REVOKED				 173#define ASN1_F_D2I_X509_SIG				 174#define ASN1_F_D2I_X509_VAL				 175#define ASN1_F_I2D_ASN1_HEADER				 176#define ASN1_F_I2D_DHPARAMS				 177#define ASN1_F_I2D_DSAPARAMS				 178#define ASN1_F_I2D_DSAPRIVATEKEY			 179#define ASN1_F_I2D_DSAPUBLICKEY				 180#define ASN1_F_I2D_NETSCAPE_RSA				 181#define ASN1_F_I2D_PKCS7				 182#define ASN1_F_I2D_PRIVATEKEY				 183#define ASN1_F_I2D_PUBLICKEY				 184#define ASN1_F_I2D_RSAPRIVATEKEY			 185#define ASN1_F_I2D_RSAPUBLICKEY				 186#define ASN1_F_I2D_X509_ATTRIBUTE			 187#define ASN1_F_I2T_ASN1_OBJECT				 188#define ASN1_F_NETSCAPE_PKEY_NEW			 189#define ASN1_F_NETSCAPE_SPKAC_NEW			 190#define ASN1_F_NETSCAPE_SPKI_NEW			 191#define ASN1_F_PKCS7_DIGEST_NEW				 192#define ASN1_F_PKCS7_ENCRYPT_NEW			 193#define ASN1_F_PKCS7_ENC_CONTENT_NEW			 194#define ASN1_F_PKCS7_ENVELOPE_NEW			 195#define ASN1_F_PKCS7_ISSUER_AND_SERIAL_NEW		 196#define ASN1_F_PKCS7_NEW				 197#define ASN1_F_PKCS7_RECIP_INFO_NEW			 198#define ASN1_F_PKCS7_SIGNED_NEW				 199#define ASN1_F_PKCS7_SIGNER_INFO_NEW			 200#define ASN1_F_PKCS7_SIGN_ENVELOPE_NEW			 201#define ASN1_F_X509_ALGOR_NEW				 202#define ASN1_F_X509_ATTRIBUTE_NEW			 203#define ASN1_F_X509_CINF_NEW				 204#define ASN1_F_X509_CRL_INFO_NEW			 205#define ASN1_F_X509_CRL_NEW				 206#define ASN1_F_X509_DHPARAMS_NEW			 207#define ASN1_F_X509_EXTENSION_NEW			 208#define ASN1_F_X509_INFO_NEW				 209#define ASN1_F_X509_KEY_NEW				 210#define ASN1_F_X509_NAME_ENTRY_NEW			 211#define ASN1_F_X509_NAME_NEW				 212#define ASN1_F_X509_NEW					 213#define ASN1_F_X509_PKEY_NEW				 214#define ASN1_F_X509_PUBKEY_NEW				 215#define ASN1_F_X509_REQ_INFO_NEW			 216#define ASN1_F_X509_REQ_NEW				 217#define ASN1_F_X509_REVOKED_NEW				 218#define ASN1_F_X509_SIG_NEW				 219#define ASN1_F_X509_VAL_FREE				 220#define ASN1_F_X509_VAL_NEW				 221/* Reason codes. */#define ASN1_R_BAD_CLASS				 100#define ASN1_R_BAD_OBJECT_HEADER			 101#define ASN1_R_BAD_PASSWORD_READ			 102#define ASN1_R_BAD_PKCS7_CONTENT			 103#define ASN1_R_BAD_PKCS7_TYPE				 104#define ASN1_R_BAD_TAG					 105#define ASN1_R_BAD_TYPE					 106#define ASN1_R_BN_LIB					 107#define ASN1_R_BOOLEAN_IS_WRONG_LENGTH			 108#define ASN1_R_BUFFER_TOO_SMALL				 109#define ASN1_R_DATA_IS_WRONG				 110#define ASN1_R_DECODING_ERROR				 111#define ASN1_R_ERROR_PARSING_SET_ELEMENT		 112#define ASN1_R_EXPECTING_AN_INTEGER			 113#define ASN1_R_EXPECTING_AN_OBJECT			 114#define ASN1_R_EXPECTING_AN_OCTET_STRING		 115#define ASN1_R_EXPECTING_A_BIT_STRING			 116#define ASN1_R_EXPECTING_A_BOOLEAN			 117#define ASN1_R_EXPECTING_A_UTCTIME			 118#define ASN1_R_FIRST_NUM_TOO_LARGE			 119#define ASN1_R_HEADER_TOO_LONG				 120#define ASN1_R_INVALID_DIGIT				 121#define ASN1_R_INVALID_SEPARATOR			 122#define ASN1_R_INVALID_TIME_FORMAT			 123#define ASN1_R_IV_TOO_LARGE				 124#define ASN1_R_LENGTH_ERROR				 125#define ASN1_R_MISSING_SECOND_NUMBER			 126#define ASN1_R_NON_HEX_CHARACTERS			 127#define ASN1_R_NOT_ENOUGH_DATA				 128#define ASN1_R_ODD_NUMBER_OF_CHARS			 129#define ASN1_R_PARSING					 130#define ASN1_R_PRIVATE_KEY_HEADER_MISSING		 131#define ASN1_R_SECOND_NUMBER_TOO_LARGE			 132#define ASN1_R_SHORT_LINE				 133#define ASN1_R_STRING_TOO_SHORT				 134#define ASN1_R_TAG_VALUE_TOO_HIGH			 135#define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 136#define ASN1_R_TOO_LONG					 137#define ASN1_R_UNABLE_TO_DECODE_RSA_KEY			 138#define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY		 139#define ASN1_R_UNKNOWN_ATTRIBUTE_TYPE			 140#define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM		 141#define ASN1_R_UNKNOWN_OBJECT_TYPE			 142#define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE			 143#define ASN1_R_UNSUPPORTED_CIPHER			 144#define ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM		 145#define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE		 146#define ASN1_R_UTCTIME_TOO_LONG				 147#define ASN1_R_WRONG_PRINTABLE_TYPE			 148#define ASN1_R_WRONG_TAG				 149#define ASN1_R_WRONG_TYPE				 150 #ifdef  __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -