1=pod
2
3=head1 NAME
4
5x509v3_cache_extensions
6- cache info on various X.509v3 extensions and further derived certificate data
7
8=head1 SYNOPSIS
9
10 #include <openssl/x509v3.h>
11
12 int x509v3_cache_extensions(X509 *x, OSSL_LIB_CTX *libctx, const char *propq);
13
14=head1 DESCRIPTION
15
16This function processes any X509v3 extensions present in an X509 object I<x>
17and caches the result of that processing as well as further derived info,
18for instance whether the certificate is self-issued or has version X.509v1.
19It computes the SHA1 digest of the certificate using the default library context
20and property query string and stores the result in x->sha1_hash,
21or on failure sets B<EXFLAG_NO_FINGERPRINT> in x->flags.
22It sets B<X509_SIG_INFO_VALID> in x->flags if x->siginf was filled successfully,
23which may not be possible if a referenced algorithm is unknown or not available.
24Many OpenSSL functions that use an X509 object call this function implicitly.
25
26=head1 RETURN VALUES
27
28This function returns 0 if the extensions or other portions of the certificate
29are invalid or an error occurred.
30Otherwise it returns 1.
31
32=head1 COPYRIGHT
33
34Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
35
36Licensed under the Apache License 2.0 (the "License").  You may not use
37this file except in compliance with the License.  You can obtain a copy
38in the file LICENSE in the source distribution or at
39L<https://www.openssl.org/source/license.html>.
40
41=cut
42