www.pudn.com > CA.rar > Evp.h
#define MAX_MD_SIZE (16+20) /* The SSLv3 md5+sha1 type */ #define DER 1 //FORMAT_ASN1 #define PEM 3 /*定义格式*/ #define P12 5 typedef void (* PDrawProg)(int pos); /*对称算法*/ bool Crypt(char * cpname/*算法名称*/,char * filein/*输入文件*/, char * fileout/*输出文件*/, char * pwd/*用于初始iv的密码*/, int type/*1-加密、0-解密*/,char * outMsg, PDrawProg DrawProg=NULL); /*消息摘要*/ bool Digest(char * mdname/*摘要算法*/,char * filein/*输入文件*/,unsigned char * md_value/*返回摘要*/, unsigned int * md_len/*摘要长度*/, char * outMsg,PDrawProg DrawProg=NULL/*回调函数*/); /*数字签名*/ bool Sign(char * key/*私钥*/,int keylen/*0-内存内容*/,char * mdname/*签名算法*/, char * filein/*输入文件*/,char * fileout/*输出文件*/,char * outMsg, PDrawProg DrawProg=NULL/*回调函数*/); /*数字签名验证*/ bool VerifySign(char * cert/*公钥*/,int certlen,char * mdname/*签名算法*/,char * filesource,/*原始文件*/ char * filesign/*签名结果*/,char * outMsg,PDrawProg DrawProg=NULL/*回调函数*/); /*数字信封*/ bool Seal(char * cert/*公钥*/,int certlen,char * cpname/*算法名称*/,char * filein/*输入文件*/, char * fileout/*输出文件*/,char * outMsg,PDrawProg DrawProg=NULL/*回调函数*/); /*拆封数字信封*/ bool OpenSeal(char * key/*私钥*/,int keylen,char * cpname/*算法名称*/,char * filein/*输入文件*/, char * fileout/*输出文件*/,char * outMsg,PDrawProg DrawProg=NULL/*回调函数*/); //公钥加密 bool RSAEnc(char * cert/*公钥*/,int certlen,char * filein/*输入文件*/, char * fileout/*输出文件*/,char * outMsg,PDrawProg DrawProg=NULL/*回调函数*/); //私钥解密 int RSADec(char * key,int keylen,char * filein/*输入文件*/, char * fileout/*输出文件*/,char * outMsg,PDrawProg DrawProg=NULL/*回调函数*/);