1=pod 2 3=head1 NAME 4 5X509_digest, X509_CRL_digest, 6X509_pubkey_digest, 7X509_NAME_digest, 8X509_REQ_digest, 9PKCS7_ISSUER_AND_SERIAL_digest 10- get digest of various objects 11 12=head1 SYNOPSIS 13 14 #include <openssl/x509.h> 15 16 int X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, 17 unsigned int *len); 18 19 int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, 20 unsigned int *len); 21 22 int X509_pubkey_digest(const X509 *data, const EVP_MD *type, 23 unsigned char *md, unsigned int *len); 24 25 int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, 26 unsigned char *md, unsigned int *len); 27 28 int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, 29 unsigned char *md, unsigned int *len); 30 31 #include <openssl/pkcs7.h> 32 33 int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, 34 const EVP_MD *type, unsigned char *md, 35 unsigned int *len); 36 37=head1 DESCRIPTION 38 39X509_pubkey_digest() returns a digest of the DER representation of the public 40key in the specified X509 B<data> object. 41All other functions described here return a digest of the DER representation 42of their entire B<data> objects. 43 44The B<type> parameter specifies the digest to 45be used, such as EVP_sha1(). The B<md> is a pointer to the buffer where the 46digest will be copied and is assumed to be large enough; the constant 47B<EVP_MAX_MD_SIZE> is suggested. The B<len> parameter, if not NULL, points 48to a place where the digest size will be stored. 49 50=head1 RETURN VALUES 51 52All functions described here return 1 for success and 0 for failure. 53 54=head1 SEE ALSO 55 56L<EVP_sha1(3)> 57 58=head1 COPYRIGHT 59 60Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. 61 62Licensed under the OpenSSL license (the "License"). You may not use 63this file except in compliance with the License. You can obtain a copy 64in the file LICENSE in the source distribution or at 65L<https://www.openssl.org/source/license.html>. 66 67=cut 68