ASN1_ITEM_DIGEST(3)

NAME
ASN1_item_digest - DER-encode and hash an ASN.1 value

SYNOPSIS
#include <openssl/x509.h>
int
ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *val_in, unsigned char *md, unsigned int *s);

DESCRIPTION
ASN1_item_digest() assumes that that val_in is an ASN1_VALUE of the type specified by it, encodes it into DER format by calling ASN1_item_i2d(3), hashes the resulting byte array using the digest type by calling EVP_Digest(3), places the digest value into *md, and, unless s is NULL, places the length in bytes of the digest into *s. Providing a buffer *md large enough to contain the digest is the responsibility of the caller; providing a buffer of EVP_MAX_MD_SIZE bytes is recommended.

RETURN VALUES
ASN1_item_digest() returns 1 for success or 0 if encoding or hashing fails.

SEE ALSO
ASN1_item_i2d(3), ASN1_item_sign(3), EVP_Digest(3)

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