12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- =pod
- =head1 NAME
- OPENSSL_config, OPENSSL_no_config - simple OpenSSL configuration functions
- =head1 SYNOPSIS
- #include <openssl/conf.h>
- void OPENSSL_config(const char *config_name);
- void OPENSSL_no_config(void);
- =head1 DESCRIPTION
- OPENSSL_config() configures OpenSSL using the standard B<openssl.cnf>
- configuration file name using B<config_name>. If B<config_name> is NULL then
- the default name B<openssl_conf> will be used. Any errors are ignored. Further
- calls to OPENSSL_config() will have no effect. The configuration file format
- is documented in the L<conf(5)|conf(5)> manual page.
- OPENSSL_no_config() disables configuration. If called before OPENSSL_config()
- no configuration takes place.
- =head1 NOTES
- It is B<strongly> recommended that B<all> new applications call OPENSSL_config()
- or the more sophisticated functions such as CONF_modules_load() during
- initialization (that is before starting any threads). By doing this
- an application does not need to keep track of all configuration options
- and some new functionality can be supported automatically.
- It is also possible to automatically call OPENSSL_config() when an application
- calls OPENSSL_add_all_algorithms() by compiling an application with the
- preprocessor symbol B<OPENSSL_LOAD_CONF> #define'd. In this way configuration
- can be added without source changes.
- The environment variable B<OPENSSL_CONF> can be set to specify the location
- of the configuration file.
-
- Currently ASN1 OBJECTs and ENGINE configuration can be performed future
- versions of OpenSSL will add new configuration options.
- There are several reasons why calling the OpenSSL configuration routines is
- advisable. For example new ENGINE functionality was added to OpenSSL 0.9.7.
- In OpenSSL 0.9.7 control functions can be supported by ENGINEs, this can be
- used (among other things) to load dynamic ENGINEs from shared libraries (DSOs).
- However very few applications currently support the control interface and so
- 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.
- Applications should free up configuration at application closedown by calling
- CONF_modules_free().
- =head1 RESTRICTIONS
- The OPENSSL_config() function is designed to be a very simple "call it and
- forget it" function. As a result its behaviour is somewhat limited. It ignores
- all errors silently and it can only load from the standard configuration file
- location for example.
- It is however B<much> better than nothing. Applications which need finer
- control over their configuration functionality should use the configuration
- functions such as CONF_load_modules() directly.
- =head1 RETURN VALUES
- Neither OPENSSL_config() nor OPENSSL_no_config() return a value.
- =head1 SEE ALSO
- L<conf(5)|conf(5)>, L<CONF_load_modules_file(3)|CONF_load_modules_file(3)>,
- L<CONF_modules_free(3),CONF_modules_free(3)>
- =head1 HISTORY
- OPENSSL_config() and OPENSSL_no_config() first appeared in OpenSSL 0.9.7
- =cut
|