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

📄 evp.h

📁 Marvell ISP wireless wpa_supplicant application
💻 H
📖 第 1 页 / 共 3 页
字号:
#define EVP_PKEY_RSA_method	EVP_PKEY_NULL_method#define EVP_PKEY_RSA_ASN1_OCTET_STRING_method EVP_PKEY_NULL_method#endif#endif /* !EVP_MD */struct env_md_ctx_st	{	const EVP_MD *digest;	ENGINE *engine; /* functional reference if 'digest' is ENGINE-provided */	unsigned long flags;	void *md_data;	} /* EVP_MD_CTX */;/* values for EVP_MD_CTX flags */#define EVP_MD_CTX_FLAG_ONESHOT		0x0001 /* digest update will be called						* once only */#define EVP_MD_CTX_FLAG_CLEANED		0x0002 /* context has already been						* cleaned */#define EVP_MD_CTX_FLAG_REUSE		0x0004 /* Don't free up ctx->md_data						* in EVP_MD_CTX_cleanup */struct evp_cipher_st	{	int nid;	int block_size;	int key_len;		/* Default value for variable length ciphers */	int iv_len;	unsigned long flags;	/* Various flags */	int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key,		    const unsigned char *iv, int enc);	/* init key */	int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out,			 const unsigned char *in, unsigned int inl);/* encrypt/decrypt data */	int (*cleanup)(EVP_CIPHER_CTX *); /* cleanup ctx */	int ctx_size;		/* how big ctx->cipher_data needs to be */	int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *); /* Populate a ASN1_TYPE with parameters */	int (*get_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *); /* Get parameters from a ASN1_TYPE */	int (*ctrl)(EVP_CIPHER_CTX *, int type, int arg, void *ptr); /* Miscellaneous operations */	void *app_data;		/* Application data */	} /* EVP_CIPHER */;/* Values for cipher flags *//* Modes for ciphers */#define		EVP_CIPH_STREAM_CIPHER		0x0#define		EVP_CIPH_ECB_MODE		0x1#define		EVP_CIPH_CBC_MODE		0x2#define		EVP_CIPH_CFB_MODE		0x3#define		EVP_CIPH_OFB_MODE		0x4#define 	EVP_CIPH_MODE			0x7/* Set if variable length cipher */#define 	EVP_CIPH_VARIABLE_LENGTH	0x8/* Set if the iv handling should be done by the cipher itself */#define 	EVP_CIPH_CUSTOM_IV		0x10/* Set if the cipher's init() function should be called if key is NULL */#define 	EVP_CIPH_ALWAYS_CALL_INIT	0x20/* Call ctrl() to init cipher parameters */#define 	EVP_CIPH_CTRL_INIT		0x40/* Don't use standard key length function */#define 	EVP_CIPH_CUSTOM_KEY_LENGTH	0x80/* Don't use standard block padding */#define 	EVP_CIPH_NO_PADDING		0x100/* ctrl() values */#define		EVP_CTRL_INIT			0x0#define 	EVP_CTRL_SET_KEY_LENGTH		0x1#define 	EVP_CTRL_GET_RC2_KEY_BITS	0x2#define 	EVP_CTRL_SET_RC2_KEY_BITS	0x3#define 	EVP_CTRL_GET_RC5_ROUNDS		0x4#define 	EVP_CTRL_SET_RC5_ROUNDS		0x5typedef struct evp_cipher_info_st	{	const EVP_CIPHER *cipher;	unsigned char iv[EVP_MAX_IV_LENGTH];	} EVP_CIPHER_INFO;struct evp_cipher_ctx_st	{	const EVP_CIPHER *cipher;	ENGINE *engine;	/* functional reference if 'cipher' is ENGINE-provided */	int encrypt;		/* encrypt or decrypt */	int buf_len;		/* number we have left */	unsigned char  oiv[EVP_MAX_IV_LENGTH];	/* original iv */	unsigned char  iv[EVP_MAX_IV_LENGTH];	/* working iv */	unsigned char buf[EVP_MAX_BLOCK_LENGTH];/* saved partial block */	int num;				/* used by cfb/ofb mode */	void *app_data;		/* application stuff */	int key_len;		/* May change for variable length cipher */	unsigned long flags;	/* Various flags */	void *cipher_data; /* per EVP data */	int final_used;	int block_mask;	unsigned char final[EVP_MAX_BLOCK_LENGTH];/* possible final block */	} /* EVP_CIPHER_CTX */;typedef struct evp_Encode_Ctx_st	{	int num;	/* number saved in a partial encode/decode */	int length;	/* The length is either the output line length			 * (in input bytes) or the shortest input line			 * length that is ok.  Once decoding begins,			 * the length is adjusted up each time a longer			 * line is decoded */	unsigned char enc_data[80];	/* data to encode */	int line_num;	/* number read on current line */	int expect_nl;	} EVP_ENCODE_CTX;/* Password based encryption function */typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,		ASN1_TYPE *param, const EVP_CIPHER *cipher,                const EVP_MD *md, int en_de);#ifndef OPENSSL_NO_RSA#define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\					(char *)(rsa))#endif#ifndef OPENSSL_NO_DSA#define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\					(char *)(dsa))#endif#ifndef OPENSSL_NO_DH#define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\					(char *)(dh))#endif/* Add some extra combinations */#define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))#define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))#define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a))#define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a))#define EVP_MD_type(e)			((e)->type)#define EVP_MD_nid(e)			EVP_MD_type(e)#define EVP_MD_name(e)			OBJ_nid2sn(EVP_MD_nid(e))#define EVP_MD_pkey_type(e)		((e)->pkey_type)#define EVP_MD_size(e)			((e)->md_size)#define EVP_MD_block_size(e)		((e)->block_size)#define EVP_MD_CTX_md(e)		((e)->digest)#define EVP_MD_CTX_size(e)		EVP_MD_size((e)->digest)#define EVP_MD_CTX_block_size(e)	EVP_MD_block_size((e)->digest)#define EVP_MD_CTX_type(e)		EVP_MD_type((e)->digest)#define EVP_CIPHER_nid(e)		((e)->nid)#define EVP_CIPHER_name(e)		OBJ_nid2sn(EVP_CIPHER_nid(e))#define EVP_CIPHER_block_size(e)	((e)->block_size)#define EVP_CIPHER_key_length(e)	((e)->key_len)#define EVP_CIPHER_iv_length(e)		((e)->iv_len)#define EVP_CIPHER_flags(e)		((e)->flags)#define EVP_CIPHER_mode(e)		(((e)->flags) & EVP_CIPH_MODE)#define EVP_CIPHER_CTX_cipher(e)	((e)->cipher)#define EVP_CIPHER_CTX_nid(e)		((e)->cipher->nid)#define EVP_CIPHER_CTX_block_size(e)	((e)->cipher->block_size)#define EVP_CIPHER_CTX_key_length(e)	((e)->key_len)#define EVP_CIPHER_CTX_iv_length(e)	((e)->cipher->iv_len)#define EVP_CIPHER_CTX_get_app_data(e)	((e)->app_data)#define EVP_CIPHER_CTX_set_app_data(e,d) ((e)->app_data=(char *)(d))#define EVP_CIPHER_CTX_type(c)         EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c))#define EVP_CIPHER_CTX_flags(e)		((e)->cipher->flags)#define EVP_CIPHER_CTX_mode(e)		((e)->cipher->flags & EVP_CIPH_MODE)#define EVP_ENCODE_LENGTH(l)	(((l+2)/3*4)+(l/48+1)*2+80)#define EVP_DECODE_LENGTH(l)	((l+3)/4*3+80)#define EVP_SignInit_ex(a,b,c)		EVP_DigestInit_ex(a,b,c)#define EVP_SignInit(a,b)		EVP_DigestInit(a,b)#define EVP_SignUpdate(a,b,c)		EVP_DigestUpdate(a,b,c)#define	EVP_VerifyInit_ex(a,b,c)	EVP_DigestInit_ex(a,b,c)#define	EVP_VerifyInit(a,b)		EVP_DigestInit(a,b)#define	EVP_VerifyUpdate(a,b,c)		EVP_DigestUpdate(a,b,c)#define EVP_OpenUpdate(a,b,c,d,e)	EVP_DecryptUpdate(a,b,c,d,e)#define EVP_SealUpdate(a,b,c,d,e)	EVP_EncryptUpdate(a,b,c,d,e)	#ifdef CONST_STRICTvoid BIO_set_md(BIO *,const EVP_MD *md);#else# define BIO_set_md(b,md)		BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md)#endif#define BIO_get_md(b,mdp)		BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp)#define BIO_get_md_ctx(b,mdcp)     BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp)#define BIO_set_md_ctx(b,mdcp)     BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp)#define BIO_get_cipher_status(b)	BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL)#define BIO_get_cipher_ctx(b,c_pp)	BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp)#define	EVP_Cipher(c,o,i,l)	(c)->cipher->do_cipher((c),(o),(i),(l))#define EVP_add_cipher_alias(n,alias) \	OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n))#define EVP_add_digest_alias(n,alias) \	OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n))#define EVP_delete_cipher_alias(alias) \	OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS);#define EVP_delete_digest_alias(alias) \	OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS);void	EVP_MD_CTX_init(EVP_MD_CTX *ctx);int	EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx);EVP_MD_CTX *EVP_MD_CTX_create(void);void	EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);int     EVP_MD_CTX_copy_ex(EVP_MD_CTX *out,const EVP_MD_CTX *in);  #define EVP_MD_CTX_set_flags(ctx,flgs) ((ctx)->flags|=(flgs))#define EVP_MD_CTX_clear_flags(ctx,flgs) ((ctx)->flags&=~(flgs))#define EVP_MD_CTX_test_flags(ctx,flgs) ((ctx)->flags&(flgs))int	EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);int	EVP_DigestUpdate(EVP_MD_CTX *ctx,const void *d,			 unsigned int cnt);int	EVP_DigestFinal_ex(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s);int	EVP_Digest(void *data, unsigned int count,		unsigned char *md, unsigned int *size, const EVP_MD *type, ENGINE *impl);int     EVP_MD_CTX_copy(EVP_MD_CTX *out,const EVP_MD_CTX *in);  int	EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);int	EVP_DigestFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s);int	EVP_read_pw_string(char *buf,int length,const char *prompt,int verify);void	EVP_set_pw_prompt(char *prompt);char *	EVP_get_pw_prompt(void);int	EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md,		const unsigned char *salt, const unsigned char *data,		int datal, int count, unsigned char *key,unsigned char *iv);int	EVP_EncryptInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher,		const unsigned char *key, const unsigned char *iv);int	EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl,		const unsigned char *key, const unsigned char *iv);int	EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,		int *outl, const unsigned char *in, int inl);int	EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);int	EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);int	EVP_DecryptInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher,		const unsigned char *key, const unsigned char *iv);int	EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl,		const unsigned char *key, const unsigned char *iv);int	EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,		int *outl, const unsigned char *in, int inl);int	EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);int	EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);int	EVP_CipherInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher,		       const unsigned char *key,const unsigned char *iv,		       int enc);int	EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl,		       const unsigned char *key,const unsigned char *iv,		       int enc);int	EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,		int *outl, const unsigned char *in, int inl);int	EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);int	EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);int	EVP_SignFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s,		EVP_PKEY *pkey);int	EVP_VerifyFinal(EVP_MD_CTX *ctx,unsigned char *sigbuf,		unsigned int siglen,EVP_PKEY *pkey);int	EVP_OpenInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *type,unsigned char *ek,		int ekl,unsigned char *iv,EVP_PKEY *priv);int	EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);int	EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, unsigned char **ek,		int *ekl, unsigned char *iv,EVP_PKEY **pubk, int npubk);int	EVP_SealFinal(EVP_CIPHER_CTX *ctx,unsigned char *out,int *outl);void	EVP_EncodeInit(EVP_ENCODE_CTX *ctx);void	EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx,unsigned char *out,		int *outl,unsigned char *in,int inl);void	EVP_EncodeFinal(EVP_ENCODE_CTX *ctx,unsigned char *out,int *outl);int	EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);void	EVP_DecodeInit(EVP_ENCODE_CTX *ctx);int	EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx,unsigned char *out,int *outl,		unsigned char *in, int inl);int	EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned		char *out, int *outl);int	EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a);int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a);int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad);int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);#ifndef OPENSSL_NO_BIOBIO_METHOD *BIO_f_md(void);BIO_METHOD *BIO_f_base64(void);BIO_METHOD *BIO_f_cipher(void);BIO_METHOD *BIO_f_reliable(void);void BIO_set_cipher(BIO *b,const EVP_CIPHER *c,unsigned char *k,	unsigned char *i, int enc);#endifconst EVP_MD *EVP_md_null(void);#ifndef OPENSSL_NO_MD2const EVP_MD *EVP_md2(void);#endif#ifndef OPENSSL_NO_MD4const EVP_MD *EVP_md4(void);#endif#ifndef OPENSSL_NO_MD5

⌨️ 快捷键说明

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