和计算签名相比,验证签名所涉及的函数少了许多,只有三个函数:ECDSA_verify、ECDSA_do_verify和ecdsa_do_verify。这其中只有ECDSA_verify的签名采用DER编码。下图将简要说明这些函数之间的调用关系。
图6.5 验证所用函数图 |
现对上图做个简要说明:
- ECDSA_verify的签名采用的是DER编码,故需要用d2i_ECDSA_SIG先将签名从DER形式解码成ECDSA_SIG格式,然后才调用ECDSA_do_verify。
- ecs_ossl.c文件中的ecdsa_do_verify是具体实现验证的函数。
- 请注意将签名用到的函数(参见图6.3)和验证用到的函数(参见图6.5)做对比。