xref: /freebsd/crypto/openssl/doc/man3/X509_STORE_get0_param.pod (revision e7be843b4a162e68651d3911f0357ed464915629)
1e71b7053SJung-uk Kim=pod
2e71b7053SJung-uk Kim
3e71b7053SJung-uk Kim=head1 NAME
4e71b7053SJung-uk Kim
5e71b7053SJung-uk KimX509_STORE_get0_param, X509_STORE_set1_param,
6*e7be843bSPierre ProncheryX509_STORE_get1_objects, X509_STORE_get0_objects, X509_STORE_get1_all_certs
7b077aed3SPierre Pronchery- X509_STORE setter and getter functions
8e71b7053SJung-uk Kim
9e71b7053SJung-uk Kim=head1 SYNOPSIS
10e71b7053SJung-uk Kim
11e71b7053SJung-uk Kim #include <openssl/x509_vfy.h>
12e71b7053SJung-uk Kim
13*e7be843bSPierre Pronchery X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *xs);
14*e7be843bSPierre Pronchery int X509_STORE_set1_param(X509_STORE *xs, const X509_VERIFY_PARAM *pm);
15*e7be843bSPierre Pronchery STACK_OF(X509_OBJECT) *X509_STORE_get1_objects(X509_STORE *xs);
16*e7be843bSPierre Pronchery STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *xs);
17*e7be843bSPierre Pronchery STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *xs);
18e71b7053SJung-uk Kim
19e71b7053SJung-uk Kim=head1 DESCRIPTION
20e71b7053SJung-uk Kim
21*e7be843bSPierre ProncheryX509_STORE_set1_param() sets the verification parameters to I<pm> for I<xs>.
22e71b7053SJung-uk Kim
23e71b7053SJung-uk KimX509_STORE_get0_param() retrieves an internal pointer to the verification
24*e7be843bSPierre Proncheryparameters for I<xs>. The returned pointer must not be freed by the
25e71b7053SJung-uk Kimcalling application
26e71b7053SJung-uk Kim
27*e7be843bSPierre ProncheryX509_STORE_get1_objects() returns a snapshot of all objects in the store's X509
28*e7be843bSPierre Proncherycache. The cache contains B<X509> and B<X509_CRL> objects. The caller is
29*e7be843bSPierre Proncheryresponsible for freeing the returned list.
30*e7be843bSPierre Pronchery
31b077aed3SPierre ProncheryX509_STORE_get0_objects() retrieves an internal pointer to the store's
32e71b7053SJung-uk KimX509 object cache. The cache contains B<X509> and B<X509_CRL> objects. The
33*e7be843bSPierre Proncheryreturned pointer must not be freed by the calling application. If the store is
34*e7be843bSPierre Proncheryshared across multiple threads, it is not safe to use the result of this
35*e7be843bSPierre Proncheryfunction. Use X509_STORE_get1_objects() instead, which avoids this problem.
36e71b7053SJung-uk Kim
37b077aed3SPierre ProncheryX509_STORE_get1_all_certs() returns a list of all certificates in the store.
38b077aed3SPierre ProncheryThe caller is responsible for freeing the returned list.
39e71b7053SJung-uk Kim
40e71b7053SJung-uk Kim=head1 RETURN VALUES
41e71b7053SJung-uk Kim
42e71b7053SJung-uk KimX509_STORE_get0_param() returns a pointer to an
43e71b7053SJung-uk KimB<X509_VERIFY_PARAM> structure.
44e71b7053SJung-uk Kim
45e71b7053SJung-uk KimX509_STORE_set1_param() returns 1 for success and 0 for failure.
46e71b7053SJung-uk Kim
47*e7be843bSPierre ProncheryX509_STORE_get1_objects() returns a pointer to a stack of the retrieved
48*e7be843bSPierre Proncheryobjects on success, else NULL.
49*e7be843bSPierre Pronchery
50e71b7053SJung-uk KimX509_STORE_get0_objects() returns a pointer to a stack of B<X509_OBJECT>.
51e71b7053SJung-uk Kim
52b077aed3SPierre ProncheryX509_STORE_get1_all_certs() returns a pointer to a stack of the retrieved
53b077aed3SPierre Proncherycertificates on success, else NULL.
54b077aed3SPierre Pronchery
55e71b7053SJung-uk Kim=head1 SEE ALSO
56e71b7053SJung-uk Kim
57e71b7053SJung-uk KimL<X509_STORE_new(3)>
58e71b7053SJung-uk Kim
59e71b7053SJung-uk Kim=head1 HISTORY
60e71b7053SJung-uk Kim
61e71b7053SJung-uk KimB<X509_STORE_get0_param> and B<X509_STORE_get0_objects> were added in
62e71b7053SJung-uk KimOpenSSL 1.1.0.
63b077aed3SPierre ProncheryB<X509_STORE_get1_certs> was added in OpenSSL 3.0.
64*e7be843bSPierre ProncheryB<X509_STORE_get1_objects> was added in OpenSSL 3.3.
65e71b7053SJung-uk Kim
66e71b7053SJung-uk Kim=head1 COPYRIGHT
67e71b7053SJung-uk Kim
68*e7be843bSPierre ProncheryCopyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
69e71b7053SJung-uk Kim
70b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
71e71b7053SJung-uk Kimthis file except in compliance with the License.  You can obtain a copy
72e71b7053SJung-uk Kimin the file LICENSE in the source distribution or at
73e71b7053SJung-uk KimL<https://www.openssl.org/source/license.html>.
74e71b7053SJung-uk Kim
75e71b7053SJung-uk Kim=cut
76