⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.pod

📁 Openssl 0.9.8e 最新版OpenSSL
💻 POD
字号:
=pod=for comment openssl_manual_section:5=head1 NAMEconfig - OpenSSL CONF library configuration files=head1 DESCRIPTIONThe OpenSSL CONF library can be used to read configuration files.It is used for the OpenSSL master configuration file B<openssl.cnf>and in a few other places like B<SPKAC> files and certificate extensionfiles for the B<x509> utility. OpenSSL applications can also use theCONF library for their own purposes.A configuration file is divided into a number of sections. Each sectionstarts with a line B<[ section_name ]> and ends when a new section isstarted or end of file is reached. A section name can consist ofalphanumeric characters and underscores.The first section of a configuration file is special and is referredto as the B<default> section this is usually unnamed and is from thestart of file until the first named section. When a name is being looked upit is first looked up in a named section (if any) and then thedefault section.The environment is mapped onto a section called B<ENV>.Comments can be included by preceding them with the B<#> characterEach section in a configuration file consists of a number of name andvalue pairs of the form B<name=value>The B<name> string can contain any alphanumeric characters as well asa few punctuation symbols such as B<.> B<,> B<;> and B<_>.The B<value> string consists of the string following the B<=> characteruntil end of line with any leading and trailing white space removed.The value string undergoes variable expansion. This can be done byincluding the form B<$var> or B<${var}>: this will substitute the valueof the named variable in the current section. It is also possible tosubstitute a value from another section using the syntax B<$section::name>or B<${section::name}>. By using the form B<$ENV::name> environmentvariables can be substituted. It is also possible to assign values toenvironment variables by using the name B<ENV::name>, this will workif the program looks up environment variables using the B<CONF> libraryinstead of calling B<getenv()> directly.It is possible to escape certain characters by using any kind of quoteor the B<\> character. By making the last character of a line a B<\>a B<value> string can be spread across multiple lines. In additionthe sequences B<\n>, B<\r>, B<\b> and B<\t> are recognized.=head1 OPENSSL LIBRARY CONFIGURATIONIn OpenSSL 0.9.7 and later applications can automatically configure certainaspects of OpenSSL using the master OpenSSL configuration file, or optionallyan alternative configuration file. The B<openssl> utility includes thisfunctionality: any sub command uses the master OpenSSL configuration fileunless an option is used in the sub command to use an alternative configurationfile.To enable library configuration the default section needs to contain an appropriate line which points to the main configuration section. The defaultname is B<openssl_conf> which is used by the B<openssl> utility. Otherapplications may use an alternative name such as B<myapplicaton_conf>.The configuration section should consist of a set of name value pairs whichcontain specific module configuration information. The B<name> representsthe name of the I<configuration module> the meaning of the B<value> is module specific: it may, for example, represent a further configurationsection containing configuration module specific information. E.g. openssl_conf = openssl_init [openssl_init] oid_section = new_oids engines = engine_section [new_oids] ... new oids here ... [engine_section] ... engine stuff here ...Currently there are two configuration modules. One for ASN1 objects anotherfor ENGINE configuration.=head2 ASN1 OBJECT CONFIGURATION MODULEThis module has the name B<oid_section>. The value of this variable pointsto a section containing name value pairs of OIDs: the name is the OID shortand long name, the value is the numerical form of the OID. Although some ofthe B<openssl> utility sub commands already have their own ASN1 OBJECT sectionfunctionality not all do. By using the ASN1 OBJECT configuration moduleB<all> the B<openssl> utility sub commands can see the new objects as wellas any compliant applications. For example: [new_oids]  some_new_oid = 1.2.3.4 some_other_oid = 1.2.3.5In OpenSSL 0.9.8 it is also possible to set the value to the long name followedby a comma and the numerical OID form. For example: shortName = some object long name, 1.2.3.4=head2 ENGINE CONFIGURATION MODULEThis ENGINE configuration module has the name B<engines>. The value of thisvariable points to a section containing further ENGINE configurationinformation.The section pointed to by B<engines> is a table of engine names (though seeB<engine_id> below) and further sections containing configuration informationsspecific to each ENGINE.Each ENGINE specific section is used to set default algorithms, loaddynamic, perform initialization and send ctrls. The actual operation performeddepends on the I<command> name which is the name of the name value pair. Thecurrently supported commands are listed below.For example: [engine_section] # Configure ENGINE named "foo" foo = foo_section # Configure ENGINE named "bar" bar = bar_section [foo_section] ... foo ENGINE specific commands ... [bar_section] ... "bar" ENGINE specific commands ...The command B<engine_id> is used to give the ENGINE name. If used this command must be first. For example: [engine_section] # This would normally handle an ENGINE named "foo" foo = foo_section [foo_section] # Override default name and use "myfoo" instead. engine_id = myfooThe command B<dynamic_path> loads and adds an ENGINE from the given path. Itis equivalent to sending the ctrls B<SO_PATH> with the path argument followedby B<LIST_ADD> with value 2 and B<LOAD> to the dynamic ENGINE. If this isnot the required behaviour then alternative ctrls can be sent directlyto the dynamic ENGINE using ctrl commands.The command B<init> determines whether to initialize the ENGINE. If the valueis B<0> the ENGINE will not be initialized, if B<1> and attempt it made toinitialized the ENGINE immediately. If the B<init> command is not presentthen an attempt will be made to initialize the ENGINE after all commands inits section have been processed.The command B<default_algorithms> sets the default algorithms an ENGINE willsupply using the functions B<ENGINE_set_default_string()>If the name matches none of the above command names it is assumed to be actrl command which is sent to the ENGINE. The value of the command is the argument to the ctrl command. If the value is the string B<EMPTY> then novalue is sent to the command.For example: [engine_section] # Configure ENGINE named "foo" foo = foo_section [foo_section] # Load engine from DSO dynamic_path = /some/path/fooengine.so # A foo specific ctrl. some_ctrl = some_value # Another ctrl that doesn't take a value. other_ctrl = EMPTY # Supply all default algorithms default_algorithms = ALL=head1 NOTESIf a configuration file attempts to expand a variable that doesn't existthen an error is flagged and the file will not load. This can happenif an attempt is made to expand an environment variable that doesn'texist. For example in a previous version of OpenSSL the default OpenSSLmaster configuration file used the value of B<HOME> which may not bedefined on non Unix systems and would cause an error.This can be worked around by including a B<default> section to providea default value: then if the environment lookup fails the default valuewill be used instead. For this to work properly the default value mustbe defined earlier in the configuration file than the expansion. Seethe B<EXAMPLES> section for an example of how to do this.If the same variable exists in the same section then all but the lastvalue will be silently ignored. In certain circumstances such as withDNs the same field may occur multiple times. This is usually workedaround by ignoring any characters before an initial B<.> e.g. 1.OU="My first OU" 2.OU="My Second OU"=head1 EXAMPLESHere is a sample configuration file using some of the featuresmentioned above. # This is the default section.  HOME=/temp RANDFILE= ${ENV::HOME}/.rnd configdir=$ENV::HOME/config [ section_one ] # We are now in section one. # Quotes permit leading and trailing whitespace any = " any variable name " other = A string that can \ cover several lines \ by including \\ characters message = Hello World\n [ section_two ] greeting = $section_one::messageThis next example shows how to expand environment variables safely.Suppose you want a variable called B<tmpfile> to refer to atemporary filename. The directory it is placed in can determined bythe the B<TEMP> or B<TMP> environment variables but they may not beset to any value at all. If you just include the environment variablenames and the variable doesn't exist then this will cause an error whenan attempt is made to load the configuration file. By making use of thedefault section both values can be looked up with B<TEMP> taking priority and B</tmp> used if neither is defined: TMP=/tmp # The above value is used if TMP isn't in the environment TEMP=$ENV::TMP # The above value is used if TEMP isn't in the environment tmpfile=${ENV::TEMP}/tmp.filename=head1 BUGSCurrently there is no way to include characters using the octal B<\nnn>form. Strings are all null terminated so nulls cannot form part ofthe value.The escaping isn't quite right: if you want to use sequences like B<\n>you can't use any quote escaping on the same line.Files are loaded in a single pass. This means that an variable expansionwill only work if the variables referenced are defined earlier in thefile.=head1 SEE ALSOL<x509(1)|x509(1)>, L<req(1)|req(1)>, L<ca(1)|ca(1)>=cut

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -