Imported Upstream version 1.1.1i
[platform/upstream/openssl1.1.git] / doc / man3 / X509_check_ca.pod
1 =pod
2
3 =head1 NAME
4
5 X509_check_ca - check if given certificate is CA certificate
6
7 =head1 SYNOPSIS
8
9  #include <openssl/x509v3.h>
10
11  int X509_check_ca(X509 *cert);
12
13 =head1 DESCRIPTION
14
15 This function checks if given certificate is CA certificate (can be used
16 to sign other certificates).
17
18 =head1 RETURN VALUES
19
20 Function return 0, if it is not CA certificate, 1 if it is proper X509v3
21 CA certificate with B<basicConstraints> extension CA:TRUE,
22 3, if it is self-signed X509 v1 certificate, 4, if it is certificate with
23 B<keyUsage> extension with bit B<keyCertSign> set, but without
24 B<basicConstraints>, and 5 if it has outdated Netscape Certificate Type
25 extension telling that it is CA certificate.
26
27 Actually, any nonzero value means that this certificate could have been
28 used to sign other certificates.
29
30 =head1 SEE ALSO
31
32 L<X509_verify_cert(3)>,
33 L<X509_check_issued(3)>,
34 L<X509_check_purpose(3)>
35
36 =head1 COPYRIGHT
37
38 Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved.
39
40 Licensed under the OpenSSL license (the "License").  You may not use
41 this file except in compliance with the License.  You can obtain a copy
42 in the file LICENSE in the source distribution or at
43 L<https://www.openssl.org/source/license.html>.
44
45 =cut