はじめのいっぽ  ページ一覧  更新履歴

config(5)

 
 =pod
 
 =head1 NAME
 
 config - OpenSSL CONF library configuration files

NAME

config - OpenSSL CONF ライブラリ設定ファイル

 =head1 DESCRIPTION

DESCRIPTION

 The 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 extension
 files for the B<x509> utility.

OpenSSL CONF ライブラリは設定ファイルの読み込み時に利用可能である。OpenSSL のマスタ設定ファイル openssl.cnf 及び、 SPKAC ファイルや x509 ユーティリティで利用する証明書拡張領域ファイルのような一部の場所で利用される。

 A configuration file is divided into a number of sections. Each section
 starts with a line B<[ section_name ]> and ends when a new section is
 started or end of file is reached. A section name can consist of
 alphanumeric characters and underscores.

設定ファイルは、いくつかのセクションによって分けられている。個々のセクションは [section_name] を含む行で開始され、新しいセクションが始まるところか、ファイルの末尾で終了する。セクション名は英数字とアンダースコアが利用できる。

 The first section of a configuration file is special and is referred
 to as the B<default> section this is usually unnamed and is from the
 start of file until the first named section. When a name is being looked up
 it is first looked up in a named section (if any) and then the
 default section.

設定ファイルの最初のセクションは特別で、default セクションと呼ばれる。これは通常セクション名が設定されず、ファイルの開始から最初の名前付きセクションまでの領域を指す。名前が検索される時には、始めに (もしあれば) 名前付きセクションが検索され、その後 default セクションが検索される。

 The environment is mapped onto a section called B<ENV>.

変数は ENV と呼ばれるセクション上でマップされる。

 Comments can be included by preceding them with the B<#> character

コメントは、先頭に # キャラクタを置いて記述する。

 Each section in a configuration file consists of a number of name and
 value pairs of the form B<name=value>

設定ファイルの個々のセクションは、name=value 形式で名前と値のペアをいくつも含んでいる。

 The B<name> string can contain any alphanumeric characters as well as
 a few punctuation symbols such as B<.> B<,> B<;> and B<_>.

name 文字列は英数字及び 「. 」、「,」、「;」及び「_ 」といったいくつかの句読点記号が利用可能である。

 The B<value> string consists of the string following the B<=> character
 until end of line with any leading and trailing white space removed.

value 文字列は「=」の直後に開始され行末で終る文字列からなる。文字列の最初より前と最後より後ろにあるスペースは無視される。

 The value string undergoes variable expansion. This can be done by
 including the form B<$var> or B<${var}>: this will substitute the value
 of the named variable in the current section. It is also possible to
 substitute a value from another section using the syntax B<$section::name>
 or B<${section::name}>. By using the form B<$ENV::name> environment
 variables can be substituted. It is also possible to assign values to
 environment variables by using the name B<ENV::name>, this will work
 if the program looks up environment variables using the B<CONF> library
 instead of calling B<getenv()> directly.

value 文字列は、様々な展開ができる。これは $var あるいは ${var} 形式を利用することで可能となる。: これはセクション内でのみ、名前付き変数の値を置換する。なお、別のセクションから値を置換する場合は、 $section::name あるいは ${section::name} を利用する。$ENV::name 形式を利用することで、環境変数の置換が可能となる。名前 ENV:name を使うことによって値を環境変数に割り当てることもまた可能である。これは、プログラムが getenv()を直接呼び出すのではなく CONF ライブラリを利用して環境変数を探す際に 動作する。

 It is possible to escape certain characters by using any kind of quote
 or the B<\> character. By making the last character of a line a B<\>
 a B<value> string can be spread across multiple lines. In addition
 the sequences B<\n>, B<\r>, B<\b> and B<\t> are recognized.

特定のキャラクタをクォートする、あるいは \ (バックスラッシュ)によってエスケープすることが可能である。行末の \ (バックスラッシュ)を利用することで value 文字列が複数行にわたることを可能にする。なお、「\n」、「\r」、「\b」及び「\t」といったシーケンスは解釈される。

 =head1 NOTES

NOTES

 If a configuration file attempts to expand a variable that doesn't exist
 then an error is flagged and the file will not load. This can happen
 if an attempt is made to expand an environment variable that doesn't
 exist. For example the default OpenSSL master configuration file used
 the value of B<HOME> which may not be defined on non Unix systems.

設定ファイルが存在しない変数を展開しようとする場合、エラーが発生し、ファイルはロードされない。もしも存在しない環境変数を展開しようとすると、この現象が発生する。例えば、デフォルトのOpenSSL 主設定ファイルが、 UNIX 以外のシステムでは定義されていない HOME 変数を利用する場合などである。

 This can be worked around by including a B<default> section to provide
 a default value: then if the environment lookup fails the default value
 will be used instead. For this to work properly the default value must
 be defined earlier in the configuration file than the expansion. See
 the B<EXAMPLES> section for an example of how to do this.

これは、デフォルト値を設定する default セクションを含むことで動作させられる。 : もしも変数の検索に失敗したら、デフォルト値が変わりに利用される。これが正しく働くために、デフォルト値は展開して作るのではなく、設定ファイルであらかじめ定義されている必要がある。 どのように利用するかの例は EXAMPLE セクションを参照のこと。

 If the same variable exists in the same section then all but the last
 value will be silently ignored. In certain circumstances such as with
 DNs the same field may occur multiple times. This is usually worked
 around by ignoring any characters before an initial B<.> e.g.
 
  1.OU="My first OU"
  2.OU="My Second OU"

もしも同じ変数が複数同じセクションに存在する場合、最後の値を除くすべてが無視される。例えば、DN のような特定の環境では、同じフィールドが何回も出現する。これは通常、最初に出現する「.」の前の文字列を無視することによって対処される。例えば以下の通り。

  1.OU="My first OU"
  2.OU="My Second OU"
 =head1 EXAMPLES

EXAMPLES

 Here is a sample configuration file using some of the features
 mentioned above.

以下に、ここまでで説明したいくつかの特徴を利用したサンプル設定ファイルを掲載する。

  # This is the default section.
  1. これはデフォルトセクションとなる
  
  HOME=/temp
  RANDFILE= ${ENV::HOME}/.rnd
  configdir=$ENV::HOME/config
 
  [ section_one ]
 
  # We are now in section one.
  1. 最初のセクションである。
 
  # Quotes permit leading and trailing whitespace
  1. クォートは、先頭と終端のスペースを許可する
  any = " any variable name "
 
  other = A string that can \
  cover several lines \
  by including \\ characters
 
  message = Hello World\n
 
  [ section_two ]
 
  greeting = $section_one::message
 This next example shows how to expand environment variables safely.

次の例は環境変数を安全に展開する方法を紹介している。

 Suppose you want a variable called B<tmpfile> to refer to a
 temporary filename. The directory it is placed in can determined by
 the the B<TEMP> or B<TMP> environment variables but they may not be
 set to any value at all. If you just include the environment variable
 names and the variable doesn't exist then this will cause an error when
 an attempt is made to load the configuration file. By making use of the
 default 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

仮に、一時ファイル名として tmpfile という名前の変数が必要だとする。ファイルの置場所となるディレクトリは、 TEMP あるいは TMP 環境変数で定義する事が可能だが、一切値は設定されていない可能性がある。もしも、環境変数名を追加したけれども変数が存在しない場合、設定ファイルをロードしようとした際にエラーが発生する。デフォルトセクションを利用することで、環境変数は始めに TMP として検索され、TMP、TEMPのどちらも設定されていなければ /tmp が定義される。

  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 BUGS

BUGS

 Currently there is no way to include characters using the octal B<\nnn>
 form. Strings are all null terminated so nulls cannot form part of
 the value.

現在、8進数の \nnn 形式を利用したキャラクタを利用する方法はない。文字列はすべて null を終端とするため、 null は値に利用する事ができない。

 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.

エスケープ処理が正しく行なわれていない。 : もしも \n のようなシーケンスを利用すると、同じ行にクォートを利用したエスケープ処理を利用できない。

 Files are loaded in a single pass. This means that an variable expansion
 will only work if the variables referenced are defined earlier in the
 file.

ファイルはシングルパスでロードされる。これは、変数展開は参照される変数がファイル上で先に定義されている場合のみに動作するためである。

 =head1 SEE ALSO

SEE ALSO

 L<x509(1)|x509(1)>, L<req(1)|req(1)>, L<ca(1)|ca(1)>
 
 =cut
更新日時:2004/05/20 19:05:57
キーワード:
参照:[ca(1)] [はじめのいっぽ] [OpenSSL のマニュアルの翻訳] [0.9.7f→0.9.8(無印)の変更と追加] [CA.pl(1)]