1=pod 2 3=head1 NAME 4 5EVP_set_default_properties, EVP_default_properties_enable_fips, 6EVP_default_properties_is_fips_enabled 7- Set default properties for future algorithm fetches 8 9=head1 SYNOPSIS 10 11 #include <openssl/evp.h> 12 13 int EVP_set_default_properties(OSSL_LIB_CTX *libctx, const char *propq); 14 int EVP_default_properties_enable_fips(OSSL_LIB_CTX *libctx, int enable); 15 int EVP_default_properties_is_fips_enabled(OSSL_LIB_CTX *libctx); 16 17=head1 DESCRIPTION 18 19EVP_set_default_properties() sets the default properties for all 20future EVP algorithm fetches, implicit as well as explicit. See 21L<crypto(7)/ALGORITHM FETCHING> for information about implicit and explicit 22fetching. 23 24EVP_set_default_properties stores the properties given with the string 25I<propq> among the EVP data that's been stored in the library context 26given with I<libctx> (NULL signifies the default library context). 27 28Any previous default property for the specified library context will 29be dropped. 30 31EVP_default_properties_enable_fips() sets the 'fips=yes' to be a default property 32if I<enable> is non zero, otherwise it clears 'fips' from the default property 33query for the given I<libctx>. It merges the fips default property query with any 34existing query strings that have been set via EVP_set_default_properties(). 35 36EVP_default_properties_is_fips_enabled() indicates if 'fips=yes' is a default 37property for the given I<libctx>. 38 39=head1 NOTES 40 41EVP_set_default_properties() and EVP_default_properties_enable_fips() are not 42thread safe. They are intended to be called only during the initialisation 43phase of a I<libctx>. 44 45=head1 RETURN VALUES 46 47EVP_set_default_properties() and EVP_default_properties_enable_fips() return 1 48on success, or 0 on failure. An error is placed on the error stack if a 49failure occurs. 50 51EVP_default_properties_is_fips_enabled() returns 1 if the 'fips=yes' default 52property is set for the given I<libctx>, otherwise it returns 0. 53 54=head1 SEE ALSO 55 56L<EVP_MD_fetch(3)> 57 58=head1 HISTORY 59 60The functions described here were added in OpenSSL 3.0. 61 62=head1 COPYRIGHT 63 64Copyright 2019-2022 The OpenSSL Project Authors. All Rights Reserved. 65 66Licensed under the Apache License 2.0 (the "License"). You may not use 67this file except in compliance with the License. You can obtain a copy 68in the file LICENSE in the source distribution or at 69L<https://www.openssl.org/source/license.html>. 70 71=cut 72