OpenSSL EVP_VerifyInit(3openssl)
NNNNAAAAMMMMEEEEEVP_VerifyInit, EVP_VerifyUpdate, EVP_VerifyFinal - EVP
signature verification functions SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS#include
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);
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The EVP signature verification routines are a high level interface to digital signatures.EVP_VerifyInit_ex() sets up verification context ccccttttxxxx to use
digest ttttyyyyppppeeee from ENGINE iiiimmmmppppllll. ccccttttxxxx must be initialized bycalling EVP_MD_CTX_init() before calling this function.
EVP_VerifyUpdate() hashes ccccnnnntttt bytes of data at dddd into the
verification context ccccttttxxxx. This function can be called several times on the same ccccttttxxxx to include additional data.EVP_VerifyFinal() verifies the data in ccccttttxxxx using the public
key ppppkkkkeeeeyyyy and against the ssssiiiigggglllleeeennnn bytes at ssssiiiiggggbbbbuuuuffff.EVP_VerifyInit() initializes verification context ccccttttxxxx to use
the default implementation of digest ttttyyyyppppeeee. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEESSSSEVP_VerifyInit_ex() and EVP_VerifyUpdate() return 1 for
success and 0 for failure.EVP_VerifyFinal() returns 1 for a correct signature, 0 for
failure and -1 if some other error occurred.
The error codes can be obtained by ERR_get_error(3).
NNNNOOOOTTTTEEEESSSS The EEEEVVVVPPPP interface to digital signatures should almost always be used in preference to the low level interfaces. This is because the code then becomes transparent to the algorithm used and much more flexible. Due to the link between message digests and public key algorithms the correct digest algorithm must be used with the correct public key type. A list of algorithms and associated public key algorithms appears inEVP_DigestInit(3).
10/Jul/2002 Last change: 0.9.8o 1
OpenSSL EVP_VerifyInit(3openssl)
The call to EVP_VerifyFinal() internally finalizes a copy of
the digest context. This means that calls toEVP_VerifyUpdate() and EVP_VerifyFinal() can be called later
to digest and verify additional data. Since only a copy of the digest context is ever finalized the context must be cleaned up after use by callingEVP_MD_CTX_cleanup() or a memory leak will occur.
BBBBUUUUGGGGSSSS Older versions of this documentation wrongly stated thatcalls to EVP_VerifyUpdate() could not be made after calling
EVP_VerifyFinal().
SSSSEEEEEEEE AAAALLLLSSSSOOOOevp(3), EVP_SignInit(3), EVP_DigestInit(3), err(3), evp(3),
hmac(3), md2(3), md5(3), mdc2(3), ripemd(3), sha(3), dgst(1) HHHHIIIISSSSTTTTOOOORRRRYYYYEVP_VerifyInit(), EVP_VerifyUpdate() and EVP_VerifyFinal()
are available in all versions of SSLeay and OpenSSL.EVP_VerifyInit_ex() was added in OpenSSL 0.9.7
10/Jul/2002 Last change: 0.9.8o 2