module OpenSSL::PKCS12

要約

PKCS#12 (秘密鍵、証明書、関連するCA証明書を1つのファイルに保存する形式) を表すクラスです。

目次

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

特異メソッド

create(pass, name, pkey, cert, ca=nil, key_nid=nil, cert_nid=nil, key_iter=nil, mac_iter=nil, keytype=nil) -> OpenSSL::PKCS12[permalink][rdoc]

PKCS#12 オブジェクトを生成します。

pass はデータを暗号化するためのパスフレーズです。 name は利用者の利便性のためにオブジェクトに与える名前です。 pkey は秘密鍵、certは証明書、caはCA証明書の配列です。 ca に nil を渡すのは空の配列を渡すのと同じ意味です。 nid_key と nid_cert は 秘密鍵、証明書の暗号化方式を文字列で指定します。 key_iter は暗号化アルゴリズムにイテレーション回数、 mac_iter は MAC のイテレーション回数、 keytype は鍵の種類を渡します。

key_nid, cert_nid, key_iter, mac_iter, keytype すべてに nil を渡すとデフォルトとして、証明書は 40 bit RC2 で暗号化、秘密鍵は triple DES で暗号化、key_iter は2048、mac_iter は1、keytypeなしとなります。

mac_iter がデフォルトで1なのは古いソフトウェアとの互換性のためです。互換性が問題でなければ 2048(PKCS12_DEFAULT_ITER)を用いてください。

[PARAM] pass:
パスフレーズ文字列
[PARAM] name:
名前文字列
[PARAM] pkey:
秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
[PARAM] cert:
証明書(OpenSSL::X509::Certificate のオブジェクト)
[PARAM] ca:
CA証明書群(OpenSSL::X509::Certificate の配列)
[PARAM] key_nid:
秘密鍵の暗号化方式を表す文字列
[PARAM] cert_nid:
証明書の暗号化方式を表す文字列
[PARAM] key_iter:
暗号化アルゴリズムにイテレーション回数
[PARAM] mac_iter:
MAC のイテレーション回数
[PARAM] keytype:
鍵の種類(整数)
[EXCEPTION] OpenSSL::PKCS12::PKCS12Error:
オブジェクト生成に失敗した場合に発生します
new(obj=nil, pass=nil) -> OpenSSL::PKCS12[permalink][rdoc]

文字列もしくは IO オブジェクトから PKCS#12 オブジェクトを生成します。

データは通常パスフレーズで暗号化されているため、pass でそのパスワードを渡します。

[PARAM] obj:
PKCS#12データを読み込むオブジェクト(文字列もしくは IO)
[PARAM] pass:
パスフレーズ文字列
[EXCEPTION] OpenSSL::PKCS12::PKCS12Error:
データの読み込みに失敗した場合に発生します

インスタンスメソッド

ca_certs -> [OpenSSL::X509::Certificate][permalink][rdoc]

自身が保持しているCA証明書を配列で返します。

certificate -> OpenSSL::X509::Certificate[permalink][rdoc]

自身が保持している証明書を返します。

key -> OpenSSL::PKey::PKey[permalink][rdoc]

自身が保持している鍵を返します。

to_der -> String[permalink][rdoc]

自身を DER 形式の文字列に変換します。

[EXCEPTION] OpenSSL::PKCS12::PKCS12Error:
変換に失敗した場合に発生します