xref: /freebsd/crypto/openssl/doc/man3/X509_get_version.pod (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
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