ASN1_ITEM_VERIFY(3) | Library Functions Manual | ASN1_ITEM_VERIFY(3)

# NAME

`ASN1_item_verify` — signature verification for ASN.1 values

# SYNOPSIS

library “libcrypto”
`#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.

June 8, 2025 | Debian