mirror of
https://github.com/openssl/openssl.git
synced 2024-12-21 06:09:35 +08:00
b97fdb57a2
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1900)
91 lines
2.8 KiB
Plaintext
91 lines
2.8 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
OpenSSL_add_all_algorithms, OpenSSL_add_all_ciphers, OpenSSL_add_all_digests, EVP_cleanup -
|
|
add algorithms to internal table
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/evp.h>
|
|
|
|
Deprecated:
|
|
|
|
# if OPENSSL_API_COMPAT < 0x10100000L
|
|
void OpenSSL_add_all_algorithms(void);
|
|
void OpenSSL_add_all_ciphers(void);
|
|
void OpenSSL_add_all_digests(void);
|
|
|
|
void EVP_cleanup(void)
|
|
# endif
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
OpenSSL keeps an internal table of digest algorithms and ciphers. It uses
|
|
this table to lookup ciphers via functions such as EVP_get_cipher_byname(). In
|
|
OpenSSL versions prior to 1.1.0 these functions initialised and de-initialised
|
|
this table. From OpenSSL 1.1.0 they are deprecated. No explicit initialisation
|
|
or de-initialisation is required. See L<OPENSSL_init_crypto(3)> for further
|
|
information.
|
|
|
|
OpenSSL_add_all_digests() adds all digest algorithms to the table.
|
|
|
|
OpenSSL_add_all_algorithms() adds all algorithms to the table (digests and
|
|
ciphers).
|
|
|
|
OpenSSL_add_all_ciphers() adds all encryption algorithms to the table including
|
|
password based encryption algorithms.
|
|
|
|
In versions prior to 1.1.0 EVP_cleanup() removed all ciphers and digests from
|
|
the table. It no longer has any effect in OpenSSL 1.1.0.
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
None of the functions return a value.
|
|
|
|
=head1 NOTES
|
|
|
|
A typical application will call OpenSSL_add_all_algorithms() initially and
|
|
EVP_cleanup() before exiting.
|
|
|
|
An application does not need to add algorithms to use them explicitly, for example
|
|
by EVP_sha1(). It just needs to add them if it (or any of the functions it calls)
|
|
needs to lookup algorithms.
|
|
|
|
The cipher and digest lookup functions are used in many parts of the library. If
|
|
the table is not initialized several functions will misbehave and complain they
|
|
cannot find algorithms. This includes the PEM, PKCS#12, SSL and S/MIME libraries.
|
|
This is a common query in the OpenSSL mailing lists.
|
|
|
|
Calling OpenSSL_add_all_algorithms() links in all algorithms: as a result a
|
|
statically linked executable can be quite large. If this is important it is possible
|
|
to just add the required ciphers and digests.
|
|
|
|
=head1 BUGS
|
|
|
|
Although the functions do not return error codes it is possible for them to fail.
|
|
This will only happen as a result of a memory allocation failure so this is not
|
|
too much of a problem in practice.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<evp(7)>, L<EVP_DigestInit(3)>,
|
|
L<EVP_EncryptInit(3)>
|
|
|
|
=head1 HISTORY
|
|
|
|
The OpenSSL_add_all_algorithms(), OpenSSL_add_all_ciphers(),
|
|
OpenSSL_add_all_digests(), and EVP_cleanup(), functions
|
|
were deprecated in OpenSSL 1.1.0 by OPENSSL_init_crypto().
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
Licensed under the OpenSSL license (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
|