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 13A 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<...>, B<d2i_X509_>I<...> and B<i2d_X509_>I<...> handle X.509 34certificates, with some exceptions, shown below. 35 36B<X509_CRL_>I<...>, B<d2i_X509_CRL_>I<...> and B<i2d_X509_CRL_>I<...> 37handle X.509 CRLs. 38 39B<X509_REQ_>I<...>, B<d2i_X509_REQ_>I<...> and B<i2d_X509_REQ_>I<...> 40handle PKCS#10 certificate requests. 41 42B<X509_NAME_>I<...> handle certificate names. 43 44B<X509_ATTRIBUTE_>I<...> handle certificate attributes. 45 46B<X509_EXTENSION_>I<...> handle certificate extensions. 47 48=head1 SEE ALSO 49 50L<X509_NAME_ENTRY_get_object(3)|X509_NAME_ENTRY_get_object(3)>, 51L<X509_NAME_add_entry_by_txt(3)|X509_NAME_add_entry_by_txt(3)>, 52L<X509_NAME_add_entry_by_NID(3)|X509_NAME_add_entry_by_NID(3)>, 53L<X509_NAME_print_ex(3)|X509_NAME_print_ex(3)>, 54L<X509_NAME_new(3)|X509_NAME_new(3)>, 55L<d2i_X509(3)|d2i_X509(3)>, 56L<d2i_X509_ALGOR(3)|d2i_X509_ALGOR(3)>, 57L<d2i_X509_CRL(3)|d2i_X509_CRL(3)>, 58L<d2i_X509_NAME(3)|d2i_X509_NAME(3)>, 59L<d2i_X509_REQ(3)|d2i_X509_REQ(3)>, 60L<d2i_X509_SIG(3)|d2i_X509_SIG(3)>, 61L<crypto(3)|crypto(3)>, 62L<x509v3(3)|x509v3(3)> 63 64=cut 65