OSSL_STORE_expect.pod 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. =pod
  2. =head1 NAME
  3. OSSL_STORE_expect,
  4. OSSL_STORE_supports_search,
  5. OSSL_STORE_find
  6. - Specify what object type is expected
  7. =head1 SYNOPSIS
  8. #include <openssl/store.h>
  9. int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type);
  10. int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int criterion_type);
  11. int OSSL_STORE_find(OSSL_STORE_CTX *ctx, OSSL_STORE_SEARCH *search);
  12. =head1 DESCRIPTION
  13. OSSL_STORE_expect() helps applications filter what OSSL_STORE_load() returns
  14. by specifying a B<OSSL_STORE_INFO> type.
  15. By default, no expectations on the types of objects to be loaded are made.
  16. I<expected_type> may be 0 to indicate explicitly that no expectation is made,
  17. or it may be any of the known object types (see
  18. L<OSSL_STORE_INFO(3)/SUPPORTED OBJECTS>) except for B<OSSL_STORE_INFO_NAME>.
  19. For example, if C<file:/foo/bar/store.pem> contains several objects of different
  20. type and only certificates are interesting, the application can simply say
  21. that it expects the type B<OSSL_STORE_INFO_CERT>.
  22. OSSL_STORE_find() helps applications specify a criterion for a more fine
  23. grained search of objects.
  24. OSSL_STORE_supports_search() checks if the loader of the given OSSL_STORE
  25. context supports the given search type.
  26. See L<OSSL_STORE_SEARCH(3)/SUPPORTED CRITERION TYPES> for information on the
  27. supported search criterion types.
  28. OSSL_STORE_expect() and OSSL_STORE_find I<must> be called before the first
  29. OSSL_STORE_load() of a given session, or they will fail.
  30. =head1 NOTES
  31. If a more elaborate filter is required by the application, a better choice
  32. would be to use a post-processing function.
  33. See L<OSSL_STORE_open(3)> for more information.
  34. However, some loaders may take advantage of the knowledge of an expected type
  35. to make object retrieval more efficient, so if a single type is expected, this
  36. method is usually preferable.
  37. =head1 RETURN VALUES
  38. OSSL_STORE_expect() returns 1 on success, or 0 on failure.
  39. OSSL_STORE_supports_search() returns 1 if the criterion is supported, or 0
  40. otherwise.
  41. OSSL_STORE_find() returns 1 on success, or 0 on failure.
  42. =head1 SEE ALSO
  43. L<ossl_store(7)>, L<OSSL_STORE_INFO(3)>, L<OSSL_STORE_SEARCH(3)>,
  44. L<OSSL_STORE_load(3)>
  45. =head1 HISTORY
  46. OSSL_STORE_expect(), OSSL_STORE_supports_search() and OSSL_STORE_find()
  47. were added in OpenSSL 1.1.1.
  48. =head1 COPYRIGHT
  49. Copyright 2018-2021 The OpenSSL Project Authors. All Rights Reserved.
  50. Licensed under the Apache License 2.0 (the "License"). You may not use
  51. this file except in compliance with the License. You can obtain a copy
  52. in the file LICENSE in the source distribution or at
  53. L<https://www.openssl.org/source/license.html>.
  54. =cut