openssl之EVP系列之11---EVP_Verify系列函数介绍
---根据openssl doc/crypto/EVP_VerifyInit.pod翻译和自己的理解写成
(作者:DragonKing, Mail: [email protected] ,发布于:http://openssl.126.com之openssl专业论坛,版本:openssl-0.9.7)
跟EVP_Sign系列函数一样,EVP_Verify系列函数的前两步(初始化和信息摘要处理)跟信息摘要算法是一样的,因为签名验证的过程就是先对信息进行信息摘要,然后再将发来的摘要信息解密后进行比较的过程,其定义如下(openssl/evp.h):
int EVP_VerifyInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
int EVP_VerifyUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt);
int EVP_VerifyFinal(EVP_MD_CTX *ctx,unsigned char *sigbuf, unsigned int siglen,EVP_PKEY *pkey);
int EVP_VerifyInit(EVP_MD_CTX *ctx, const EVP_MD *type);
【EVP_VerifyInit_ex】
该函数是一个宏定义函数,其实际定义如下:
#define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
所以,其功能和使用方法跟前面介绍的EVP_DigestInit_ex函
---根据openssl doc/crypto/EVP_VerifyInit.pod翻译和自己的理解写成
(作者:DragonKing, Mail: [email protected] ,发布于:http://openssl.126.com之openssl专业论坛,版本:openssl-0.9.7)
跟EVP_Sign系列函数一样,EVP_Verify系列函数的前两步(初始化和信息摘要处理)跟信息摘要算法是一样的,因为签名验证的过程就是先对信息进行信息摘要,然后再将发来的摘要信息解密后进行比较的过程,其定义如下(openssl/evp.h):
int EVP_VerifyInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
int EVP_VerifyUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt);
int EVP_VerifyFinal(EVP_MD_CTX *ctx,unsigned char *sigbuf, unsigned int siglen,EVP_PKEY *pkey);
int EVP_VerifyInit(EVP_MD_CTX *ctx, const EVP_MD *type);
【EVP_VerifyInit_ex】
该函数是一个宏定义函数,其实际定义如下:
#define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
所以,其功能和使用方法跟前面介绍的EVP_DigestInit_ex函