openssl之EVP系列之11---EVP_Verify系列函数介绍

本文详细介绍了OpenSSL中EVP_Verify系列函数,包括EVP_VerifyInit_ex、EVP_VerifyUpdate和EVP_VerifyFinal。这些函数在签名验证过程中用于信息摘要和公钥验证,涉及了信息摘要算法和公钥加密的结合。通过EVP_VerifyInit_ex初始化,EVP_VerifyUpdate处理数据,EVP_VerifyFinal进行签名验证。成功验证返回1,失败返回0。注意使用后需要调用EVP_MD_CTX_cleanup释放内存,防止内存泄漏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openssl之EVP系列之11---EVP_Verify系列函数介绍
    ---根据openssl doc/crypto/EVP_VerifyInit.pod翻译和自己的理解写成
    (作者:DragonKing, Mail: wzhah@263.net ,发布于: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函
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值