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

class OpenSSL::Engine

クラスの継承リスト: OpenSSL::Engine < Object < Kernel < BasicObject

要約

OpenSSL の Engine (プラグイン)を表すオブジェクトです。

このインターフェースからハードウェアアクレラレータなどを利用できます。

詳しくは openssl のドキュメントの engine の項を見てください。

目次

特異メソッド
by_id cleanup engines load
インスタンスメソッド
cipher cmds ctrl_cmd digest finish id load_private_key load_public_key name set_default
定数
METHOD_ALL METHOD_CIPHERS METHOD_DH METHOD_DIGESTS METHOD_DSA METHOD_NONE METHOD_RAND METHOD_RSA

特異メソッド

by_id(id) -> OpenSSL::Engine[permalink][rdoc]

id で指定した engine をロードします。

OpenSSL::Engine#load ではコンパイル時に決められた engine しか 読み込めませんが、これは動的なロードが可能です。

[PARAM] id:
engine の名前(文字列)
[EXCEPTION] OpenSSL::Engine::EngineError:
ロードが失敗した場合に発生します。
cleanup -> nil[permalink][rdoc]

ロードされている engine を全て破棄します。

engine が利用していたリソースを開放します。

[SEE_ALSO] OpenSSL::Engine.load

engines -> [OpenSSL::Engine][permalink][rdoc]

ロードされていて利用可能な engine を配列で返します。

[SEE_ALSO] OpenSSL::Engine.load

load(name = nil) -> true | nil[permalink][rdoc]

Engine をロードします。

このメソッドは openssl のコンパイル時に静的に コンパイルされたものを読み込みます。

name で指定した engine をロードします。以下が指定可能です。

引数を省略した場合はロード可能なすべての engine をロードします。

動的な読み込みをしたい場合は OpenSSL::Engine#by_id を 用います。

ロードに成功した場合は true を返します。

[PARAM] name:
ロードする engine の名前(文字列)

[SEE_ALSO] OpenSSL::Engine.cleanup

インスタンスメソッド

cipher(name) -> OpenSSL::Cipher[permalink][rdoc]

engine から暗号化/復号化オブジェクトを生成します。

[PARAM] name:
暗号化方式名(文字列)
[EXCEPTION] OpenSSL::Engine::EngineError:
指定した暗号化方式が存在しない、もしくは engine がサポートしていない場合に発生します。
cmds -> [[String, String, String]][permalink][rdoc]

その engine がサポートしているコマンドの一覧を 配列で返します。

配列の各要素は

[コマンド名、コマンドの説明、コマンドのフラグ]

という3つの文字列の配列です。

[SEE_ALSO] OpenSSL::Engine#ctrl_cmd

ctrl_cmd(cmd, val=nil) -> self[permalink][rdoc]

engine にコマンドを送ります。

[PARAM] cmd:
コマンド名(文字列)
[PARAM] val:
コマンド引数(文字列)

[SEE_ALSO] OpenSSL::Engine#ctrl_cmd

digest(name) -> OpenSSL::Digest[permalink][rdoc]

engine からメッセージダイジェストオブジェクトを生成します。

[PARAM] name:
メッセージダイジェストアルゴリズム名(文字列)
[EXCEPTION] OpenSSL::Engine::EngineError:
指定したアルゴリズムが存在しない、もしくは engine がサポートしていない場合に発生します。
finish -> nil[permalink][rdoc]

engine を終了させ、内部に保持しているデータを破棄します。

id -> String[permalink][rdoc]

engine の識別子を文字列で返します。

[SEE_ALSO] OpenSSL::Engine#name

load_private_key(id=nil, data=nil) -> OpenSSL::PKey::PKey[permalink][rdoc]

秘密鍵を engine にロードします。

[PARAM] id:
key id(文字列)
[PARAM] data:
文字列
load_public_key(id=nil, data=nil) -> OpenSSL::PKey::PKey[permalink][rdoc]

公開鍵を engine にロードします。

[PARAM] id:
key id(文字列)
[PARAM] data:
文字列
name -> String[permalink][rdoc]

engine の(人間に読みやすい)名称を文字列で返します。

例:

engine.name # => "Atalla hardware engine support"

[SEE_ALSO] OpenSSL::Engine#id

set_default(flags) -> true[permalink][rdoc]

engine をデフォルトで利用するようにします。

flags は engine を openssl のどの機能に関してデフォルトに するかを指定します。

flags は以下の値の OR を取ります。

また、 OpenSSL::Engine::METHOD_ALLOpenSSL::Engine::METHOD_NONE が利用可能です。

定数

METHOD_ALL -> Integer[permalink][rdoc]

engine が持っている機能をすべて openssl のデフォルトにすること を意味します。

OpenSSL::Engine#set_default のフラグとして使います。

METHOD_CIPHERS -> Integer[permalink][rdoc]

デフォルトの暗号化のための engine に設定することを意味します。

OpenSSL::Engine#set_default のフラグとして使います。

METHOD_DH -> Integer[permalink][rdoc]

デフォルトの DH アルゴリズムのための engine に設定することを意味します。

OpenSSL::Engine#set_default のフラグとして使います。

METHOD_DIGESTS -> Integer[permalink][rdoc]

デフォルトのダイジェストのための engine に設定することを意味します。

OpenSSL::Engine#set_default のフラグとして使います。

METHOD_DSA -> Integer[permalink][rdoc]

デフォルトの DSA アルゴリズムのための engine に設定することを意味します。

OpenSSL::Engine#set_default のフラグとして使います。

METHOD_NONE -> Integer[permalink][rdoc]

engine をデフォルトに設定しないことを意味します。

OpenSSL::Engine#set_default のフラグとして使います。

METHOD_RAND -> Integer[permalink][rdoc]

デフォルトのセキュアな乱数生成のための engine に設定することを意味します。

OpenSSL::Engine#set_default のフラグとして使います。

METHOD_RSA -> Integer[permalink][rdoc]

デフォルトの RSA アルゴリズムのための engine に設定することを意味します。

OpenSSL::Engine#set_default のフラグとして使います。