- NAME
- SYNOPSIS
- DESCRIPTION
- RETURN VALUES
- SEE ALSO
- COPYRIGHT

# NAME

X509_digest, X509_CRL_digest, X509_pubkey_digest, X509_NAME_digest, X509_REQ_digest, PKCS7_ISSUER_AND_SERIAL_digest - get digest 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);

     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 in the specified X509 data object. All other functions described here return a digest of the DER representation of their entire data objects.

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

# RETURN VALUES

All functions described here return 1 for success and 0 for failure.

# SEE ALSO

COPYRIGHT

Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.