EVP_VerifyInit, EVP_VerifyUpdate, EVP_VerifyFinal - EVP
       signature verification functions


SYNOPSIS

        #include <openssl/evp.h>

        void EVP_VerifyInit(EVP_MD_CTX *ctx, const EVP_MD *type);
        void 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);


DESCRIPTION

       The EVP signature verification routines are a high level
       interface to digital signatures.

       EVP_VerifyInit() initializes a verification context ctx to
       using digest type: this will typically be supplied by a
       function such as EVP_sha1().

       EVP_VerifyUpdate() hashes cnt bytes of data at d into the
       verification context ctx. This function can be called
       several times on the same ctx to include additional data.

       EVP_VerifyFinal() verifies the data in ctx using the
       public key pkey and against the siglen bytes at sigbuf.
       After calling EVP_VerifyFinal() no additional calls to
       EVP_VerifyUpdate() can be made, but EVP_VerifyInit() can
       be called to initialize a new verification operation.


RETURN VALUES

       EVP_VerifyInit() and EVP_VerifyUpdate() do not return
       values.

       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).


NOTES

       The EVP 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 in
       EVP_DigestInit(3).


BUGS

       Several of the functions do not return values: maybe they
       should. Although the internal digest operations will never



SEE ALSO

       evp(3), EVP_SignInit(3), EVP_DigestInit(3), err(3),
       evp(3), hmac(3), md2(3), md5(3), mdc2(3), ripemd(3),
       sha(3), digest(1)


HISTORY

       EVP_VerifyInit(), EVP_VerifyUpdate() and EVP_VerifyFinal()
       are available in all versions of SSLeay and OpenSSL.


Man(1) output converted with man2html