Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::PKey::PKeyクラス
クラスの継承リスト: OpenSSL::PKey::PKey < Object < Kernel < BasicObject
公開鍵暗号のための抽象クラスです。
以下のサブクラスを持ちます。
例:
require "openssl"
# 署名用の鍵を新規作成
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
# 署名
sign = dsa512.sign("dss1", data)
# 署名の検証
p dsa512.verify(dss1, sign, data)
sign(digest, data) -> String[permalink][rdoc]秘密鍵で data に署名し、署名の文字列を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5" といった文字列で指定します。
DSA で署名をする場合はハッシュ関数には "dss1" を指定してください。
verify(digest, sign, data) -> bool[permalink][rdoc]data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5" といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、 sign が正しい署名でなかった場合などは false を返します。