要約
OpenSSL の Engine (プラグイン)を表すオブジェクトです。
このインターフェースからハードウェアアクレラレータなどを利用できます。
詳しくは openssl のドキュメントの engine の項を見てください。
目次
- 特異メソッド
- インスタンスメソッド
- 定数
特異メソッド
by_id(id) -> OpenSSL::Engine
[permalink][rdoc][edit]-
id で指定した engine をロードします。
OpenSSL::Engine#load ではコンパイル時に決められた engine しか読み込めませんが、これは動的なロードが可能です。
- [PARAM] id:
- engine の名前(文字列)
- [EXCEPTION] OpenSSL::Engine::EngineError:
- ロードが失敗した場合に発生します。
cleanup -> nil
[permalink][rdoc][edit]-
ロードされている engine を全て破棄します。
engine が利用していたリソースを開放します。
[SEE_ALSO] OpenSSL::Engine.load
engines -> [OpenSSL::Engine]
[permalink][rdoc][edit]-
ロードされていて利用可能な engine を配列で返します。
[SEE_ALSO] OpenSSL::Engine.load
load(name = nil) -> true | nil
[permalink][rdoc][edit]-
Engine をロードします。
このメソッドは openssl のコンパイル時に静的にコンパイルされたものを読み込みます。
name で指定した engine をロードします。以下が指定可能です。
- "dynamic"
- "cswift"
- "chil"
- "atalla"
- "nuron"
- "ubsec"
- "aep"
- "sureware"
- "4758cca"
- "openbsd_dev_crypto"
- "openssl"
引数を省略した場合はロード可能なすべての engine をロードします。
動的な読み込みをしたい場合は OpenSSL::Engine#by_id を用います。
ロードに成功した場合は true を返します。
- [PARAM] name:
- ロードする engine の名前(文字列)
[SEE_ALSO] OpenSSL::Engine.cleanup
インスタンスメソッド
cipher(name) -> OpenSSL::Cipher
[permalink][rdoc][edit]-
engine から暗号化/復号化オブジェクトを生成します。
- [PARAM] name:
- 暗号化方式名(文字列)
- [EXCEPTION] OpenSSL::Engine::EngineError:
- 指定した暗号化方式が存在しない、もしくは engine がサポートしていない場合に発生します。
cmds -> [[String, String, String]]
[permalink][rdoc][edit]-
その engine がサポートしているコマンドの一覧を配列で返します。
配列の各要素は
[コマンド名、コマンドの説明、コマンドのフラグ]
という3つの文字列の配列です。
[SEE_ALSO] OpenSSL::Engine#ctrl_cmd
ctrl_cmd(cmd, val=nil) -> self
[permalink][rdoc][edit]-
engine にコマンドを送ります。
- [PARAM] cmd:
- コマンド名(文字列)
- [PARAM] val:
- コマンド引数(文字列)
[SEE_ALSO] OpenSSL::Engine#ctrl_cmd
digest(name) -> OpenSSL::Digest
[permalink][rdoc][edit]-
engine からメッセージダイジェストオブジェクトを生成します。
- [PARAM] name:
- メッセージダイジェストアルゴリズム名(文字列)
- [EXCEPTION] OpenSSL::Engine::EngineError:
- 指定したアルゴリズムが存在しない、もしくは engine がサポートしていない場合に発生します。
finish -> nil
[permalink][rdoc][edit]-
engine を終了させ、内部に保持しているデータを破棄します。
id -> String
[permalink][rdoc][edit]-
engine の識別子を文字列で返します。
[SEE_ALSO] OpenSSL::Engine#name
load_private_key(id=nil, data=nil) -> OpenSSL::PKey::PKey
[permalink][rdoc][edit]-
秘密鍵を engine にロードします。
- [PARAM] id:
- key id(文字列)
- [PARAM] data:
- 文字列
load_public_key(id=nil, data=nil) -> OpenSSL::PKey::PKey
[permalink][rdoc][edit]-
公開鍵を engine にロードします。
- [PARAM] id:
- key id(文字列)
- [PARAM] data:
- 文字列
name -> String
[permalink][rdoc][edit]-
engine の(人間に読みやすい)名称を文字列で返します。
例:
engine.name # => "Atalla hardware engine support"
[SEE_ALSO] OpenSSL::Engine#id
set_default(flags) -> true
[permalink][rdoc][edit]-
engine をデフォルトで利用するようにします。
flags は engine を openssl のどの機能に関してデフォルトにするかを指定します。
flags は以下の値の OR を取ります。
- OpenSSL::Engine::METHOD_CIPHERS
- OpenSSL::Engine::METHOD_DH
- OpenSSL::Engine::METHOD_DIGESTS
- OpenSSL::Engine::METHOD_DSA
- OpenSSL::Engine::METHOD_RSA
- OpenSSL::Engine::METHOD_RAND
また、 OpenSSL::Engine::METHOD_ALL や OpenSSL::Engine::METHOD_NONE が利用可能です。
定数
METHOD_ALL -> Integer
[permalink][rdoc][edit]-
engine が持っている機能をすべて openssl のデフォルトにすることを意味します。
OpenSSL::Engine#set_default のフラグとして使います。
METHOD_CIPHERS -> Integer
[permalink][rdoc][edit]-
デフォルトの暗号化のための engine に設定することを意味します。
OpenSSL::Engine#set_default のフラグとして使います。
METHOD_DH -> Integer
[permalink][rdoc][edit]-
デフォルトの DH アルゴリズムのための engine に設定することを意味します。
OpenSSL::Engine#set_default のフラグとして使います。
METHOD_DIGESTS -> Integer
[permalink][rdoc][edit]-
デフォルトのダイジェストのための engine に設定することを意味します。
OpenSSL::Engine#set_default のフラグとして使います。
METHOD_DSA -> Integer
[permalink][rdoc][edit]-
デフォルトの DSA アルゴリズムのための engine に設定することを意味します。
OpenSSL::Engine#set_default のフラグとして使います。
METHOD_NONE -> Integer
[permalink][rdoc][edit]-
engine をデフォルトに設定しないことを意味します。
OpenSSL::Engine#set_default のフラグとして使います。
METHOD_RAND -> Integer
[permalink][rdoc][edit]-
デフォルトのセキュアな乱数生成のための engine に設定することを意味します。
OpenSSL::Engine#set_default のフラグとして使います。
METHOD_RSA -> Integer
[permalink][rdoc][edit]-
デフォルトの RSA アルゴリズムのための engine に設定することを意味します。
OpenSSL::Engine#set_default のフラグとして使います。