Add PBE algorithms with ciphers, not digests.
This commit is contained in:
65
doc/crypto/OpenSSL_add_all_algorithms.pod
Normal file
65
doc/crypto/OpenSSL_add_all_algorithms.pod
Normal file
@@ -0,0 +1,65 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
OpenSSL_add_all_algorithms() - add algorithms to internal table
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/evp.h>
|
||||
|
||||
void OpenSSL_add_all_algorithms(void);
|
||||
void OpenSSL_add_all_ciphers(void);
|
||||
void OpenSSL_add_all_digests(void);
|
||||
|
||||
void EVP_cleanup(void);
|
||||
|
||||
=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().
|
||||
|
||||
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.
|
||||
|
||||
EVP_cleanup() removes all ciphers and digests from the table.
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
None of the functions return a value.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
A typical application will 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 initialised 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)|evp(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>,
|
||||
L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>
|
||||
|
||||
=cut
|
Reference in New Issue
Block a user