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. A 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 attributes), 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<d2i_X509(3)>, 56L<d2i_X509_ALGOR(3)>, 57L<d2i_X509_CRL(3)>, 58L<d2i_X509_NAME(3)>, 59L<d2i_X509_REQ(3)>, 60L<d2i_X509_SIG(3)>, 61L<X509v3(3)>, 62L<crypto(7)> 63 64=head1 COPYRIGHT 65 66Copyright 2003-2017 The OpenSSL Project Authors. All Rights Reserved. 67 68Licensed under the OpenSSL license (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