4件ヒット
[1-4件を表示]
(0.013秒)
検索結果
-
OpenSSL
:: PKey :: RSA (118.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 :: DSA (82.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 :: PKey (82.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
:: PKey :: DH (46.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!
# 通信の両端で公...