OSSL_STORE_EXPECT(3) OpenSSL OSSL_STORE_EXPECT(3)
NAME
OSSL_STORE_expect, OSSL_STORE_supports_search, OSSL_STORE_find -
Specify what object type is expected
SYNOPSIS
#include <openssl/store.h>
int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type);
int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int criterion_type);
int OSSL_STORE_find(OSSL_STORE_CTX *ctx, OSSL_STORE_SEARCH *search);
DESCRIPTION
OSSL_STORE_expect() helps applications filter what OSSL_STORE_load()
returns by specifying a OSSL_STORE_INFO type. For example, if
"file:/foo/bar/store.pem" contains several different objects and only
the certificates are interesting, the application can simply say that
it expects the type OSSL_STORE_INFO_CERT. All known object types (see
"SUPPORTED OBJECTS" in OSSL_STORE_INFO(3)) except for
OSSL_STORE_INFO_NAME are supported.
OSSL_STORE_find() helps applications specify a criterion for a more
fine grained search of objects.
OSSL_STORE_supports_search() checks if the loader of the given
OSSL_STORE context supports the given search type. See "SUPPORTED
CRITERION TYPES" in OSSL_STORE_SEARCH for information on the supported
search criterion types.
OSSL_STORE_expect() and OSSL_STORE_find must be called before the first
OSSL_STORE_load() of a given session, or they will fail.
NOTES
If a more elaborate filter is required by the application, a better
choice would be to use a post-processing function. See
OSSL_STORE_open(3) for more information.
However, some loaders may take advantage of the knowledge of an
expected type to make object retrieval more efficient, so if a single
type is expected, this method is usually preferable.
RETURN VALUES
OSSL_STORE_expect() returns 1 on success, or 0 on failure.
OSSL_STORE_supports_search() returns 1 if the criterion is supported,
or 0 otherwise.
OSSL_STORE_find() returns 1 on success, or 0 on failure.
SEE ALSO
ossl_store(7), OSSL_STORE_INFO(3), OSSL_STORE_SEARCH(3),
OSSL_STORE_load(3)
HISTORY
OSSL_STORE_expect(), OSSL_STORE_supports_search() and OSSL_STORE_find()
were added in OpenSSL 1.1.1.
COPYRIGHT
Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the OpenSSL license (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>.
1.1.1k 2021-03-25 OSSL_STORE_EXPECT(3)