種類
- インスタンスメソッド (30)
- 特異メソッド (6)
- クラス (3)
- モジュール (1)
- 定数 (1)
ライブラリ
- openssl (41)
クラス
-
OpenSSL
:: Engine (2) -
OpenSSL
:: PKey :: DSA (30) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: PKey (2) -
OpenSSL
:: X509 :: Certificate (1)
キーワード
- DH (1)
- DSAError (1)
-
METHOD
_ DSA (1) - Random (1)
-
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) - export (2)
- g (1)
- g= (1)
- generate (2)
- new (4)
- p (1)
- p= (1)
- params (1)
-
priv
_ key (1) -
priv
_ key= (1) - private? (1)
-
pub
_ key (1) -
pub
_ key= (1) - public? (1)
-
public
_ key (1) - q (1)
- q= (1)
-
set
_ default (1) - sign (2)
- syssign (1)
- sysverify (1)
-
to
_ der (1) -
to
_ pem (2) -
to
_ s (2) -
to
_ text (1) - verify (1)
検索結果
先頭5件
-
OpenSSL
:: PKey :: DSA (81139.0) -
DSA 公開鍵暗号クラス
DSA 公開鍵暗号クラス
実際には、DSA は署名のためのアルゴリズムであり、暗号化はできません。
以下は、data に署名し、署名をもとに data を検証する簡単な例です。
require "openssl"
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
sign = dsa512.sign('dss1', data)
p dsa512.verify('dss1', sign, data) -
OpenSSL
:: Engine :: METHOD _ DSA -> Integer (45652.0) -
デフォルトの DSA アルゴリズムのための engine に設定することを意味します。
デフォルトの DSA アルゴリズムのための engine に設定することを意味します。
OpenSSL::Engine#set_default のフラグとして使います。 -
OpenSSL
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (45622.0) -
秘密鍵を用い、data に ECDSA で署名します。
秘密鍵を用い、data に ECDSA で署名します。
結果は文字列として返します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1 -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (45622.0) -
公開鍵を用い、署名を ECDSA で検証します。
公開鍵を用い、署名を ECDSA で検証します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1 -
OpenSSL
:: PKey :: DSAError (45049.0) -
DSA 関連のエラーが起きた場合に発生する例外です。
DSA 関連のエラーが起きた場合に発生する例外です。 -
OpenSSL
:: PKey :: DSA # to _ der -> String (36301.0) -
自身を DER 形式に変換します。
自身を DER 形式に変換します。 -
OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA (28039.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。
このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り... -
OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA (28039.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。
このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り... -
OpenSSL
:: PKey :: DSA . new -> OpenSSL :: PKey :: DSA (28033.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) -> OpenSSL :: PKey :: DSA (28033.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) {|flag| . . . } -> OpenSSL :: PKey :: DSA (28033.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(size) -> OpenSSL :: PKey :: DSA (28033.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA # public _ key -> OpenSSL :: PKey :: DSA (27952.0) -
公開鍵を複製して DSA オブジェクトとして返します。
公開鍵を複製して DSA オブジェクトとして返します。 -
OpenSSL
:: PKey :: DSA # priv _ key -> OpenSSL :: BN (27403.0) -
DSA 鍵の秘密鍵パラメータを返します。
DSA 鍵の秘密鍵パラメータを返します。
秘密鍵はこの値と、
OpenSSL::PKey::DSA#p, OpenSSL::PKey::DSA#q, OpenSSL::PKey::DSA#g
から構成されます。 -
OpenSSL
:: PKey :: DSA # pub _ key -> OpenSSL :: BN (27403.0) -
DSA 鍵の公開鍵パラメータを返します。
DSA 鍵の公開鍵パラメータを返します。
公開鍵はこの値と、
OpenSSL::PKey::DSA#p, OpenSSL::PKey::DSA#q, OpenSSL::PKey::DSA#g
から構成されます。 -
OpenSSL
:: PKey :: DSA # g -> OpenSSL :: BN (27349.0) -
DSA 鍵のパラメータ g を返します。
DSA 鍵のパラメータ g を返します。
g は公開鍵、秘密鍵の両方に属する情報です。 -
OpenSSL
:: PKey :: DSA # p -> OpenSSL :: BN (27349.0) -
DSA 鍵のパラメータ p を返します。
DSA 鍵のパラメータ p を返します。
p は公開鍵、秘密鍵の両方に属する情報です。 -
OpenSSL
:: PKey :: DSA # q -> OpenSSL :: BN (27349.0) -
DSA 鍵のパラメータ q を返します。
DSA 鍵のパラメータ q を返します。
q は公開鍵、秘密鍵の両方に属する情報です。 -
OpenSSL
:: Engine # set _ default(flags) -> true (27319.0) -
engine をデフォルトで利用するようにします。
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_RA... -
OpenSSL
:: PKey :: DSA # sysverify(data , sign) -> bool (27319.0) -
署名 sign と自身の公開鍵で data を検証します。
署名 sign と自身の公開鍵で data を検証します。
検証に成功した場合は真を返します。
sign に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PKey::DSAError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗した場合はこの
例外は発生しないことに... -
OpenSSL
:: PKey :: DSA # params -> {String => OpenSSL :: BN} (27301.0) -
鍵のパラメータを {パラメータ名 => その整数値} というハッシュで返します。
鍵のパラメータを {パラメータ名 => その整数値} というハッシュで返します。
公開鍵における priv_key のように自身が持っていないパラメータは
0 がセットされます。 -
OpenSSL
:: PKey :: DSA # syssign(data) -> String (27301.0) -
自身で data に署名をし、 DER 形式の文字列で署名を返します。
自身で data に署名をし、 DER 形式の文字列で署名を返します。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
通常は OpenSSL::PKey::PKey#sign を使い、署名をすべきです。
@param data 署名の対象 -
OpenSSL
:: PKey :: DSA # g=(g) (27049.0) -
DSA 鍵のパラメータ g を設定します。
DSA 鍵のパラメータ g を設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param g 設定する整数値 -
OpenSSL
:: PKey :: DSA # p=(p) (27049.0) -
DSA 鍵のパラメータ p を設定します。
DSA 鍵のパラメータ p を設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param p 設定する整数値 -
OpenSSL
:: PKey :: DSA # priv _ key=(private _ key) (27049.0) -
DSA 鍵の秘密鍵パラメータを設定します。
DSA 鍵の秘密鍵パラメータを設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param private_key 設定する整数値 -
OpenSSL
:: PKey :: DSA # pub _ key=(public _ key) (27049.0) -
DSA 鍵の公開鍵パラメータを設定します。
DSA 鍵の公開鍵パラメータを設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param public_key 設定する整数値 -
OpenSSL
:: PKey :: DSA # q=(q) (27049.0) -
DSA 鍵のパラメータ q を設定します。
DSA 鍵のパラメータ q を設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param q 設定する整数値 -
OpenSSL
:: PKey :: DH (27019.0) -
Diffie-Hellman 鍵共有クラス
Diffie-Hellman 鍵共有クラス
Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。
Diffie-Hellman はこのライブラリでは基本的には鍵共有にしか利用できません。
=== 例
鍵共有の例。
require 'openssl'
# パラメータの生成
dh = OpenSSL::PKey::DH.generate(10... -
OpenSSL
:: Random (27019.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵、秘密鍵の
ペアを計算します。鍵は他人に知られてはならないため、
その乱数は外部からの推論が不可能な良い性質を持っている必要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* Open... -
OpenSSL
:: PKey :: DSA # export(cipher=nil , pass=nil) -> String (27001.0) -
鍵を PEM 形式で出力します。
鍵を PEM 形式で出力します。
cipher と pass が指定された場合、
秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher
とパスワード pass を使って暗号化します。
cipher を指定して pass を省略した場合は
渡されたブロックを呼びだしてパスフレーズを要求します。ブロックの返り値を
パスフレーズとみなして暗号化します。
ブロックの引数は通常は true が渡されますが、
これはそのパスフレーズが秘密鍵の暗号化に使われることを意味します。
ブロックが渡されなかった場合にはターミナルに問い合わせをします。
公開鍵を出力する場合は ciphe... -
OpenSSL
:: PKey :: DSA # export(cipher=nil , pass=nil) {|flag| . . . } -> String (27001.0) -
鍵を PEM 形式で出力します。
鍵を PEM 形式で出力します。
cipher と pass が指定された場合、
秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher
とパスワード pass を使って暗号化します。
cipher を指定して pass を省略した場合は
渡されたブロックを呼びだしてパスフレーズを要求します。ブロックの返り値を
パスフレーズとみなして暗号化します。
ブロックの引数は通常は true が渡されますが、
これはそのパスフレーズが秘密鍵の暗号化に使われることを意味します。
ブロックが渡されなかった場合にはターミナルに問い合わせをします。
公開鍵を出力する場合は ciphe... -
OpenSSL
:: PKey :: DSA # private? -> bool (27001.0) -
自身が秘密鍵をもっている場合に true を返します。
自身が秘密鍵をもっている場合に true を返します。 -
OpenSSL
:: PKey :: DSA # public? -> bool (27001.0) -
自身が公開鍵をもっている場合に true を返します。
自身が公開鍵をもっている場合に true を返します。 -
OpenSSL
:: PKey :: DSA # to _ pem(cipher=nil , pass=nil) -> String (27001.0) -
鍵を PEM 形式で出力します。
鍵を PEM 形式で出力します。
cipher と pass が指定された場合、
秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher
とパスワード pass を使って暗号化します。
cipher を指定して pass を省略した場合は
渡されたブロックを呼びだしてパスフレーズを要求します。ブロックの返り値を
パスフレーズとみなして暗号化します。
ブロックの引数は通常は true が渡されますが、
これはそのパスフレーズが秘密鍵の暗号化に使われることを意味します。
ブロックが渡されなかった場合にはターミナルに問い合わせをします。
公開鍵を出力する場合は ciphe... -
OpenSSL
:: PKey :: DSA # to _ pem(cipher=nil , pass=nil) {|flag| . . . } -> String (27001.0) -
鍵を PEM 形式で出力します。
鍵を PEM 形式で出力します。
cipher と pass が指定された場合、
秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher
とパスワード pass を使って暗号化します。
cipher を指定して pass を省略した場合は
渡されたブロックを呼びだしてパスフレーズを要求します。ブロックの返り値を
パスフレーズとみなして暗号化します。
ブロックの引数は通常は true が渡されますが、
これはそのパスフレーズが秘密鍵の暗号化に使われることを意味します。
ブロックが渡されなかった場合にはターミナルに問い合わせをします。
公開鍵を出力する場合は ciphe... -
OpenSSL
:: PKey :: DSA # to _ s(cipher=nil , pass=nil) -> String (27001.0) -
鍵を PEM 形式で出力します。
鍵を PEM 形式で出力します。
cipher と pass が指定された場合、
秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher
とパスワード pass を使って暗号化します。
cipher を指定して pass を省略した場合は
渡されたブロックを呼びだしてパスフレーズを要求します。ブロックの返り値を
パスフレーズとみなして暗号化します。
ブロックの引数は通常は true が渡されますが、
これはそのパスフレーズが秘密鍵の暗号化に使われることを意味します。
ブロックが渡されなかった場合にはターミナルに問い合わせをします。
公開鍵を出力する場合は ciphe... -
OpenSSL
:: PKey :: DSA # to _ s(cipher=nil , pass=nil) {|flag| . . . } -> String (27001.0) -
鍵を PEM 形式で出力します。
鍵を PEM 形式で出力します。
cipher と pass が指定された場合、
秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher
とパスワード pass を使って暗号化します。
cipher を指定して pass を省略した場合は
渡されたブロックを呼びだしてパスフレーズを要求します。ブロックの返り値を
パスフレーズとみなして暗号化します。
ブロックの引数は通常は true が渡されますが、
これはそのパスフレーズが秘密鍵の暗号化に使われることを意味します。
ブロックが渡されなかった場合にはターミナルに問い合わせをします。
公開鍵を出力する場合は ciphe... -
OpenSSL
:: PKey :: DSA # to _ text -> String (27001.0) -
鍵を人間が読める形式に変換します。
鍵を人間が読める形式に変換します。 -
OpenSSL
:: PKey :: PKey # sign(digest , data) -> String (9319.0) -
秘密鍵で data に署名し、署名の文字列を返します。
秘密鍵で data に署名し、署名の文字列を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で署名をする場合はハッシュ関数には "dss1" を指定してください。
@param digest 利用するハッシュ関数の名前
@param data 署名する文字列
@raise OpenSSL::PKey::PKeyError 署名時にエラーが起きた場合に発生します -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (9319.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
data を秘密鍵で署名したその署名文字列が sign
であることを公開鍵を使って検証し、検証に成功すれば true
を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、
sign が正しい署名でなかった場合などは false を返します。
@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対... -
OpenSSL
:: X509 :: Certificate # sign(pkey , digest) -> self (9319.0) -
証明書に署名します。
証明書に署名します。
DSA で署名する場合は digest は "dss1" でなければなりません。
@param pkey 発行者(issuer)の秘密鍵
@param digest ハッシュ関数を表す文字列