接下来详细介绍各个验证函数。
───────────────────────────────────────
int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, const unsigned char *sig, int siglen, EC_KEY *eckey)
功能: 验证签名
输入: type【无用】,dgst【签名前的hash值】,dgstlen【hash值长度】,eckey【密钥】,
sig 【DER编码格式的签名】,siglen 【签名长度】
输出: -
返回: 1【签名通过】 or 0【签名无效】 or -1【出错】
出处: ecdsa\ecs_vrf.c
───────────────────────────────────────
被ECDSA_verify调用的ECDSA_do_verify函数如下。
───────────────────────────────────────
int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)
功能: 验证签名
输入: dgst【签名前的hash值】,dgstlen【hash值长度】,eckey【密钥】,
sig 【签名】,siglen 【签名长度】
输出: -
返回: 1【签名通过】 or 0【签名无效】 or -1【出错】
出处: ecdsa\ecs_vrf.c
───────────────────────────────────────
被ECDSA_do_verify调用的ecdsa_do_verify函数如下。
───────────────────────────────────────
static int ecdsa_do_verify(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)
功能: 验证签名
输入: dgst【签名前的hash值】,dgstlen【hash值长度】,eckey【密钥】,
sig 【签名】,siglen 【签名长度】
输出: -
返回: 1【签名通过】 or 0【签名无效】 or -1【出错】
出处: ecdsa\ecs_ossl.c
───────────────────────────────────────