ASN1_ITEM_DIGEST(3) Library Functions Manual ASN1_ITEM_DIGEST(3)

ASN1_item_digestDER-encode and hash an ASN.1 value

#include <openssl/x509.h>

ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *val_in, unsigned char *md, unsigned int *s);

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

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

ASN1_item_i2d(3), ASN1_item_sign(3), EVP_Digest(3)

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

September 11, 2022 OpenBSD 7.5