2017-01-13 05:39:41 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2020-03-05 16:16:29 +08:00
|
|
|
X509_digest,
|
|
|
|
X509_digest_sig,
|
|
|
|
X509_CRL_digest,
|
2017-01-13 05:39:41 +08:00
|
|
|
X509_pubkey_digest,
|
|
|
|
X509_NAME_digest,
|
2017-05-26 01:24:11 +08:00
|
|
|
X509_REQ_digest,
|
2017-03-24 01:04:52 +08:00
|
|
|
PKCS7_ISSUER_AND_SERIAL_digest
|
2017-01-13 05:39:41 +08:00
|
|
|
- get digest of various objects
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/x509.h>
|
|
|
|
|
|
|
|
int X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
|
|
|
|
unsigned int *len);
|
2020-03-05 16:16:29 +08:00
|
|
|
ASN1_OCTET_STRING *X509_digest_sig(const X509 *cert);
|
2017-01-13 05:39:41 +08:00
|
|
|
|
|
|
|
int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md,
|
2017-01-21 02:58:49 +08:00
|
|
|
unsigned int *len);
|
2017-01-13 05:39:41 +08:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
2018-07-06 04:10:55 +08:00
|
|
|
#include <openssl/pkcs7.h>
|
|
|
|
|
2017-01-13 05:39:41 +08:00
|
|
|
int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,
|
|
|
|
const EVP_MD *type, unsigned char *md,
|
|
|
|
unsigned int *len);
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
2020-03-05 16:16:29 +08:00
|
|
|
X509_digest_sig() calculates a digest of the given certificate
|
|
|
|
using the same hash algorithm as in its signature.
|
|
|
|
|
2017-01-13 05:39:41 +08:00
|
|
|
X509_pubkey_digest() returns a digest of the DER representation of the public
|
|
|
|
key in the specified X509 B<data> object.
|
2020-03-05 16:16:29 +08:00
|
|
|
|
2017-01-13 05:39:41 +08:00
|
|
|
All other functions described here return a digest of the DER representation
|
|
|
|
of their entire B<data> objects.
|
|
|
|
|
|
|
|
The B<type> parameter specifies the digest to
|
|
|
|
be used, such as EVP_sha1(). The B<md> is a pointer to the buffer where the
|
|
|
|
digest will be copied and is assumed to be large enough; the constant
|
|
|
|
B<EVP_MAX_MD_SIZE> is suggested. The B<len> parameter, if not NULL, points
|
|
|
|
to a place where the digest size will be stored.
|
|
|
|
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
|
2020-03-05 16:16:29 +08:00
|
|
|
X509_digest_sig() returns an ASN1_OCTET_STRING on success, else NULL.
|
|
|
|
|
|
|
|
All other functions described here return 1 for success and 0 for failure.
|
2017-01-13 05:39:41 +08:00
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2017-03-11 21:56:44 +08:00
|
|
|
L<EVP_sha1(3)>
|
2017-01-13 05:39:41 +08:00
|
|
|
|
2020-03-05 16:16:29 +08:00
|
|
|
=head1 HISTORY
|
|
|
|
|
|
|
|
The X509_digest_sig() function was added in OpenSSL 3.0.
|
|
|
|
|
2017-01-13 05:39:41 +08:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
2020-04-23 20:55:52 +08:00
|
|
|
Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.
|
2017-01-13 05:39:41 +08:00
|
|
|
|
2018-12-06 21:04:44 +08:00
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
2017-01-13 05:39:41 +08:00
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|