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