67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
=pod
 | 
						|
 | 
						|
=head1 NAME
 | 
						|
 | 
						|
OpenSSL_add_all_algorithms, OpenSSL_add_all_ciphers, OpenSSL_add_all_digests -
 | 
						|
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 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)|evp(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>,
 | 
						|
L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>
 | 
						|
 | 
						|
=cut
 |