るりまサーチ

最速Rubyリファレンスマニュアル検索!
88件ヒット [1-88件を表示] (0.066秒)

別のキーワード

  1. openssl new
  2. openssl digest
  3. openssl to_der
  4. openssl to_s
  5. openssl hexdigest

キーワード

検索結果

OpenSSL::PKCS7::SignerInfo.new(cert, key, digest) -> OpenSSL::PKCS7::SignerInfo (32322.0)

署名者オブジェクトを証明書、秘密鍵、ダイジェスト方式から生成します。

...ト方式は署名をするために利用します。

@param cert 証明書(OpenSSL::X509::Certificate オブジェクト)
@param key 秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest メッセージダイジェスト方式(文字列もしくは OpenSSL::Digest オブジェクト)...

OpenSSL::PKey::RSA (11110.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 に...
...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(public_key.export)
end

# 秘密鍵で署名
data = "foobar"
sign
= rsa.sign("sha256", data)
#...

OpenSSL::PKCS7.write_smime(p7sig, data=nil, flags = 0) -> String (11104.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...
...rtificate.new(File.read('cert.pem')),
OpenSSL
::PKey::RSA.new(File.read('privkey.pem')),
data)
smime = PKCS7.write_smime(p7)

@param p7sig PKCS#7 オブジェクト
@param data 署名されたデータ文字列
@param flags フラグ(整数値...

OpenSSL::X509::Request (11086.0)

X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす クラスです。

...名要求(Certificate Signing Request, CSR)を表わす
クラスです。

X.509 CSR については 2986 などを参照してください。

=== 例

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', 'JP')
name.add_entry('ST', 'Osaka')
name.add_entry('CN', 'Example Name')
csr.subject = name
# バージョンを 0 (v1.7) に
csr.ver...
...
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))
# 署名
csr.sign(rsa, "sha1")
# P...

OpenSSL::X509::Store#purpose=(purpose) (11086.0)

証明書の使用目的を設定します。

...ます。
* OpenSSL::X509::PURPOSE_ANY
* OpenSSL::X509::PURPOSE_CRL_SIGN
* OpenSSL::X509::PURPOSE_NS_SSL_SERVER
* OpenSSL::X509::PURPOSE_SMIME_ENCRYPT
* OpenSSL::X509::PURPOSE_SMIME_SIGN
* OpenSSL::X509::PURPOSE_SSL_CLIENT
* OpenSSL::X509::PURPOSE_SSL_SERVER
* OpenSSL::X509::PURPOSE_...
...OCSP_HELPER

この値は OpenSSL::X509::Store#verify で検証する場合に利用されます。
証明書に記載されている使用目的が適合していない場合には検証が失敗します。
OpenSSL
::X509::StoreContext.new で証明書ストアコンテキストを
生成する場...
...合にはそのコンテキストにこの値がコピーされます。

@param purpose 証明書の使用目的を表す整数値
@see OpenSSL::X509::StoreContext#purpose=...

絞り込み条件を変える

OpenSSL::PKey::PKey (11062.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.sign("dss1", data)
# 署名の検証
p dsa512.verify(dss1, sign,...

OpenSSL::PKey::DH (11050.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 (11038.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)...