1e71b7053SJung-uk Kim=pod 2e71b7053SJung-uk Kim 3e71b7053SJung-uk Kim=head1 NAME 4e71b7053SJung-uk Kim 5e71b7053SJung-uk KimX509_get_version, X509_set_version, X509_REQ_get_version, X509_REQ_set_version, 6e71b7053SJung-uk KimX509_CRL_get_version, X509_CRL_set_version - get or set certificate, 7e71b7053SJung-uk Kimcertificate request or CRL version 8e71b7053SJung-uk Kim 9e71b7053SJung-uk Kim=head1 SYNOPSIS 10e71b7053SJung-uk Kim 11e71b7053SJung-uk Kim #include <openssl/x509.h> 12e71b7053SJung-uk Kim 13e71b7053SJung-uk Kim long X509_get_version(const X509 *x); 14e71b7053SJung-uk Kim int X509_set_version(X509 *x, long version); 15e71b7053SJung-uk Kim 16e71b7053SJung-uk Kim long X509_REQ_get_version(const X509_REQ *req); 17e71b7053SJung-uk Kim int X509_REQ_set_version(X509_REQ *x, long version); 18e71b7053SJung-uk Kim 19e71b7053SJung-uk Kim long X509_CRL_get_version(const X509_CRL *crl); 20e71b7053SJung-uk Kim int X509_CRL_set_version(X509_CRL *x, long version); 21e71b7053SJung-uk Kim 22e71b7053SJung-uk Kim=head1 DESCRIPTION 23e71b7053SJung-uk Kim 24e71b7053SJung-uk KimX509_get_version() returns the numerical value of the version field of 25*b077aed3SPierre Proncherycertificate B<x>. These correspond to the constants B<X509_VERSION_1>, 26*b077aed3SPierre ProncheryB<X509_VERSION_2>, and B<X509_VERSION_3>. Note: the values of these constants 27*b077aed3SPierre Proncheryare defined by standards (X.509 et al) to be one less than the certificate 28*b077aed3SPierre Proncheryversion. So B<X509_VERSION_3> has value 2 and B<X509_VERSION_1> has value 0. 29e71b7053SJung-uk Kim 30e71b7053SJung-uk KimX509_set_version() sets the numerical value of the version field of certificate 31e71b7053SJung-uk KimB<x> to B<version>. 32e71b7053SJung-uk Kim 33e71b7053SJung-uk KimSimilarly X509_REQ_get_version(), X509_REQ_set_version(), 34e71b7053SJung-uk KimX509_CRL_get_version() and X509_CRL_set_version() get and set the version 35*b077aed3SPierre Proncherynumber of certificate requests and CRLs. They use constants 36*b077aed3SPierre ProncheryB<X509_REQ_VERSION_1>, B<X509_CRL_VERSION_1>, and B<X509_CRL_VERSION_2>. 37e71b7053SJung-uk Kim 38e71b7053SJung-uk Kim=head1 NOTES 39e71b7053SJung-uk Kim 40e71b7053SJung-uk KimThe version field of certificates, certificate requests and CRLs has a 41e71b7053SJung-uk KimDEFAULT value of B<v1(0)> meaning the field should be omitted for version 42e71b7053SJung-uk Kim1. This is handled transparently by these functions. 43e71b7053SJung-uk Kim 44e71b7053SJung-uk Kim=head1 RETURN VALUES 45e71b7053SJung-uk Kim 46e71b7053SJung-uk KimX509_get_version(), X509_REQ_get_version() and X509_CRL_get_version() 47e71b7053SJung-uk Kimreturn the numerical value of the version field. 48e71b7053SJung-uk Kim 49e71b7053SJung-uk KimX509_set_version(), X509_REQ_set_version() and X509_CRL_set_version() 50e71b7053SJung-uk Kimreturn 1 for success and 0 for failure. 51e71b7053SJung-uk Kim 52e71b7053SJung-uk Kim=head1 SEE ALSO 53e71b7053SJung-uk Kim 54e71b7053SJung-uk KimL<d2i_X509(3)>, 55e71b7053SJung-uk KimL<ERR_get_error(3)>, 56e71b7053SJung-uk KimL<X509_CRL_get0_by_serial(3)>, 57e71b7053SJung-uk KimL<X509_get0_signature(3)>, 58e71b7053SJung-uk KimL<X509_get_ext_d2i(3)>, 59e71b7053SJung-uk KimL<X509_get_extension_flags(3)>, 60e71b7053SJung-uk KimL<X509_get_pubkey(3)>, 61e71b7053SJung-uk KimL<X509_get_subject_name(3)>, 62e71b7053SJung-uk KimL<X509_NAME_add_entry_by_txt(3)>, 63e71b7053SJung-uk KimL<X509_NAME_ENTRY_get_object(3)>, 64e71b7053SJung-uk KimL<X509_NAME_get_index_by_NID(3)>, 65e71b7053SJung-uk KimL<X509_NAME_print_ex(3)>, 66e71b7053SJung-uk KimL<X509_new(3)>, 67e71b7053SJung-uk KimL<X509_sign(3)>, 68e71b7053SJung-uk KimL<X509V3_get_d2i(3)>, 69e71b7053SJung-uk KimL<X509_verify_cert(3)> 70e71b7053SJung-uk Kim 71e71b7053SJung-uk Kim=head1 HISTORY 72e71b7053SJung-uk Kim 73e71b7053SJung-uk KimX509_get_version(), X509_REQ_get_version() and X509_CRL_get_version() are 74e71b7053SJung-uk Kimfunctions in OpenSSL 1.1.0, in previous versions they were macros. 75e71b7053SJung-uk Kim 76e71b7053SJung-uk Kim=head1 COPYRIGHT 77e71b7053SJung-uk Kim 78*b077aed3SPierre ProncheryCopyright 2015-2021 The OpenSSL Project Authors. All Rights Reserved. 79e71b7053SJung-uk Kim 80*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License"). You may not use 81e71b7053SJung-uk Kimthis file except in compliance with the License. You can obtain a copy 82e71b7053SJung-uk Kimin the file LICENSE in the source distribution or at 83e71b7053SJung-uk KimL<https://www.openssl.org/source/license.html>. 84e71b7053SJung-uk Kim 85e71b7053SJung-uk Kim=cut 86