mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
41b51bf6bc
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/25434)
88 lines
3.0 KiB
Plaintext
88 lines
3.0 KiB
Plaintext
=pod
|
|
|
|
=head1 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
|
|
|
|
=head1 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);
|
|
|
|
=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_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 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 NOTES
|
|
|
|
EVP_set_default_properties() and EVP_default_properties_enable_fips() are not
|
|
thread safe. They are intended to be called only during the initialisation
|
|
phase of a I<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.
|
|
|
|
=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.
|
|
|
|
EVP_get1_default_properties() returns allocated memory that must be freed by
|
|
L<OPENSSL_free(3)> on success and NULL on failure.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<EVP_MD_fetch(3)>
|
|
|
|
=head1 HISTORY
|
|
|
|
The functions EVP_set_default_properties(), 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.
|
|
|
|
|
|
=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
|