Последовательность EVP_DigestVerify
:
EVP_DigestVerifyInit()
EVP_DigestVerifyUpdate()
EVP_DigestVerifyFinal()
Поэтому, если вы вычислили свой дайджест в другом месте (вопрос в том, зачем вы это делаете?), Вы сможете напрямую вызвать EVP_DigestVerifyFinal()
:
ctx->md_data = my_computed_digest;
ctx->digest->md_size = my_computed_digest_size;
ret = EVP_DigestVerifyFinal(ctx, sig, siglen);