module Gem::Security

[edit]

要約

目次

特異メソッド
定数

特異メソッド

add_trusted_cert(cert, options = {}) -> nil[permalink][rdoc][edit]

信頼済み証明書リストに与えられた証明書を追加します。

Note: しばらくの間 OPT[:trust_dir] に保存されますが、今後変更される可能性があります。

[PARAM] cert:
証明書を指定します。
[PARAM] options:
オプションを指定します。
build_cert(name, key, options = {}) -> OpenSSL::X509::Certificate[permalink][rdoc][edit]

与えられた DN と秘密鍵を使用して証明書を作成します。

[PARAM] name:
DN を指定します。
[PARAM] key:
秘密鍵を指定します。
[PARAM] options:
オプションを指定します。
build_self_signed_cert(email_addr, options = {}) -> Hash[permalink][rdoc][edit]

与えられたメールアドレスを元にして自己署名証明書を作成します。

[PARAM] email_addr:
メールアドレスを指定します。
[PARAM] options:
オプションを指定します。
[RETURN]
鍵と証明書とそれらを保存したパスを表すハッシュを返します。
sign_cert(cert, signing_key, signing_cert, options = {}) -> OpenSSL::X509::Certificate[permalink][rdoc][edit]

与えられた署名用の鍵と証明書を用いて証明書に署名します。

[PARAM] cert:
署名する証明書を指定します。
[PARAM] signing_key:
署名にしようする鍵を指定します。
[PARAM] signing_cert:
署名に使用する証明書を指定します。
[PARAM] options:
オプションを指定します。
[RETURN]
署名された証明書を返します。
verify_trust_dir(path, perms)[permalink][rdoc][edit]

信頼するディレクトリが存在することを確認します。

与えられたパスが存在する場合、ディレクトリであることを確認します。そうでない場合は、ディレクトリを作成してパーミッションを変更します。

[PARAM] path:
確認するパスを指定します。
[PARAM] perms:
ディレクトリを作成する場合のパーミッションを指定します。
[EXCEPTION] Gem::Security::Exception:
path がディレクトリでない場合に発生します。

定数

AlmostNoSecurity -> Gem::Security::Policy[permalink][rdoc][edit]

ほとんどの検証を行わないポリシーです。

署名されたデータの検証のみ行います。

このポリシーは何もしないよりはマシですが、ほとんど役に立たない上、簡単に騙すことができるので、使用しないでください。

:verify_data      => true,
:verify_signer    => false,
:verify_chain     => false,
:verify_root      => false,
:only_trusted     => false,
:only_signed      => false
HighSecurity -> Gem::Security::Policy[permalink][rdoc][edit]

高レベルのセキュリティポリシーです。

署名された Gem のみインストール可能です。

ルート証明書のみを信頼して、全ての検証を行います。ただし、信頼するように指定された証明書は信頼します。

このセキュリティポリシーはバイパスするのがものすごく困難です。

:verify_data      => true,
:verify_signer    => true,
:verify_chain     => true,
:verify_root      => true,
:only_trusted     => true,
:only_signed      => true
LowSecurity -> Gem::Security::Policy[permalink][rdoc][edit]

低レベルのセキュリティのポリシーです。

署名されたデータと署名者の検証を行います。

このポリシーは何もしないよりはマシですが、ほとんど役に立たない上、簡単に騙すことができるので、使用しないでください。

:verify_data      => true,
:verify_signer    => true,
:verify_chain     => false,
:verify_root      => false,
:only_trusted     => false,
:only_signed      => false
MediumSecurity -> Gem::Security::Policy[permalink][rdoc][edit]

中レベルのセキュリティポリシーです。

ルート証明書のみを信頼して、全ての検証を行います。ただし、信頼するように指定された証明書は信頼します。

このポリシーは便利ですが、署名無しのパッケージを許可しているので、邪悪な人物がパッケージの署名を単純に削除して検証をパスさせることができます。

:verify_data      => true,
:verify_signer    => true,
:verify_chain     => true,
:verify_root      => true,
:only_trusted     => true,
:only_signed      => false
NoSecurity -> Gem::Security::Policy[permalink][rdoc][edit]

セキュリティなしのポリシーです。

全ての検証を行いません。

:verify_data      => false,
:verify_signer    => false,
:verify_chain     => false,
:verify_root      => false,
:only_trusted     => false,
:only_signed      => false
OPT -> Hash[permalink][rdoc][edit]

ほとんどのメソッドで使用するデフォルトのオプションを返します。

Policies -> Hash[permalink][rdoc][edit]

使用可能なポリシーの一覧を返します。