X509_DIGEST(3)

NAME
X509_digest, X509_CRL_digest, X509_pubkey_digest, X509_NAME_digest, X509_REQ_digest, PKCS7_ISSUER_AND_SERIAL_digest - get digests of various objects

SYNOPSIS
#include <openssl/x509.h>
int
X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, unsigned int *len);
int
X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, unsigned int *len);
int
X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md, unsigned int *len);
int
X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md, unsigned int *len);
int
X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, unsigned int *len);
#include <openssl/pkcs7.h>
int
PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type, unsigned char *md, unsigned int *len);

DESCRIPTION
X509_pubkey_digest() returns a digest of the DER representation of the public key contained in data. All other functions described here return a digest of the DER representation of their entire data object.

The type parameter specifies the digest to be used, such as EVP_sha1(3). md is a pointer to the buffer where the digest will be copied and is assumed to be large enough; a size of at least EVP_MAX_MD_SIZE bytes is suggested. The len parameter, if not NULL, points to a place where the digest size will be stored.

RETURN VALUES
These functions return 1 for success or 0 for failure.

SEE ALSO
EVP_get_digestbyname(3)

HISTORY
X509_digest(), X509_NAME_digest(), and PKCS7_ISSUER_AND_SERIAL_digest() appeared before SSLeay 0.8 and have been available since OpenBSD 2.4.

X509_CRL_digest() and X509_REQ_digest() first appeared in OpenSSL 0.9.6 and have been available since OpenBSD 2.9.

X509_pubkey_digest() first appeared in OpenSSL 0.9.7 and has been available since OpenBSD 3.2.