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