Ruby 4.0 リファレンスマニュアル

module OpenSSL

[edit]

要約

OpenSSL のすべてのクラス、モジュール、メソッド、定数を保持しているモジュールです。

目次

モジュール関数
定数

モジュール関数

Digest(name) -> ClassRuby 2.0.0 から[permalink][rdoc][edit]

name に対応する OpenSSL::Digest のサブクラスを返します。

[PARAM] name:
ダイジェストアルゴリズムの名前を表す文字列("MD5" や "SHA256" など)
[EXCEPTION] NameError:
name に対応するクラスが無い場合に発生します
require "openssl"

p OpenSSL.Digest("MD5") # => OpenSSL::Digest::MD5
debug -> bool[permalink][rdoc][edit]

デバッグモードが on ならば true を返します。

[SEE_ALSO] OpenSSL?.debug=

debug=(b)[permalink][rdoc][edit]

デバッグモードを on/off します。

[SEE_ALSO] OpenSSL?.debug

errors -> [String][permalink][rdoc][edit]

OpenSSL のエラーキューに残っているエラー文字列を返します。

通常、エラーキューはこの拡張ライブラリが空にするため、これは空の配列を返します。もしそうでないならばこのライブラリのバグです。

fips_mode -> boolRuby 2.5.0 から[permalink][rdoc][edit]

FIPS モードが現在有効であれば true を返します。

[SEE_ALSO] OpenSSL?.fips_mode=

fips_mode=(bool)[permalink][rdoc][edit]

FIPS モードを明示的に on/off します。

[EXCEPTION] OpenSSL::OpenSSLError:
インストールされている OpenSSL が FIPS をサポートしていない場合に発生します。

[SEE_ALSO] OpenSSL::OPENSSL_FIPS

fixed_length_secure_compare(string1, string2) -> boolRuby 3.0 から[permalink][rdoc][edit]

長さの等しい文字列同士を、一定時間で比較します。OpenSSL::HMAC の計算結果同士の比較など、固定長の値を比較する場合に向いています。

比較にかかる時間が入力の値に依存しないようになっているため、比較結果の違いにかかる時間差から内容を推測するタイミング攻撃を防げます。

string1 と string2 が同じ内容であれば true を、長さが等しく内容が異なる場合は false を返します。

[PARAM] string1:
比較する文字列
[PARAM] string2:
比較する文字列
[EXCEPTION] ArgumentError:
string1 と string2 の長さが異なる場合に発生します
secure_compare(string1, string2) -> boolRuby 3.0 から[permalink][rdoc][edit]

文字列同士を、一定時間で比較します。

内部で SHA-256 によるハッシュ化を行ってから比較するため、OpenSSL?.fixed_length_secure_compare とは異なり、string1 と string2 の長さが異なっていても使えます。

string1 と string2 が同じ内容であれば true を、そうでなければ false を返します。

このメソッドは SHA-256 によるハッシュ化のためのコストがかかります。string1 と string2 の長さが等しいと分かっている場合は、OpenSSL?.fixed_length_secure_compare を使うほうが高速です。

[PARAM] string1:
比較する文字列
[PARAM] string2:
比較する文字列

定数

OPENSSL_FIPS -> boolRuby 2.0.0 から[permalink][rdoc][edit]

システムにインストールされている OpenSSL が FIPS をサポートしているならば true です。

していなければ false です。

[SEE_ALSO] OpenSSL?.fips_mode=

OPENSSL_LIBRARY_VERSION -> StringRuby 2.0.0 から[permalink][rdoc][edit]

実行時に使われている OpenSSL 本体のバージョンを表した文字列です。

OPENSSL_VERSION -> String[permalink][rdoc][edit]

ビルド時に使われた OpenSSL 本体のバージョンを表した文字列です。

OPENSSL_VERSION_NUMBER -> Integer[permalink][rdoc][edit]

システムにインストールされている OpenSSL 本体のバージョンを表した数です。 https://www.openssl.org/docs/manmaster/man3/OPENSSL_VERSION_NUMBER.html も参照してください。

VERSION -> String[permalink][rdoc][edit]

Ruby/OpenSSL のバージョンです。