X509_STORE_GET0_PARAM(3)

NAME
X509_STORE_get0_param, X509_STORE_set1_param, X509_STORE_get1_objects, X509_STORE_get0_objects, X509_STORE_get1_all_certs - X509_STORE setter and getter functions

SYNOPSIS
 #include <openssl/x509_vfy.h>

 X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *xs);
 int X509_STORE_set1_param(X509_STORE *xs, const X509_VERIFY_PARAM *pm);
 STACK_OF(X509_OBJECT) *X509_STORE_get1_objects(X509_STORE *xs);
 STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *xs);
 STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *xs);

DESCRIPTION
X509_STORE_set1_param() sets the verification parameters to pm for xs.

X509_STORE_get0_param() retrieves an internal pointer to the verification parameters for xs. The returned pointer must not be freed by the calling application

X509_STORE_get1_objects() returns a snapshot of all objects in the store's X509 cache. The cache contains X509 and X509_CRL objects. The caller is responsible for freeing the returned list, using sk_X509_OBJECT_pop_free(sk, X509_OBJECT_free).

X509_STORE_get0_objects() was deprecated in OpenSSL 4.0. Applications should instead use X509_STORE_get1_objects() to avoid potential issues associated with X509_STORE_get0_objects(). The X509_STORE_get0_objects() returns an internal pointer to the store's cache of X509 and X509_CRL objects. This pointer references internal data structures and must not be freed by the application. Since the returned pointer exposes shared internal state, its use in multithreaded contexts is inherently unsafe without external synchronisation. When a store is shared across threads, callers are required to acquire the store lock via X509_STORE_lock() before invoking X509_STORE_get0_objects().

X509_STORE_get1_all_certs() returns a list of all certificates in the store. The caller is responsible for freeing the returned list with OSSL_STACK_OF_X509_free().

RETURN VALUES
X509_STORE_get0_param() returns a pointer to an X509_VERIFY_PARAM structure.

X509_STORE_set1_param() returns 1 for success and 0 for failure.

X509_STORE_get1_objects() returns a pointer to a stack of the retrieved objects on success, else NULL.

X509_STORE_get0_objects() returns a pointer to a stack of X509_OBJECT.

X509_STORE_get1_all_certs() returns a pointer to a stack of the retrieved certificates on success, else NULL.

SEE ALSO
DEFINE_STACK_OF(3), X509_STORE_new(3)

HISTORY
X509_STORE_get0_param and X509_STORE_get0_objects were added in OpenSSL 1.1.0. X509_STORE_get1_certs was added in OpenSSL 3.0. X509_STORE_get1_objects was added in OpenSSL 3.3.

COPYRIGHT
Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.