EVP_SET_DEFAULT_PROPERTIES(3ossl) OpenSSL EVP_SET_DEFAULT_PROPERTIES(3ossl)
NAME
EVP_set_default_properties, EVP_default_properties_enable_fips,
EVP_default_properties_is_fips_enabled, EVP_get1_default_properties -
manage default properties for future algorithm fetches
SYNOPSIS
#include <openssl/evp.h>
int EVP_set_default_properties(OSSL_LIB_CTX *libctx, const char *propq);
char *EVP_get1_default_properties(OSSL_LIB_CTX *libctx);
int EVP_default_properties_enable_fips(OSSL_LIB_CTX *libctx, int enable);
int EVP_default_properties_is_fips_enabled(OSSL_LIB_CTX *libctx);
DESCRIPTION
EVP_set_default_properties(3) sets the default properties for all future
EVP algorithm fetches, implicit as well as explicit. See "ALGORITHM
FETCHING" in crypto(7) for information about implicit and explicit
fetching.
EVP_set_default_properties stores the properties given with the string
propq among the EVP data that's been stored in the library context
given with libctx (NULL signifies the default library context).
Any previous default property for the specified library context will be
dropped.
EVP_get1_default_properties() gets the default properties set for all
future EVP algorithm fetches, implicit as well as explicit, for the
specific library context.
EVP_default_properties_enable_fips() sets the 'fips=yes' to be a
default property if enable is non zero, otherwise it clears 'fips' from
the default property query for the given libctx. It merges the fips
default property query with any existing query strings that have been
set via EVP_set_default_properties(3).
EVP_default_properties_is_fips_enabled() indicates if 'fips=yes' is a
default property for the given libctx.
NOTES
EVP_set_default_properties(3) and EVP_default_properties_enable_fips()
are not thread safe. They are intended to be called only during the
initialisation phase of a libctx.
EVP_get1_default_properties() is not thread safe. The application must
ensure that the context reference is valid and default fetching
properties are not being modified by a different thread.
RETURN VALUES
EVP_set_default_properties(3) 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 libctx, otherwise it returns 0.
EVP_get1_default_properties() returns allocated memory that must be
freed by OPENSSL_free(3) on success and NULL on failure.
SEE ALSO
EVP_MD_fetch(3)
HISTORY
The functions EVP_set_default_properties(3),
EVP_default_properties_enable_fips(),
EVP_default_properties_is_fips_enabled() were added in OpenSSL 3.0.
The function EVP_get1_default_properties() was added in OpenSSL 3.5.
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
<https://www.openssl.org/source/license.html>.
3.5.0 2025-04-10 EVP_SET_DEFAULT_PROPERTIES(3ossl)
openssl 3.5.0 - Generated Mon Apr 21 18:08:46 CDT 2025
