| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643 |
- .\" -*- mode: troff; coding: utf-8 -*-
- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
- .\"
- .\" Standard preamble:
- .\" ========================================================================
- .de Sp \" Vertical space (when we can't use .PP)
- .if t .sp .5v
- .if n .sp
- ..
- .de Vb \" Begin verbatim text
- .ft CW
- .nf
- .ne \\$1
- ..
- .de Ve \" End verbatim text
- .ft R
- .fi
- ..
- .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
- .ie n \{\
- . ds C` ""
- . ds C' ""
- 'br\}
- .el\{\
- . ds C`
- . ds C'
- 'br\}
- .\"
- .\" Escape single quotes in literal strings from groff's Unicode transform.
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\"
- .\" If the F register is >0, we'll generate index entries on stderr for
- .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
- .\" entries marked with X<> in POD. Of course, you'll have to process the
- .\" output yourself in some meaningful fashion.
- .\"
- .\" Avoid warning from groff about undefined register 'F'.
- .de IX
- ..
- .nr rF 0
- .if \n(.g .if rF .nr rF 1
- .if (\n(rF:(\n(.g==0)) \{\
- . if \nF \{\
- . de IX
- . tm Index:\\$1\t\\n%\t"\\$2"
- ..
- . if !\nF==2 \{\
- . nr % 0
- . nr F 2
- . \}
- . \}
- .\}
- .rr rF
- .\" ========================================================================
- .\"
- .IX Title "CONFIG 5ossl"
- .TH CONFIG 5ossl 2025-01-17 3.4.0 OpenSSL
- .\" For nroff, turn off justification. Always turn off hyphenation; it makes
- .\" way too many mistakes in technical documents.
- .if n .ad l
- .nh
- .SH NAME
- config \- OpenSSL CONF library configuration files
- .SH DESCRIPTION
- .IX Header "DESCRIPTION"
- This page documents the syntax of OpenSSL configuration files,
- as parsed by \fBNCONF_load\fR\|(3) and related functions.
- This format is used by many of the OpenSSL commands, and to
- initialize the libraries when used by any application.
- .PP
- The first part describes the general syntax of the configuration
- files, and subsequent sections describe the semantics of individual
- modules. Other modules are described in \fBfips_config\fR\|(5) and
- \&\fBx509v3_config\fR\|(5).
- The syntax for defining ASN.1 values is described in
- \&\fBASN1_generate_nconf\fR\|(3).
- .SH SYNTAX
- .IX Header "SYNTAX"
- A configuration file is a series of lines. Blank lines, and whitespace
- between the elements of a line, have no significance. A comment starts
- with a \fB#\fR character; the rest of the line is ignored. If the \fB#\fR
- is the first non-space character in a line, the entire line is ignored.
- .SS Directives
- .IX Subsection "Directives"
- Two directives can be used to control the parsing of configuration files:
- \&\fB.include\fR and \fB.pragma\fR.
- .PP
- For compatibility with older versions of OpenSSL, an equal sign after the
- directive will be ignored. Older versions will treat it as an assignment,
- so care should be taken if the difference in semantics is important.
- .PP
- A file can include other files using the include syntax:
- .PP
- .Vb 1
- \& .include [=] pathname
- .Ve
- .PP
- If \fBpathname\fR is a simple filename, that file is included directly at
- that point. Included files can have \fB.include\fR statements that specify
- other files. If \fBpathname\fR is a directory, all files within that directory
- that have a \f(CW\*(C`.cnf\*(C'\fR or \f(CW\*(C`.conf\*(C'\fR extension will be included. (This is only
- available on systems with POSIX IO support.) Any sub-directories found
- inside the \fBpathname\fR are \fBignored\fR. Similarly, if a file is opened
- while scanning a directory, and that file has an \fB.include\fR directive
- that specifies a directory, that is also ignored.
- .PP
- As a general rule, the \fBpathname\fR should be an absolute path; this can
- be enforced with the \fBabspath\fR and \fBincludedir\fR pragmas, described below.
- The environment variable \fBOPENSSL_CONF_INCLUDE\fR, if it exists,
- is prepended to all relative pathnames.
- If the pathname is still relative, it is interpreted based on the
- current working directory.
- .PP
- To require all file inclusions to name absolute paths, use the following
- directive:
- .PP
- .Vb 1
- \& .pragma [=] abspath:value
- .Ve
- .PP
- The default behavior, where the \fBvalue\fR is \fBfalse\fR or \fBoff\fR, is to allow
- relative paths. To require all \fB.include\fR pathnames to be absolute paths,
- use a \fBvalue\fR of \fBtrue\fR or \fBon\fR.
- .PP
- In these files, the dollar sign, \fB$\fR, is used to reference a variable, as
- described below. On some platforms, however, it is common to treat \fB$\fR
- as a regular character in symbol names. Supporting this behavior can be
- done with the following directive:
- .PP
- .Vb 1
- \& .pragma [=] dollarid:value
- .Ve
- .PP
- The default behavior, where the \fBvalue\fR is \fBfalse\fR or \fBoff\fR, is to treat
- the dollarsign as indicating a variable name; \f(CW\*(C`foo$bar\*(C'\fR is interpreted as
- \&\f(CW\*(C`foo\*(C'\fR followed by the expansion of the variable \f(CW\*(C`bar\*(C'\fR. If \fBvalue\fR is
- \&\fBtrue\fR or \fBon\fR, then \f(CW\*(C`foo$bar\*(C'\fR is a single seven-character name and
- variable expansions must be specified using braces or parentheses.
- .PP
- .Vb 1
- \& .pragma [=] includedir:value
- .Ve
- .PP
- If a relative pathname is specified in the \fB.include\fR directive, and
- the \fBOPENSSL_CONF_INCLUDE\fR environment variable doesn't exist, then
- the value of the \fBincludedir\fR pragma, if it exists, is prepended to the
- pathname.
- .SS Settings
- .IX Subsection "Settings"
- A configuration file is divided into a number of \fIsections\fR. A section
- begins with the section name in square brackets, and ends when a new
- section starts, or at the end of the file. The section name can consist
- of alphanumeric characters and underscores.
- Whitespace between the name and the brackets is removed.
- .PP
- The first section of a configuration file is special and is referred to
- as the \fBdefault\fR section. This section is usually unnamed and spans from
- the start of file until the first named section. When a name is being
- looked up, it is first looked up in the current or named section,
- and then the default section if necessary.
- .PP
- The environment is mapped onto a section called \fBENV\fR.
- .PP
- Within a section are a series of name/value assignments, described in more
- detail below. As a reminder, the square brackets shown in this example
- are required, not optional:
- .PP
- .Vb 7
- \& [ section ]
- \& name1 = This is value1
- \& name2 = Another value
- \& ...
- \& [ newsection ]
- \& name1 = New value1
- \& name3 = Value 3
- .Ve
- .PP
- The \fBname\fR can contain any alphanumeric characters as well as a few
- punctuation symbols such as \fB.\fR \fB,\fR \fB;\fR and \fB_\fR.
- Whitespace after the name and before the equal sign is ignored.
- .PP
- If a name is repeated in the same section, then all but the last
- value are ignored. In certain circumstances, such as with
- Certificate DNs, the same field may occur multiple times.
- In order to support this, commands like \fBopenssl\-req\fR\|(1) ignore any
- leading text that is preceded with a period. For example:
- .PP
- .Vb 2
- \& 1.OU = First OU
- \& 2.OU = Second OU
- .Ve
- .PP
- The \fBvalue\fR consists of the string following the \fB=\fR character until end
- of line with any leading and trailing whitespace removed.
- .PP
- The value string undergoes variable expansion. The text \f(CW$var\fR or \f(CW\*(C`${var}\*(C'\fR
- inserts the value of the named variable from the current section.
- To use a value from another section use \f(CW$section::name\fR
- or \f(CW\*(C`${section::name}\*(C'\fR.
- By using \f(CW$ENV::name\fR, the value of the specified environment
- variable will be substituted.
- .PP
- Variables must be defined before their value is referenced, otherwise
- an error is flagged and the file will not load.
- This can be worked around by specifying a default value in the \fBdefault\fR
- section before the variable is used.
- .PP
- Any name/value settings in an \fBENV\fR section are available
- to the configuration file, but are not propagated to the environment.
- .PP
- It is an error if the value ends up longer than 64k.
- .PP
- It is possible to escape certain characters by using a single \fB'\fR or
- double \fB"\fR quote around the value, or using a backslash \fB\e\fR before the
- character,
- By making the last character of a line a \fB\e\fR
- a \fBvalue\fR string can be spread across multiple lines. In addition
- the sequences \fB\en\fR, \fB\er\fR, \fB\eb\fR and \fB\et\fR are recognized.
- .PP
- The expansion and escape rules as described above that apply to \fBvalue\fR
- also apply to the pathname of the \fB.include\fR directive.
- .SH "OPENSSL LIBRARY CONFIGURATION"
- .IX Header "OPENSSL LIBRARY CONFIGURATION"
- The sections below use the informal term \fImodule\fR to refer to a part
- of the OpenSSL functionality. This is not the same as the formal term
- \&\fIFIPS module\fR, for example.
- .PP
- The OpenSSL configuration looks up the value of \fBopenssl_conf\fR
- in the default section and takes that as the name of a section that specifies
- how to configure any modules in the library. It is not an error to leave
- any module in its default configuration. An application can specify a
- different name by calling \fBCONF_modules_load_file()\fR, for example, directly.
- .PP
- OpenSSL also looks up the value of \fBconfig_diagnostics\fR.
- If this exists and has a nonzero numeric value, any error suppressing flags
- passed to \fBCONF_modules_load()\fR will be ignored.
- This is useful for diagnosing misconfigurations but its use in
- production requires additional consideration. With this option enabled,
- a configuration error will completely prevent access to a service.
- Without this option and in the presence of a configuration error, access
- will be allowed but the desired configuration will \fBnot\fR be used.
- .PP
- .Vb 3
- \& # These must be in the default section
- \& config_diagnostics = 1
- \& openssl_conf = openssl_init
- \&
- \& [openssl_init]
- \& oid_section = oids
- \& providers = providers
- \& alg_section = evp_properties
- \& ssl_conf = ssl_configuration
- \& engines = engines
- \& random = random
- \&
- \& [oids]
- \& ... new oids here ...
- \&
- \& [providers]
- \& ... provider stuff here ...
- \&
- \& [evp_properties]
- \& ... EVP properties here ...
- \&
- \& [ssl_configuration]
- \& ... SSL/TLS configuration properties here ...
- \&
- \& [engines]
- \& ... engine properties here ...
- \&
- \& [random]
- \& ... random properties here ...
- .Ve
- .PP
- The semantics of each module are described below. The phrase "in the
- initialization section" refers to the section identified by the
- \&\fBopenssl_conf\fR or other name (given as \fBopenssl_init\fR in the
- example above). The examples below assume the configuration above
- is used to specify the individual sections.
- .SS "ASN.1 Object Identifier Configuration"
- .IX Subsection "ASN.1 Object Identifier Configuration"
- The name \fBoid_section\fR in the initialization section names the section
- containing name/value pairs of OID's.
- The name is the short name; the value is an optional long name followed
- by a comma, and the numeric value.
- While some OpenSSL commands have their own section for specifying OID's,
- this section makes them available to all commands and applications.
- .PP
- .Vb 4
- \& [oids]
- \& shortName = a very long OID name, 1.2.3.4
- \& newoid1 = 1.2.3.4.1
- \& some_other_oid = 1.2.3.5
- .Ve
- .PP
- If a full configuration with the above fragment is in the file
- \&\fIexample.cnf\fR, then the following command line:
- .PP
- .Vb 1
- \& OPENSSL_CONF=example.cnf openssl asn1parse \-genstr OID:1.2.3.4.1
- .Ve
- .PP
- will output:
- .PP
- .Vb 1
- \& 0:d=0 hl=2 l= 4 prim: OBJECT :newoid1
- .Ve
- .PP
- showing that the OID "newoid1" has been added as "1.2.3.4.1".
- .SS "Provider Configuration"
- .IX Subsection "Provider Configuration"
- The name \fBproviders\fR in the initialization section names the section
- containing cryptographic provider configuration. The name/value assignments
- in this section each name a provider, and point to the configuration section
- for that provider. The provider-specific section is used to specify how
- to load the module, activate it, and set other parameters.
- .PP
- Within a provider section, the following names have meaning:
- .IP \fBidentity\fR 4
- .IX Item "identity"
- This is used to specify an alternate name, overriding the default name
- specified in the list of providers. For example:
- .Sp
- .Vb 2
- \& [providers]
- \& foo = foo_provider
- \&
- \& [foo_provider]
- \& identity = my_fips_module
- .Ve
- .IP \fBmodule\fR 4
- .IX Item "module"
- Specifies the pathname of the module (typically a shared library) to load.
- .IP \fBactivate\fR 4
- .IX Item "activate"
- If present and set to one of the values yes, on, true or 1, then the associated
- provider will be activated. Conversely, setting this value to no, off, false, or
- 0 will prevent the provider from being activated. Settings can be given in lower
- or uppercase. Setting activate to any other setting, or omitting a setting
- value will result in an error.
- .Sp
- = item \fBsoft_load\fR
- .Sp
- If enabled, informs the library to clear the error stack on failure to activate
- requested provider. A value of 1, yes, true or on (in lower or uppercase) will
- activate this setting, while a value of 0, no, false, of off (again in lower or
- uppercase) will disable this setting. Any other value will produce an error.
- Note this setting defaults to off if not provided
- .PP
- All parameters in the section as well as sub-sections are made
- available to the provider.
- .PP
- \fIDefault provider and its activation\fR
- .IX Subsection "Default provider and its activation"
- .PP
- If no providers are activated explicitly, the default one is activated implicitly.
- See \fBOSSL_PROVIDER\-default\fR\|(7) for more details.
- .PP
- If you add a section explicitly activating any other provider(s),
- you most probably need to explicitly activate the default provider,
- otherwise it becomes unavailable in openssl. It may make the system remotely unavailable.
- .SS "EVP Configuration"
- .IX Subsection "EVP Configuration"
- The name \fBalg_section\fR in the initialization section names the section
- containing algorithmic properties when using the \fBEVP\fR API.
- .PP
- Within the algorithm properties section, the following names have meaning:
- .IP \fBdefault_properties\fR 4
- .IX Item "default_properties"
- The value may be anything that is acceptable as a property query
- string for \fBEVP_set_default_properties()\fR.
- .IP "\fBfips_mode\fR (deprecated)" 4
- .IX Item "fips_mode (deprecated)"
- The value is a boolean that can be \fByes\fR or \fBno\fR. If the value is
- \&\fByes\fR, this is exactly equivalent to:
- .Sp
- .Vb 1
- \& default_properties = fips=yes
- .Ve
- .Sp
- If the value is \fBno\fR, nothing happens. Using this name is deprecated, and
- if used, it must be the only name in the section.
- .SS "SSL Configuration"
- .IX Subsection "SSL Configuration"
- The name \fBssl_conf\fR in the initialization section names the section
- containing the list of SSL/TLS configurations.
- As with the providers, each name in this section identifies a
- section with the configuration for that name. For example:
- .PP
- .Vb 4
- \& [ssl_configuration]
- \& server = server_tls_config
- \& client = client_tls_config
- \& system_default = tls_system_default
- \&
- \& [server_tls_config]
- \& ... configuration for SSL/TLS servers ...
- \&
- \& [client_tls_config]
- \& ... configuration for SSL/TLS clients ...
- .Ve
- .PP
- The configuration name \fBsystem_default\fR has a special meaning. If it
- exists, it is applied whenever an \fBSSL_CTX\fR object is created. For example,
- to impose system-wide minimum TLS and DTLS protocol versions:
- .PP
- .Vb 3
- \& [tls_system_default]
- \& MinProtocol = TLSv1.2
- \& MinProtocol = DTLSv1.2
- .Ve
- .PP
- The minimum TLS protocol is applied to \fBSSL_CTX\fR objects that are TLS-based,
- and the minimum DTLS protocol to those are DTLS-based.
- The same applies also to maximum versions set with \fBMaxProtocol\fR.
- .PP
- Each configuration section consists of name/value pairs that are parsed
- by \fBSSL_CONF_cmd\|(3)\fR, which will be called by \fBSSL_CTX_config()\fR or
- \&\fBSSL_config()\fR, appropriately. Note that any characters before an initial
- dot in the configuration section are ignored, so that the same command can
- be used multiple times. This probably is most useful for loading different
- key types, as shown here:
- .PP
- .Vb 3
- \& [server_tls_config]
- \& RSA.Certificate = server\-rsa.pem
- \& ECDSA.Certificate = server\-ecdsa.pem
- .Ve
- .SS "Engine Configuration"
- .IX Subsection "Engine Configuration"
- The name \fBengines\fR in the initialization section names the section
- containing the list of ENGINE configurations.
- As with the providers, each name in this section identifies an engine
- with the configuration for that engine.
- The engine-specific section is used to specify how to load the engine,
- activate it, and set other parameters.
- .PP
- Within an engine section, the following names have meaning:
- .IP \fBengine_id\fR 4
- .IX Item "engine_id"
- This is used to specify an alternate name, overriding the default name
- specified in the list of engines. If present, it must be first.
- For example:
- .Sp
- .Vb 2
- \& [engines]
- \& foo = foo_engine
- \&
- \& [foo_engine]
- \& engine_id = myfoo
- .Ve
- .IP \fBdynamic_path\fR 4
- .IX Item "dynamic_path"
- This loads and adds an ENGINE from the given path. It is equivalent to
- sending the ctrls \fBSO_PATH\fR with the path argument followed by \fBLIST_ADD\fR
- with value \fB2\fR and \fBLOAD\fR to the dynamic ENGINE. If this is not the
- required behaviour then alternative ctrls can be sent directly to the
- dynamic ENGINE using ctrl commands.
- .IP \fBinit\fR 4
- .IX Item "init"
- This specifies whether to initialize the ENGINE. If the value is \fB0\fR the
- ENGINE will not be initialized, if the value is \fB1\fR an attempt is made
- to initialize
- the ENGINE immediately. If the \fBinit\fR command is not present then an
- attempt will be made to initialize the ENGINE after all commands in its
- section have been processed.
- .IP \fBdefault_algorithms\fR 4
- .IX Item "default_algorithms"
- This sets the default algorithms an ENGINE will supply using the function
- \&\fBENGINE_set_default_string()\fR.
- .PP
- All other names are taken to be the name of a ctrl command that is
- sent to the ENGINE, and the value is the argument passed with the command.
- The special value \fBEMPTY\fR means no value is sent with the command.
- For example:
- .PP
- .Vb 2
- \& [engines]
- \& foo = foo_engine
- \&
- \& [foo_engine]
- \& dynamic_path = /some/path/fooengine.so
- \& some_ctrl = some_value
- \& default_algorithms = ALL
- \& other_ctrl = EMPTY
- .Ve
- .SS "Random Configuration"
- .IX Subsection "Random Configuration"
- The name \fBrandom\fR in the initialization section names the section
- containing the random number generator settings.
- .PP
- Within the random section, the following names have meaning:
- .IP \fBrandom\fR 4
- .IX Item "random"
- This is used to specify the random bit generator.
- For example:
- .Sp
- .Vb 2
- \& [random]
- \& random = CTR\-DRBG
- .Ve
- .Sp
- The available random bit generators are:
- .RS 4
- .IP \fBCTR-DRBG\fR 4
- .IX Item "CTR-DRBG"
- .PD 0
- .IP \fBHASH-DRBG\fR 4
- .IX Item "HASH-DRBG"
- .IP \fBHMAC-DRBG\fR 4
- .IX Item "HMAC-DRBG"
- .RE
- .RS 4
- .RE
- .IP \fBcipher\fR 4
- .IX Item "cipher"
- .PD
- This specifies what cipher a \fBCTR-DRBG\fR random bit generator will use.
- Other random bit generators ignore this name.
- The default value is \fBAES\-256\-CTR\fR.
- .IP \fBdigest\fR 4
- .IX Item "digest"
- This specifies what digest the \fBHASH-DRBG\fR or \fBHMAC-DRBG\fR random bit
- generators will use. Other random bit generators ignore this name.
- .IP \fBproperties\fR 4
- .IX Item "properties"
- This sets the property query used when fetching the random bit generator and
- any underlying algorithms.
- .IP \fBseed\fR 4
- .IX Item "seed"
- This sets the randomness source that should be used. By default \fBSEED-SRC\fR
- will be used outside of the FIPS provider. The FIPS provider uses call backs
- to access the same randomness sources from outside the validated boundary.
- .IP \fBseed_properties\fR 4
- .IX Item "seed_properties"
- This sets the property query used when fetching the randomness source.
- .SH EXAMPLES
- .IX Header "EXAMPLES"
- This example shows how to use quoting and escaping.
- .PP
- .Vb 3
- \& # This is the default section.
- \& HOME = /temp
- \& configdir = $ENV::HOME/config
- \&
- \& [ section_one ]
- \& # Quotes permit leading and trailing whitespace
- \& any = " any variable name "
- \& other = A string that can \e
- \& cover several lines \e
- \& by including \e\e characters
- \& message = Hello World\en
- \&
- \& [ section_two ]
- \& greeting = $section_one::message
- .Ve
- .PP
- This example shows how to expand environment variables safely.
- In this example, the variable \fBtempfile\fR is intended to refer
- to a temporary file, and the environment variable \fBTEMP\fR or
- \&\fBTMP\fR, if present, specify the directory where the file
- should be put.
- Since the default section is checked if a variable does not
- exist, it is possible to set \fBTMP\fR to default to \fI/tmp\fR, and
- \&\fBTEMP\fR to default to \fBTMP\fR.
- .PP
- .Vb 3
- \& # These two lines must be in the default section.
- \& TMP = /tmp
- \& TEMP = $ENV::TMP
- \&
- \& # This can be used anywhere
- \& tmpfile = ${ENV::TEMP}/tmp.filename
- .Ve
- .PP
- This example shows how to enforce FIPS mode for the application
- \&\fIsample\fR.
- .PP
- .Vb 1
- \& sample = fips_config
- \&
- \& [fips_config]
- \& alg_section = evp_properties
- \&
- \& [evp_properties]
- \& default_properties = "fips=yes"
- .Ve
- .SH ENVIRONMENT
- .IX Header "ENVIRONMENT"
- .IP \fBOPENSSL_CONF\fR 4
- .IX Item "OPENSSL_CONF"
- The path to the config file, or the empty string for none.
- Ignored in set-user-ID and set-group-ID programs.
- .IP \fBOPENSSL_ENGINES\fR 4
- .IX Item "OPENSSL_ENGINES"
- The path to the engines directory.
- Ignored in set-user-ID and set-group-ID programs.
- .IP \fBOPENSSL_MODULES\fR 4
- .IX Item "OPENSSL_MODULES"
- The path to the directory with OpenSSL modules, such as providers.
- Ignored in set-user-ID and set-group-ID programs.
- .IP \fBOPENSSL_CONF_INCLUDE\fR 4
- .IX Item "OPENSSL_CONF_INCLUDE"
- The optional path to prepend to all \fB.include\fR paths.
- .SH BUGS
- .IX Header "BUGS"
- There is no way to include characters using the octal \fB\ennn\fR form. Strings
- are all null terminated so nulls cannot form part of the value.
- .PP
- The escaping isn't quite right: if you want to use sequences like \fB\en\fR
- you can't use any quote escaping on the same line.
- .PP
- The limit that only one directory can be opened and read at a time
- can be considered a bug and should be fixed.
- .SH HISTORY
- .IX Header "HISTORY"
- An undocumented API, \fBNCONF_WIN32()\fR, used a slightly different set
- of parsing rules there were intended to be tailored to
- the Microsoft Windows platform.
- Specifically, the backslash character was not an escape character and
- could be used in pathnames, only the double-quote character was recognized,
- and comments began with a semi-colon.
- This function was deprecated in OpenSSL 3.0; applications with
- configuration files using that syntax will have to be modified.
- .SH "SEE ALSO"
- .IX Header "SEE ALSO"
- \&\fBopenssl\-x509\fR\|(1), \fBopenssl\-req\fR\|(1), \fBopenssl\-ca\fR\|(1),
- \&\fBopenssl\-fipsinstall\fR\|(1),
- \&\fBASN1_generate_nconf\fR\|(3),
- \&\fBEVP_set_default_properties\fR\|(3),
- \&\fBCONF_modules_load\fR\|(3),
- \&\fBCONF_modules_load_file\fR\|(3),
- \&\fBfips_config\fR\|(5), and
- \&\fBx509v3_config\fR\|(5).
- .SH COPYRIGHT
- .IX Header "COPYRIGHT"
- Copyright 2000\-2023 The OpenSSL Project Authors. All Rights Reserved.
- .PP
- Licensed under the Apache License 2.0 (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
- <https://www.openssl.org/source/license.html>.
|