5 EVP_set_default_properties, EVP_default_properties_enable_fips,
6 EVP_default_properties_is_fips_enabled
7 - Set default properties for future algorithm fetches
11 #include <openssl/evp.h>
13 int EVP_set_default_properties(OPENSSL_CTX *libctx, const char *propq);
14 int EVP_default_properties_enable_fips(OPENSSL_CTX *libctx, int enable);
15 int EVP_default_properties_is_fips_enabled(OPENSSL_CTX *libctx);
19 EVP_set_default_properties() sets the default properties for all
20 future EVP algorithm fetches, implicit as well as explicit.
22 =for comment TODO(3.0) We should consider having an EVP document in
23 section 7 that details everything about implicit vs explicit fetches
24 and how they relate to properties.
26 EVP_set_default_properties stores the properties given with the string
27 I<propq> among the EVP data that's been stored in the library context
28 given with I<libctx> (NULL signifies the default library context).
30 Any previous default property for the specified library context will
33 EVP_default_properties_enable_fips() sets the 'fips=yes' to be a default property
34 if I<enable> is non zero, otherwise it clears 'fips' from the default property
35 query for the given I<libctx>. It merges the fips default property query with any
36 existing query strings that have been set via EVP_set_default_properties().
38 EVP_default_properties_is_fips_enabled() indicates if 'fips=yes' is a default
39 property for the given I<libctx>.
43 EVP_set_default_properties() and EVP_default_properties_enable_fips() return 1
44 on success, or 0 on failure. An error is placed on the error stack if a
47 EVP_default_properties_is_fips_enabled() returns 1 if the 'fips=yes' default
48 property is set for the given I<libctx>, otherwise it returns 0.
56 The functions described here were added in OpenSSL 3.0.
60 Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.
62 Licensed under the Apache License 2.0 (the "License"). You may not use
63 this file except in compliance with the License. You can obtain a copy
64 in the file LICENSE in the source distribution or at
65 L<https://www.openssl.org/source/license.html>.