123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- =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(3)>, 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
|