xref: /freebsd/crypto/openssl/doc/man7/x509.pod (revision d0b2dbfa)
1=pod
2
3=head1 NAME
4
5x509 - X.509 certificate handling
6
7=head1 SYNOPSIS
8
9 #include <openssl/x509.h>
10
11=head1 DESCRIPTION
12
13An X.509 certificate is a structured grouping of information about
14an individual, a device, or anything one can imagine.  An X.509 CRL
15(certificate revocation list) is a tool to help determine if a
16certificate is still valid.  The exact definition of those can be
17found in the X.509 document from ITU-T, or in RFC3280 from PKIX.
18In OpenSSL, the type X509 is used to express such a certificate, and
19the type X509_CRL is used to express a CRL.
20
21A related structure is a certificate request, defined in PKCS#10 from
22RSA Security, Inc, also reflected in RFC2896.  In OpenSSL, the type
23X509_REQ is used to express such a certificate request.
24
25To handle some complex parts of a certificate, there are the types
26X509_NAME (to express a certificate name), X509_ATTRIBUTE (to express
27a certificate attribute), X509_EXTENSION (to express a certificate
28extension) and a few more.
29
30Finally, there's the supertype X509_INFO, which can contain a CRL, a
31certificate and a corresponding private key.
32
33B<X509_>I<XXX>, B<d2i_X509_>I<XXX>, and B<i2d_X509_>I<XXX> functions
34handle X.509 certificates, with some exceptions, shown below.
35
36B<X509_CRL_>I<XXX>, B<d2i_X509_CRL_>I<XXX>, and B<i2d_X509_CRL_>I<XXX>
37functions handle X.509 CRLs.
38
39B<X509_REQ_>I<XXX>, B<d2i_X509_REQ_>I<XXX>, and B<i2d_X509_REQ_>I<XXX>
40functions handle PKCS#10 certificate requests.
41
42B<X509_NAME_>I<XXX> functions handle certificate names.
43
44B<X509_ATTRIBUTE_>I<XXX> functions handle certificate attributes.
45
46B<X509_EXTENSION_>I<XXX> functions handle certificate extensions.
47
48=head1 SEE ALSO
49
50L<X509_NAME_ENTRY_get_object(3)>,
51L<X509_NAME_add_entry_by_txt(3)>,
52L<X509_NAME_add_entry_by_NID(3)>,
53L<X509_NAME_print_ex(3)>,
54L<X509_NAME_new(3)>,
55L<PEM_X509_INFO_read(3)>,
56L<d2i_X509(3)>,
57L<d2i_X509_ALGOR(3)>,
58L<d2i_X509_CRL(3)>,
59L<d2i_X509_NAME(3)>,
60L<d2i_X509_REQ(3)>,
61L<d2i_X509_SIG(3)>,
62L<crypto(7)>
63
64=head1 COPYRIGHT
65
66Copyright 2003-2021 The OpenSSL Project Authors. All Rights Reserved.
67
68Licensed under the Apache License 2.0 (the "License").  You may not use
69this file except in compliance with the License.  You can obtain a copy
70in the file LICENSE in the source distribution or at
71L<https://www.openssl.org/source/license.html>.
72
73=cut
74