| =pod |
| |
| =head1 NAME |
| |
| EVP_set_default_properties, EVP_default_properties_enable_fips, |
| EVP_default_properties_is_fips_enabled |
| - Set default properties for future algorithm fetches |
| |
| =head1 SYNOPSIS |
| |
| #include <openssl/evp.h> |
| |
| int EVP_set_default_properties(OSSL_LIB_CTX *libctx, const char *propq); |
| int EVP_default_properties_enable_fips(OSSL_LIB_CTX *libctx, int enable); |
| int EVP_default_properties_is_fips_enabled(OSSL_LIB_CTX *libctx); |
| |
| =head1 DESCRIPTION |
| |
| EVP_set_default_properties() sets the default properties for all |
| future EVP algorithm fetches, implicit as well as explicit. See |
| L<crypto(7)/ALGORITHM FETCHING> for information about implicit and explicit |
| fetching. |
| |
| EVP_set_default_properties stores the properties given with the string |
| I<propq> among the EVP data that's been stored in the library context |
| given with I<libctx> (NULL signifies the default library context). |
| |
| Any previous default property for the specified library context will |
| be dropped. |
| |
| EVP_default_properties_enable_fips() sets the 'fips=yes' to be a default property |
| if I<enable> is non zero, otherwise it clears 'fips' from the default property |
| query for the given I<libctx>. It merges the fips default property query with any |
| existing query strings that have been set via EVP_set_default_properties(). |
| |
| EVP_default_properties_is_fips_enabled() indicates if 'fips=yes' is a default |
| property for the given I<libctx>. |
| |
| =head1 RETURN VALUES |
| |
| EVP_set_default_properties() and EVP_default_properties_enable_fips() return 1 |
| on success, or 0 on failure. An error is placed on the error stack if a |
| failure occurs. |
| |
| EVP_default_properties_is_fips_enabled() returns 1 if the 'fips=yes' default |
| property is set for the given I<libctx>, otherwise it returns 0. |
| |
| =head1 SEE ALSO |
| |
| L<EVP_MD_fetch(3)> |
| |
| =head1 HISTORY |
| |
| The functions described here were added in OpenSSL 3.0. |
| |
| =head1 COPYRIGHT |
| |
| Copyright 2019-2021 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 |
| L<https://www.openssl.org/source/license.html>. |
| |
| =cut |