ASN1_ITEM_VERIFY(3)

NAME
ASN1_item_verify - signature verification for ASN.1 values

SYNOPSIS
#include <openssl/x509.h>
int
ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, ASN1_BIT_STRING *sig_in, void *val_in, EVP_PKEY *pkey);

DESCRIPTION
ASN1_item_verify() assumes that val_in is an ASN1_VALUE of the type specified by it, encodes it into DER format by calling ASN1_item_i2d(3), and verifies in a way similar to EVP_DigestVerify(3) that sig_in contains a valid signature of the resulting byte array, a signature that was created with the signature algorithm algor1 and the private key corresponding to the public key pkey.

RETURN VALUES
ASN1_item_verify() returns 1 if signature verification succeeds, 0 if signature verification fails, or -1 if pkey is NULL, if sig_in contains invalid flags, or if algor1 requests an invalid or unsupported digest algorithm or does not work with the given pkey.

SEE ALSO
ASN1_BIT_STRING_new(3), ASN1_item_i2d(3), ASN1_item_sign(3), EVP_DigestVerify(3), EVP_PKEY_new(3), OBJ_find_sigid_algs(3), X509_ALGOR_new(3)

HISTORY
ASN1_item_verify() first appeared in OpenSSL 0.9.7 and has been available since OpenBSD 3.1.