種類
- インスタンスメソッド (14)
- クラス (5)
- 特異メソッド (3)
クラス
キーワード
- DH (1)
- DSA (1)
- RSA (1)
- Request (1)
-
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) - new (1)
- syssign (1)
- sysverify (1)
- verify (3)
-
write
_ smime (1)
検索結果
先頭5件
- OpenSSL
:: PKey :: PKey # sign(digest , data) -> String - OpenSSL
:: PKey :: PKey - OpenSSL
:: OCSP :: BasicResponse # sign(signer _ cert , signer _ key , certs = [] , flags=0) -> self - OpenSSL
:: OCSP :: Request # sign(signer _ cert , signer _ key , certs=nil , flags=nil) -> self - OpenSSL
:: PKCS7 . sign(cert , key , data , certs = [] , flags = 0) -> OpenSSL :: PKCS7
-
OpenSSL
:: PKey :: PKey # sign(digest , data) -> String (105346.0) -
秘密鍵で data に署名し、署名の文字列を返します。
...列で指定します。
DSA で署名をする場合はハッシュ関数には "dss1" を指定してください。
@param digest 利用するハッシュ関数の名前
@param data 署名する文字列
@raise OpenSSL::PKey::PKeyError 署名時にエラーが起きた場合に発生します... -
OpenSSL
:: PKey :: PKey (96259.0) -
公開鍵暗号のための抽象クラスです。
...クラスです。
以下のサブクラスを持ちます。
* OpenSSL::PKey::RSA
* OpenSSL::PKey::DSA
* OpenSSL::PKey::DH
* OpenSSL::PKey::EC
例:
require "openssl"
# 署名用の鍵を新規作成
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
# 署名
sign = dsa512.sig... -
OpenSSL
:: OCSP :: BasicResponse # sign(signer _ cert , signer _ key , certs = [] , flags=0) -> self (88054.0) -
Response に署名します。
...。
* OpenSSL::OCSP::NOTIME
* OpenSSL::OCSP::RESPID_KEY
* OpenSSL::OCSP::NOCERTS
certs に証明書の配列を渡すことで、この署名を検証するために
必要となる別の証明書を付加することができます。
@param signer_cert 署名者の証明書(OpenSSL::X509::......Certificate オブジェクト)
@param signer_key 証明に用いる秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param certs 添付する証明書(OpenSSL::X509::Certificate オブジェクトの配列)
@param flags フラグ(整数)... -
OpenSSL
:: OCSP :: Request # sign(signer _ cert , signer _ key , certs=nil , flags=nil) -> self (88018.0) -
Request オブジェクトに署名をします。
...の証明書(OpenSSL::X509::Certificate オブジェクト)
@param signer_key 証明に用いる秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param certs 添付する証明書(OpenSSL::X509::Certificate オブジェクトの配列)
@param flags フラグ(整数)
@raise OpenSSL::OCSP::OCSPError... -
OpenSSL
:: PKCS7 . sign(cert , key , data , certs = [] , flags = 0) -> OpenSSL :: PKCS7 (87883.0) -
data に証明書と秘密鍵で署名します。
...。certs に OpenSSL::X509::Certificate オブジェクトの配列 を
渡すと OpenSSL::PKCS7 オブジェクトにそれらの証明書が追加で保持されます。
例えば中間 CA 証明書などを渡します。
flags は以下の値の OR を渡します。
* OpenSSL::PKCS7::TEXT......* OpenSSL::PKCS7::NOCERTS
署名者の証明書を署名に含めません。送り先がすでに証明書をもっている場合
など、他の方法で証明書を手に入れることができる場合に
データ量を減らすために用います。
* OpenSSL::PKCS7:......リア署名(multipart/signed)をする。
* OpenSSL::PKCS7::BINARY
data に MIME 正規化を施さない。
* OpenSSL::PKCS7::NOATTR
PKCS#7 autenticatedAttributes (署名時刻など)をオブジェクトに含めない。
* OpenSSL::PKCS7::NOSMIMECAP
署名者が使用可... -
OpenSSL
:: X509 :: CRL # sign(pkey , digest) -> self (87703.0) -
CRL に秘密鍵で署名します。
...CRL に秘密鍵で署名します。
@param pkey 秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest ハッシュアルゴリズム
@raise OpenSSL::X509::CRLError 署名に失敗した場合に発生します... -
OpenSSL
:: X509 :: Certificate # sign(pkey , digest) -> self (87631.0) -
証明書に署名します。
証明書に署名します。
DSA で署名する場合は digest は "dss1" でなければなりません。
@param pkey 発行者(issuer)の秘密鍵
@param digest ハッシュ関数を表す文字列 -
OpenSSL
:: Netscape :: SPKI # sign(key , digest) -> self (87418.0) -
SPKI オブジェクトに署名をします。
...key 署名に使う秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest 署名に使うダイジェスト関数(文字列もしくは OpenSSL::Digest オブジェクト)
@raise OpenSSL::Netscape::SPKIError 署名に失敗した場合に発生します
@see OpenSSL::Netscape::SPKI#verify... -
OpenSSL
:: X509 :: Request # sign(key , digest) -> self (87400.0) -
証明書署名要求に秘密鍵で署名をします。
...秘密鍵で署名されます。
@param key 秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
@param digest ハッシュ関数を表す文字列("sha1" など)
@raise OpenSSL::X509::RequestError 署名に失敗した場合に発生します
@see OpenSSL::X509::Request#verify... -
OpenSSL
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (60382.0) -
秘密鍵を用い、data に ECDSA で署名します。
...必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1... -
OpenSSL
:: PKey :: DSA # syssign(data) -> String (60379.0) -
自身で data に署名をし、 DER 形式の文字列で署名を返します。
...自身で data に署名をし、 DER 形式の文字列で署名を返します。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
通常は OpenSSL::PKey::PKey#sign を使い、署名をすべきです。
@param data 署名の対象... -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (51430.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
...@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対象の文字列
@raise OpenSSL::PKey::PKeyError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗... -
OpenSSL
:: PKCS7 :: SignerInfo . new(cert , key , digest) -> OpenSSL :: PKCS7 :: SignerInfo (42700.0) -
署名者オブジェクトを証明書、秘密鍵、ダイジェスト方式から生成します。
...ト方式は署名をするために利用します。
@param cert 証明書(OpenSSL::X509::Certificate オブジェクト)
@param key 秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest メッセージダイジェスト方式(文字列もしくは OpenSSL::Digest オブジェクト)... -
OpenSSL
:: PKey :: DSA # sysverify(data , sign) -> bool (42466.0) -
署名 sign と自身の公開鍵で data を検証します。
...n に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PK... -
OpenSSL
:: PKey :: RSA (42457.0) -
RSA 暗号鍵のクラスです。
...通常このクラスで利用するのは、
OpenSSL::PKey::RSA.generate, OpenSSL::PKey::RSA.new,
OpenSSL::PKey::RSA#public?, OpenSSL::PKey::RSA#private?,
OpenSSL::PKey::RSA#public_key, OpenSSL::PKey::RSA#to_text,
OpenSSL::PKey::RSA#to_pem, OpenSSL::PKey::RSA#to_der
のいずれかでしょう。......ついてよく理解し、必要な場合のみにすべきです。
例:
require 'openssl'
# initialize random seed
OpenSSL::Random.seed(File.read("/dev/random", 16))
# 鍵対を生成
rsa = OpenSSL::PKey::RSA.generate(2048)
# 秘密鍵をAES256で暗号化して private_key.pem に......PEM 形式で保存
passphrase = "!secret passphrase!"
File.open("private_key.pem", "w") do |f|
f.write(rsa.export(OpenSSL::Cipher.new("aes256"), passphrase))
end
# 公開鍵をpublic_key.pemに保存
public_key = rsa.public_key
File.open("public_key.pem", "w") do |f|
f.write(pu... -
OpenSSL
:: PKey :: DH (42259.0) -
Diffie-Hellman 鍵共有クラス
...有クラス
Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。
Diffie-Hellman はこのライブラリで......は基本的には鍵共有にしか利用できません。
=== 例
鍵共有の例。
require 'openssl'
# パラメータの生成
dh = OpenSSL::PKey::DH.generate(1024, 5)
# パラメータのチェック
raise "bad DH parameter" unless dh.params_ok?
# 以下、dh1 と dh2 が通......つ複製することにしている
# dh1 は dh をそのまま使う
dh1 = dh
# パラメータを複製して dh2 に渡す
dh2 = OpenSSL::PKey::DH.new(dh)
# 両端が鍵パラメータから鍵対を生成する
dh1.generate_key!
dh2.generate_key!
# 通信の両端で公... -
OpenSSL
:: PKey :: DSA (42115.0) -
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
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (42097.0) -
公開鍵を用い、署名を ECDSA で検証します。
...要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1... -
OpenSSL
:: PKCS7 . write _ smime(p7sig , data=nil , flags = 0) -> String (33295.0) -
PKCS7 オブジェクトから S/MIME 形式の文字列を返します。
...l を渡すと OpenSSL::PKCS7#data で得られる
文字列を用います。通常は nil を渡してください。
flags には以下の定数の or を渡します。
* OpenSSL::PKCS7::DETACHED
クリア署名をします。これは OpenSSL::PKCS7.sign で
OpenSSL::PKCS7::DETAC......。
* OpenSSL::PKCS7::TEXT
MIME ヘッダに text/plain を付加します。
これは OpenSSL::PKCS7.sign で
OpenSSL::PKCS7::DETACHED を渡した場合にのみ意味を持ちます。
例:
require 'openssl'
data = "foobar"
p7 = OpenSSL::PKCS7.sign( OpenSSL::X509::Ce......ert.pem')),
OpenSSL::PKey::RSA.new(File.read('privkey.pem')),
data)
smime = PKCS7.write_smime(p7)
@param p7sig PKCS#7 オブジェクト
@param data 署名されたデータ文字列
@param flags フラグ(整数値)
@raise OpenSSL::PKCS::PK... -
OpenSSL
:: X509 :: Request (33187.0) -
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす クラスです。
...CSR を生成する例。
require 'openssl'
# ファイルから秘密鍵を読み込む
rsa = OpenSSL::PKey::RSA.new(File.read("privkey.pem"))
# 新しい CSR オブジェクトを生成
csr = OpenSSL::X509::Request.new
# DN を生成
name = OpenSSL::X509::Name.new
name.add_entry('C......sa.public_key
# attribute を設定
factory = OpenSSL::X509::ExtensionFactory.new
exts = [ factory.create_ext("subjectAltName", "DNS:foo.example.com") ]
asn1exts = OpenSSL::ASN1::Set([OpenSSL::ASN1::Sequence(exts)])
csr.add_attribute(OpenSSL::X509::Attribute.new("extReq", asn1exts))
#... -
OpenSSL
:: Netscape :: SPKI # verify(key) -> bool (33115.0) -
署名を検証します。
...証に成功した場合は true を返し、失敗した場合は false を返します。
@param key 署名に使う公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::Netscape::SPKIError 検証時にエラーが起きた場合に発生します
@see OpenSSL::Netscape::SPKI#sign... -
OpenSSL
:: X509 :: Request # verify(key) -> bool (33115.0) -
署名を検証します。
...には true を、失敗した場合には false を返します。
@param key 検証に利用する公開鍵(OpenSSL::PKey::PKey のサブクラスのインスタンス)
@raise OpenSSL::X509::RequestError 検証時にエラーが生じた場合に発生します
@see OpenSSL::X509::Request#sign...