Raise an error on syscall failure in tls_retry_write_records
[openssl.git] / doc / man3 / X509_get_serialNumber.pod
1 =pod
2
3 =head1 NAME
4
5 X509_get_serialNumber,
6 X509_get0_serialNumber,
7 X509_set_serialNumber,
8 X509_ACERT_get0_serialNumber,
9 X509_ACERT_set1_serialNumber
10 - get or set certificate serial number
11
12 =head1 SYNOPSIS
13
14  #include <openssl/x509.h>
15
16  ASN1_INTEGER *X509_get_serialNumber(X509 *x);
17  const ASN1_INTEGER *X509_get0_serialNumber(const X509 *x);
18  int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial);
19
20  #include <openssl/x509_acert.h>
21
22  ASN1_INTEGER *X509_ACERT_get0_serialNumber(X509_ACERT *x);
23  int X509_ACERT_set1_serialNumber(X509_ACERT *x, ASN1_INTEGER *serial);
24
25 =head1 DESCRIPTION
26
27 X509_get_serialNumber() returns the serial number of certificate B<x> as an
28 B<ASN1_INTEGER> structure which can be examined or initialised. The value
29 returned is an internal pointer which B<MUST NOT> be freed up after the call.
30
31 X509_get0_serialNumber() is the same as X509_get_serialNumber() except it
32 accepts a const parameter and returns a const result.
33
34 X509_set_serialNumber() sets the serial number of certificate B<x> to
35 B<serial>. A copy of the serial number is used internally so B<serial> should
36 be freed up after use.
37
38 X509_ACERT_get0_serialNumber() performs the same operation as
39 X509_get_serialNumber() for attribute certificates.
40
41 X509_ACERT_set1_serialNumber() performs the same operation as
42 X509_set_serialNumber() for attribute certificates.
43
44 =head1 RETURN VALUES
45
46 X509_get_serialNumber(), X509_get0_serialNumber() and
47 X509_ACERT_get0_serialNumber() return a pointer to an B<ASN1_INTEGER> structure.
48
49 X509_set_serialNumber() and X509_ACERT_set1_serialNumber() return 1 for success
50 and 0 for failure.
51
52 =head1 SEE ALSO
53
54 L<d2i_X509(3)>,
55 L<ERR_get_error(3)>,
56 L<X509_CRL_get0_by_serial(3)>,
57 L<X509_get0_signature(3)>,
58 L<X509_get_ext_d2i(3)>,
59 L<X509_get_extension_flags(3)>,
60 L<X509_get_pubkey(3)>,
61 L<X509_get_subject_name(3)>,
62 L<X509_NAME_add_entry_by_txt(3)>,
63 L<X509_NAME_ENTRY_get_object(3)>,
64 L<X509_NAME_get_index_by_NID(3)>,
65 L<X509_NAME_print_ex(3)>,
66 L<X509_new(3)>,
67 L<X509_sign(3)>,
68 L<X509V3_get_d2i(3)>,
69 L<X509_verify_cert(3)>
70
71 =head1 HISTORY
72
73 The X509_get_serialNumber() and X509_set_serialNumber() functions are
74 available in all versions of OpenSSL.
75 The X509_get0_serialNumber() function was added in OpenSSL 1.1.0.
76 The X509_ACERT_get0_serialNumber() and X509_ACERT_set1_serialNumber()
77 functions were added in OpenSSL 3.4.
78
79 =head1 COPYRIGHT
80
81 Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
82
83 Licensed under the Apache License 2.0 (the "License").  You may not use
84 this file except in compliance with the License.  You can obtain a copy
85 in the file LICENSE in the source distribution or at
86 L<https://www.openssl.org/source/license.html>.
87
88 =cut