Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::Configクラス

class OpenSSL::Config

クラスの継承リスト: OpenSSL::Config < Enumerable < Object < Kernel

要約

OpenSSL の設定ファイルを表すクラスです。

OpenSSL の設定ファイルは、キーと文字列を対応付けた単純な構造をしています。 また、キーはセクションによってグループ分けされています。 どのセクションにも属さないグローバルなキーを作ることもできます。

デフォルトの設定ファイルを読み込む例

require 'openssl'
conf = OpenSSL::Config.load(OpenSSL::Config::DEFAULT_CONFIG_FILE)
p conf.sections # => ["req_distinguished_name", "req_attributes", "proxy_cert_ext", "policy_anything", "CA_default", ...]
p conf.get_value("", "HOME") # => "."
p conf.get_value("CA_default", "default_days") # => "365"

目次

特異メソッド
load new parse
インスタンスメソッド
[] section []= add_value each get_value sections to_s value
定数
DEFAULT_CONFIG_FILE

特異メソッド

load(filename = nil) -> OpenSSL::Config[permalink][rdoc]
new(filename = nil) -> OpenSSL::Config

OpenSSL::Config オブジェクトを生成します。

filename で指定したファイルから設定データを読みこみます。

filename を省略した場合は空のオブジェクトが生成されます。

[PARAM] filename:
ファイル名文字列
[EXCEPTION] OpenSSL::ConfigError:
設定ファイルの文法が正しくない場合に発生します
parse(str) -> OpenSSL::Config[permalink][rdoc]

文字列から OpenSSL::Config オブジェクトを生成します。

[PARAM] str:
設定ファイルデータ

インスタンスメソッド

self[sec] -> {String => String}[permalink][rdoc]
section(sec) -> {String => String}

指定したセクションの設定情報をハッシュで返します。

ハッシュのキーが設定情報のキー、ハッシュの値が対応する情報となります。

section は obsolete です。[] を使ってください。

[PARAM] sec:
セクションを表す文字列
self[sec] = hashtbl[permalink][rdoc]

指定したセクションの設定情報を上書きします。

sec で変更するセクションを指定し、hashtbl は {キー文字列 => データ文字列} というハッシュで変更する情報を渡します。

hashtbl に含まれていないキーに対応する情報は変更されません。

[PARAM] sec:
セクションを表す文字列
[PARAM] hashtbl:
設定する情報のハッシュ
add_value(section, name, value) -> String[permalink][rdoc]

section で指定したセクションにある name というキーの 情報を value に変更します。

指定した section が存在しない場合には新たにそのセクションが オブジェクト内に作られます。 指定した name が存在しない場合も同様に新たな領域が そのオブジェクト内に作られます。指定した name が存在した場合には 情報が上書きされます。

value を返します。

[PARAM] section:
セクションを表す文字列
[PARAM] name:
キーを表す文字列
[PARAM] value:
変更後の値の文字列
[EXCEPTION] OpenSSL::ConfigError:
設定に失敗した場合に発生します
each {|section, key, value| ... } -> self[permalink][rdoc]

オブジェクトに含まれる全ての設定情報を順にブロックに渡し 呼び出します。

渡される値は、セクションを表す文字列、キーを表す文字列、キーに 割り当てられた値の文字列、の3つです。

require 'openssl'
conf = OpenSSL::Config.load(OpenSSL::Config::DEFAULT_CONFIG_FILE)
conf.each{|section, key, value| p [section, key, value]}
# => ["req_distinguished_name", "countryName", "Country Name (2 letter code)"]
# => ["req_distinguished_name", "countryName_default", "AU"]
# => ["req_distinguished_name", "countryName_min", "2"]
# =>       :
get_value(section, name) -> String | nil[permalink][rdoc]

オブジェクトが持っている設定情報を返します。

キーに対応する設定情報がない場合は nil を返します。

[PARAM] section:
セクションを表す文字列。"" を渡すことでグローバルな設定情報を読むことができます。
[PARAM] name:
キーを表す文字列
sections -> [String][permalink][rdoc]

オブジェクトに含まれる全てのセクション名の配列を返します。

to_s -> String[permalink][rdoc]

オブジェクトに含まれる設定情報を OpenSSL の設定ファイルの形式で 出力します。

value(name) -> String | nil[permalink][rdoc]
value(section, name) -> String | nil

このメソッドは obsolete です。

オブジェクトが持っている設定情報を返します。

引数が一つの場合はグローバルセクションの情報を返し、 2つの場合は section で指定したセクションの情報を返します。

[PARAM] section:
セクションを表す文字列
[PARAM] name:
キーを表す文字列

定数

DEFAULT_CONFIG_FILE -> String[permalink][rdoc]

デフォルトの設定ファイル名を返します。