| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | =pod | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NAME | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-03-02 21:31:32 +08:00
										 |  |  | OPENSSL_config, OPENSSL_no_config - simple OpenSSL configuration functions | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  #include <openssl/conf.h> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-02 19:33:49 +08:00
										 |  |  | The following functions have been deprecated since OpenSSL 1.1.0, and can be | 
					
						
							|  |  |  | hidden entirely by defining B<OPENSSL_API_COMPAT> with a suitable version value, | 
					
						
							|  |  |  | see L<openssl_user_macros(7)>: | 
					
						
							| 
									
										
										
										
											2018-11-30 07:05:03 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-13 09:49:40 +08:00
										 |  |  |  void OPENSSL_config(const char *appname); | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  |  void OPENSSL_no_config(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 DESCRIPTION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-13 09:49:40 +08:00
										 |  |  | OPENSSL_config() configures OpenSSL using the standard B<openssl.cnf> and | 
					
						
							|  |  |  | reads from the application section B<appname>. If B<appname> is NULL then | 
					
						
							|  |  |  | the default section, B<openssl_conf>, will be used. | 
					
						
							| 
									
										
										
										
											2015-01-26 10:07:20 +08:00
										 |  |  | Errors are silently ignored. | 
					
						
							| 
									
										
										
										
											2014-09-10 01:45:49 +08:00
										 |  |  | Multiple calls have no effect. | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | OPENSSL_no_config() disables configuration. If called before OPENSSL_config() | 
					
						
							|  |  |  | no configuration takes place. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-09-10 01:45:49 +08:00
										 |  |  | If the application is built with B<OPENSSL_LOAD_CONF> defined, then a | 
					
						
							|  |  |  | call to OpenSSL_add_all_algorithms() will implicitly call OPENSSL_config() | 
					
						
							|  |  |  | first. | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-09-10 01:45:49 +08:00
										 |  |  | =head1 NOTES | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-09-10 01:45:49 +08:00
										 |  |  | The OPENSSL_config() function is designed to be a very simple "call it and | 
					
						
							|  |  |  | forget it" function. | 
					
						
							|  |  |  | It is however B<much> better than nothing. Applications which need finer | 
					
						
							|  |  |  | control over their configuration functionality should use the configuration | 
					
						
							| 
									
										
										
										
											2015-01-26 10:07:20 +08:00
										 |  |  | functions such as CONF_modules_load() directly. This function is deprecated | 
					
						
							|  |  |  | and its use should be avoided. | 
					
						
							|  |  |  | Applications should instead call CONF_modules_load() during | 
					
						
							| 
									
										
										
										
											2014-09-10 01:45:49 +08:00
										 |  |  | initialization (that is before starting any threads). | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | There are several reasons why calling the OpenSSL configuration routines is | 
					
						
							| 
									
										
										
										
											2015-10-28 01:40:11 +08:00
										 |  |  | advisable. For example, to load dynamic ENGINEs from shared libraries (DSOs). | 
					
						
							| 
									
										
										
										
											2020-06-30 03:13:07 +08:00
										 |  |  | However, very few applications currently support the control interface and so | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | very few can load and use dynamic ENGINEs. Equally in future more sophisticated | 
					
						
							|  |  |  | ENGINEs will require certain control operations to customize them. If an | 
					
						
							|  |  |  | application calls OPENSSL_config() it doesn't need to know or care about | 
					
						
							|  |  |  | ENGINE control operations because they can be performed by editing a | 
					
						
							|  |  |  | configuration file. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 20:45:49 +08:00
										 |  |  | =head1 ENVIRONMENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =over 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =item B<OPENSSL_CONF> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The path to the config file. | 
					
						
							|  |  |  | Ignored in set-user-ID and set-group-ID programs. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =back | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | =head1 RETURN VALUES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Neither OPENSSL_config() nor OPENSSL_no_config() return a value. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 SEE ALSO | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-11 16:33:09 +08:00
										 |  |  | L<config(5)>, | 
					
						
							| 
									
										
										
										
											2016-04-05 00:00:04 +08:00
										 |  |  | L<CONF_modules_load_file(3)> | 
					
						
							| 
									
										
										
										
											2004-03-02 09:01:11 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-10 00:52:40 +08:00
										 |  |  | =head1 HISTORY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The OPENSSL_no_config() and OPENSSL_config() functions were | 
					
						
							|  |  |  | deprecated in OpenSSL 1.1.0 by OPENSSL_init_crypto(). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | =head1 COPYRIGHT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-16 20:47:04 +08:00
										 |  |  | Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-06 21:04:44 +08:00
										 |  |  | Licensed under the Apache License 2.0 (the "License").  You may not use | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | 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 |