class OpenSSL::Config

要約

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"

目次

特異メソッド
インスタンスメソッド
定数

継承しているメソッド

Enumerableから継承しているメソッド

特異メソッド

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]

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