]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/X509_new.pod
Expand the XTS documentation
[thirdparty/openssl.git] / doc / man3 / X509_new.pod
CommitLineData
9946fceb
DSH
1=pod
2
3=head1 NAME
4
c952780c 5X509_chain_up_ref,
3a59ad98 6X509_new, X509_free, X509_up_ref - X509 certificate ASN1 allocation functions
9946fceb
DSH
7
8=head1 SYNOPSIS
9
c264592d
UM
10 #include <openssl/x509.h>
11
9946fceb
DSH
12 X509 *X509_new(void);
13 void X509_free(X509 *a);
c5ebfcab 14 int X509_up_ref(X509 *a);
cf4462da 15 STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *x);
9946fceb
DSH
16
17=head1 DESCRIPTION
18
19The X509 ASN1 allocation routines, allocate and free an
20X509 structure, which represents an X509 certificate.
21
3a59ad98
DSH
22X509_new() allocates and initializes a X509 structure with reference count
23B<1>.
9946fceb 24
3a59ad98
DSH
25X509_free() decrements the reference count of B<X509> structure B<a> and
26frees it up if the reference count is zero. If B<a> is NULL nothing is done.
27
28X509_up_ref() increments the reference count of B<a>.
29
cf4462da
DSH
30X509_chain_up_ref() increases the reference count of all certificates in
31chain B<x> and returns a copy of the stack.
32
3a59ad98
DSH
33=head1 NOTES
34
35The function X509_up_ref() if useful if a certificate structure is being
36used by several different operations each of which will free it up after
37use: this avoids the need to duplicate the entire certificate structure.
9946fceb 38
cf4462da
DSH
39The function X509_chain_up_ref() doesn't just up the reference count of
40each certificate it also returns a copy of the stack, using sk_X509_dup(),
41but it serves a similar purpose: the returned chain persists after the
42original has been freed.
43
9946fceb
DSH
44=head1 RETURN VALUES
45
46If the allocation fails, X509_new() returns B<NULL> and sets an error
9b86974e 47code that can be obtained by L<ERR_get_error(3)>.
9946fceb
DSH
48Otherwise it returns a pointer to the newly allocated structure.
49
c5ebfcab 50X509_up_ref() returns 1 for success and 0 for failure.
9946fceb 51
cf4462da
DSH
52X509_chain_up_ref() returns a copy of the stack or B<NULL> if an error
53occurred.
54
9946fceb
DSH
55=head1 SEE ALSO
56
035014cd
DSH
57L<d2i_X509(3)>,
58L<ERR_get_error(3)>,
59L<X509_CRL_get0_by_serial(3)>,
60L<X509_get0_signature(3)>,
61L<X509_get_ext_d2i(3)>,
62L<X509_get_extension_flags(3)>,
63L<X509_get_pubkey(3)>,
64L<X509_get_subject_name(3)>,
65L<X509_get_version(3)>,
66L<X509_NAME_add_entry_by_txt(3)>,
67L<X509_NAME_ENTRY_get_object(3)>,
68L<X509_NAME_get_index_by_NID(3)>,
69L<X509_NAME_print_ex(3)>,
70L<X509_sign(3)>,
71L<X509V3_get_d2i(3)>,
72L<X509_verify_cert(3)>
9946fceb 73
e2f92610
RS
74=head1 COPYRIGHT
75
76Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
77
4746f25a 78Licensed under the Apache License 2.0 (the "License"). You may not use
e2f92610
RS
79this file except in compliance with the License. You can obtain a copy
80in the file LICENSE in the source distribution or at
81L<https://www.openssl.org/source/license.html>.
82
83=cut