1=pod 2 3=head1 NAME 4 5SSL_CTX_add_extra_chain_cert - add certificate to chain 6 7=head1 SYNOPSIS 8 9 #include <openssl/ssl.h> 10 11 long SSL_CTX_add_extra_chain_cert(SSL_CTX ctx, X509 *x509) 12 13=head1 DESCRIPTION 14 15SSL_CTX_add_extra_chain_cert() adds the certificate B<x509> to the certificate 16chain presented together with the certificate. Several certificates 17can be added one after the other. 18 19=head1 NOTES 20 21When constructing the certificate chain, the chain will be formed from 22these certificates explicitly specified. If no chain is specified, 23the library will try to complete the chain from the available CA 24certificates in the trusted CA storage, see 25L<SSL_CTX_load_verify_locations(3)|SSL_CTX_load_verify_locations(3)>. 26 27The B<x509> certificate provided to SSL_CTX_add_extra_chain_cert() will be freed by the library when the B<SSL_CTX> is destroyed. An application B<should not> free the B<x509> object. 28 29=head1 RESTRICTIONS 30 31Only one set of extra chain certificates can be specified per SSL_CTX 32structure. Different chains for different certificates (for example if both 33RSA and DSA certificates are specified by the same server) or different SSL 34structures with the same parent SSL_CTX cannot be specified using this 35function. For more flexibility functions such as SSL_add1_chain_cert() should 36be used instead. 37 38=head1 RETURN VALUES 39 40SSL_CTX_add_extra_chain_cert() returns 1 on success. Check out the 41error stack to find out the reason for failure otherwise. 42 43=head1 SEE ALSO 44 45L<ssl(3)|ssl(3)>, 46L<SSL_CTX_use_certificate(3)|SSL_CTX_use_certificate(3)>, 47L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>, 48L<SSL_CTX_load_verify_locations(3)|SSL_CTX_load_verify_locations(3)> 49L<SSL_CTX_set0_chain(3)|SSL_CTX_set0_chain(3)> 50L<SSL_CTX_set1_chain(3)|SSL_CTX_set1_chain(3)> 51L<SSL_CTX_add0_chain_cert(3)|SSL_CTX_add0_chain_cert(3)> 52L<SSL_CTX_add1_chain_cert(3)|SSL_CTX_add1_chain_cert(3)> 53L<SSL_set0_chain(3)|SSL_set0_chain(3)> 54L<SSL_set1_chain(3)|SSL_set1_chain(3)> 55L<SSL_add0_chain_cert(3)|SSL_add0_chain_cert(3)> 56L<SSL_add1_chain_cert(3)|SSL_add1_chain_cert(3)> 57L<SSL_CTX_build_cert_chain(3)|SSL_CTX_build_cert_chain(3)> 58L<SSL_build_cert_chain(3)|SSL_build_cert_chain(3)> 59 60=cut 61