Lines Matching full:provider

47 A provider in OpenSSL is a component that collects together algorithm
49 provider loaded that contains an implementation of it. OpenSSL comes with a
51 don't load a provider explicitly (either in program code or via config) then the
52 OpenSSL built-in "default" provider will be automatically loaded.
57 options take effect. When a provider is loaded, it is only loaded within the
114 "provider=default" could be used to force the selection to only consider
115 algorithm implementations in the default provider.
129 Users of the OpenSSL libraries never query a provider directly for an algorithm
149 no provider has been loaded in this library context then the default provider
195 Fetch the operation type implementation from any provider given a library
198 If the provider of the operation type implementation is different from the
199 provider of the L<EVP_PKEY(3)>'s L<EVP_KEYMGMT(3)> implementation, try to
200 fetch a L<EVP_KEYMGMT(3)> implementation in the same provider as the operation
209 provider as the original L<EVP_PKEY(3)>'s L<EVP_KEYMGMT(3)>, still using the
225 internally fetch methods from a provider.
231 Fetching via a provider offers more flexibility, but it is slower than the
233 and then populate the method table using provider supplied methods.
295 Fetch an implementation of SHA2-256 from the default provider in the default
298 EVP_MD *md = EVP_MD_fetch(NULL, "SHA2-256", "provider=default");
302 Fetch an implementation of SHA2-256 that is not from the default provider in the
305 EVP_MD *md = EVP_MD_fetch(NULL, "SHA2-256", "provider!=default");
309 Fetch an implementation of SHA2-256 from the default provider in the specified
312 EVP_MD *md = EVP_MD_fetch(ctx, "SHA2-256", "provider=default");
316 Load the legacy provider into the default context and then fetch an
322 EVP_MD *md = EVP_MD_fetch(NULL, "WHIRLPOOL", "provider=legacy");
326 Note that in the above example the property string "provider=legacy" is optional
328 the "whirlpool" algorithm is in the "legacy" provider. Also note that the
329 default provider should be explicitly loaded if it is required in addition to
351 algorithm identifier to the appropriate fetching function. Also see the provider
356 For information on writing a provider see L<provider(7)>.
358 =head2 Default provider
360 The default provider is built in as part of the F<libcrypto> library and
363 algorithms), the property query string "provider=default" can be used as a
364 search criterion for these implementations. The default provider includes all
365 of the functionality in the base provider below.
367 If you don't load any providers at all then the "default" provider will be
368 automatically loaded. If you explicitly load any provider then the "default"
369 provider would also need to be explicitly loaded if it is required.
373 =head2 Base provider
375 The base provider is built in as part of the F<libcrypto> library and contains
379 "provider=base" can be used as a search criterion for these implementations.
381 implementations in themselves but support algorithms from the FIPS provider and
387 =head2 FIPS provider
389 The FIPS provider is a dynamically loadable module, and must therefore
394 property query string "provider=fips" can be used as a search criterion for
396 provider can also be selected with the property "fips=yes". The FIPS provider
402 =head2 Legacy provider
404 The legacy provider is a dynamically loadable module, and must therefore
409 the property "provider=legacy" can be used as a search criterion for these
414 =head2 Null provider
416 The null provider is built in as part of the F<libcrypto> library. It contains
417 no algorithms in it at all. When fetching algorithms the default provider will
418 be automatically loaded if no other provider has been explicitly loaded. To
419 prevent that from happening you can explicitly load the null provider.
536 provider. They are also duplicated in the base provider.
569 L<openssl-glossary(7)>, L<provider(7)>