Blame doc/man3/X509_new.pod

Packit c4476c
=pod
Packit c4476c
Packit c4476c
=head1 NAME
Packit c4476c
Packit c4476c
X509_chain_up_ref,
Packit c4476c
X509_new, X509_free, X509_up_ref - X509 certificate ASN1 allocation functions
Packit c4476c
Packit c4476c
=head1 SYNOPSIS
Packit c4476c
Packit c4476c
 #include <openssl/x509.h>
Packit c4476c
Packit c4476c
 X509 *X509_new(void);
Packit c4476c
 void X509_free(X509 *a);
Packit c4476c
 int X509_up_ref(X509 *a);
Packit c4476c
 STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *x);
Packit c4476c
Packit c4476c
=head1 DESCRIPTION
Packit c4476c
Packit c4476c
The X509 ASN1 allocation routines, allocate and free an
Packit c4476c
X509 structure, which represents an X509 certificate.
Packit c4476c
Packit c4476c
X509_new() allocates and initializes a X509 structure with reference count
Packit c4476c
B<1>.
Packit c4476c
Packit c4476c
X509_free() decrements the reference count of B<X509> structure B and
Packit c4476c
frees it up if the reference count is zero. If B is NULL nothing is done.
Packit c4476c
Packit c4476c
X509_up_ref() increments the reference count of B.
Packit c4476c
Packit c4476c
X509_chain_up_ref() increases the reference count of all certificates in
Packit c4476c
chain B<x> and returns a copy of the stack.
Packit c4476c
Packit c4476c
=head1 NOTES
Packit c4476c
Packit c4476c
The function X509_up_ref() if useful if a certificate structure is being
Packit c4476c
used by several different operations each of which will free it up after
Packit c4476c
use: this avoids the need to duplicate the entire certificate structure.
Packit c4476c
Packit c4476c
The function X509_chain_up_ref() doesn't just up the reference count of
Packit c4476c
each certificate it also returns a copy of the stack, using sk_X509_dup(),
Packit c4476c
but it serves a similar purpose: the returned chain persists after the
Packit c4476c
original has been freed.
Packit c4476c
Packit c4476c
=head1 RETURN VALUES
Packit c4476c
Packit c4476c
If the allocation fails, X509_new() returns B<NULL> and sets an error
Packit c4476c
code that can be obtained by L<ERR_get_error(3)>.
Packit c4476c
Otherwise it returns a pointer to the newly allocated structure.
Packit c4476c
Packit c4476c
X509_up_ref() returns 1 for success and 0 for failure.
Packit c4476c
Packit c4476c
X509_chain_up_ref() returns a copy of the stack or B<NULL> if an error
Packit c4476c
occurred.
Packit c4476c
Packit c4476c
=head1 SEE ALSO
Packit c4476c
Packit c4476c
L<d2i_X509(3)>,
Packit c4476c
L<ERR_get_error(3)>,
Packit c4476c
L<X509_CRL_get0_by_serial(3)>,
Packit c4476c
L<X509_get0_signature(3)>,
Packit c4476c
L<X509_get_ext_d2i(3)>,
Packit c4476c
L<X509_get_extension_flags(3)>,
Packit c4476c
L<X509_get_pubkey(3)>,
Packit c4476c
L<X509_get_subject_name(3)>,
Packit c4476c
L<X509_get_version(3)>,
Packit c4476c
L<X509_NAME_add_entry_by_txt(3)>,
Packit c4476c
L<X509_NAME_ENTRY_get_object(3)>,
Packit c4476c
L<X509_NAME_get_index_by_NID(3)>,
Packit c4476c
L<X509_NAME_print_ex(3)>,
Packit c4476c
L<X509_sign(3)>,
Packit c4476c
L<X509V3_get_d2i(3)>,
Packit c4476c
L<X509_verify_cert(3)>
Packit c4476c
Packit c4476c
=head1 COPYRIGHT
Packit c4476c
Packit c4476c
Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
Packit c4476c
Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
this file except in compliance with the License.  You can obtain a copy
Packit c4476c
in the file LICENSE in the source distribution or at
Packit c4476c
L<https://www.openssl.org/source/license.html>.
Packit c4476c
Packit c4476c
=cut