310件ヒット
[1-100件を表示]
(0.042秒)
種類
- クラス (108)
- 文書 (102)
- モジュール (48)
- ライブラリ (40)
- インスタンスメソッド (12)
クラス
-
OpenSSL
:: BN (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - ASN1 (12)
- Buffering (12)
- Cipher (12)
- DH (12)
- Extension (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 1 . 0 (4) - OCSP (12)
- OptionParser (12)
- PKCS7 (12)
- Random (12)
- Request (12)
- SSLContext (12)
- SSLSocket (12)
- Session (12)
-
net
/ imap (12) -
net
/ smtp (4) -
ruby 1
. 8 . 2 feature (12) -
ruby 1
. 8 . 3 feature (12) -
rubygems
/ security (12)
検索結果
-
openssl (38086.0)
-
OpenSSL(https://www.openssl.org/) を Ruby から扱うためのライブラリです。
...OpenSSL(https://www.openssl.org/)
を Ruby から扱うためのライブラリです。
このドキュメントでは SSL/TLS の一般的事項については
解説をしません。利用者は、SSL/TLSの各概念、例えば
以下の事項について理解している必要があります......キュリティ的に重大な用途に用いるのであれば、
自分自身でこのドキュメントの内容を検証してください。
OpenSSL は SSL/TLS による通信を提供する高水準なインターフェースと
より基本的な機能を提供する低水準なインター......なります。
=== 例
自己署名証明書の作成の例です。自分の秘密鍵で自分の公開鍵に署名しているから自己署名です。
require 'openssl'
key = OpenSSL::PKey::RSA.new(1024)
digest = OpenSSL::Digest::SHA1.new()
issu = sub = OpenSSL::X509::Name.new... -
OpenSSL
:: BN # ===(other) -> bool (26100.0) -
自身と other が等しい場合に true を返します。
自身と other が等しい場合に true を返します。
@param other 比較する数 -
OpenSSL
:: ASN1 (11360.0) -
ASN.1(Abstract Syntax Notation One) のデータを取り扱うためのモジュールです。
...ASN.1(Abstract Syntax Notation One)
のデータを取り扱うためのモジュールです。
OpenSSLで証明書などを取り扱うのに必要になります。
このモジュールには、ASN.1関連のモジュール関数や定数、
ASN.1 のデータ型に対応するクラスが定......。
=== 概要
このモジュールにおいて、
ASN.1 のデータ型は OpenSSL::ASN1::ASN1Data および
そのサブクラスにマップされています。
ASN.1 の単純型(simple type)は OpenSSL::ASN1::Primitive の
各サブクラスに、構造型(structured type)は OpenSSL::ASN1......タグクラスは UNIVERSAL です。
その値は OpenSSL::ASN1::ASN1Data#value で取り出せます。
単純型は通常の Ruby のオブジェクト、構造型は配列
UNIVERSAL以外のタグクラスを付けられた型は、
OpenSSL::ASN1::ASN1Data に対応します。UNIVERSAL以外... -
OpenSSL
:: Random (11130.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
...OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵......ます。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* OpenSSL::PKey::DH.generate
* OpenSSL::Cipher#random_key
そのような乱数は適切な実装を持つ擬似乱数生成器に適切なシードを渡す
ことによって実現できます。
OpenSSL にはそのよ......。
そして、この擬似乱数生成器は OpenSSL の様々なモジュールから利用されています。
上に挙げた鍵生成メソッドの他に、
* OpenSSL::BN.rand
* OpenSSL::BN.rand_range
* OpenSSL::BN.generate_prime
* OpenSSL::Cipher#random_iv
などでも利用され... -
OpenSSL
:: Cipher (11114.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
...通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する......。
* OpenSSL::Cipher.new や OpenSSL::Cipher::AES256.new
などで暗号オブジェクトを生成する
* OpenSSL::Cipher#encrypt, OpenSSL::Cipher#decrypt で
暗号、復号のいずれをするかを設定する
* OpenSSL::Cipher#key=, OpenSSL::Cipher#iv=,
OpenSSL::Cipher#ra......ndom_key, OpenSSL::Cipher#random_iv などで
鍵と IV(initialization vector) を設定する
* OpenSSL::Cipher#update, OpenSSL::Cipher#final で
暗号化/復号化をする
ruby 1.8.3 から Cast5 と Idea が CAST5 と IDEA に改名されました。
=== ブロック暗号モード... -
OpenSSL
:: SSL :: Session (11084.0) -
SSL/TLS セッションを表すクラスです。
...
=== クライアント側のセッションキャッシュ
クライアント側では OpenSSL はキャッシュの保持、管理のための
機能を提供していません。コネクション確立後に
OpenSSL::SSL::SSLSocket#session でセッションを取り出し、
次の OpenSSL::SS......nect によるハンドシェイク
前に OpenSSL::SSL::SSLSocket#session= で再利用するセッションを
設定してやることでセッションを再利用します。
=== サーバ側のセッションキャッシュ
サーバ側では OpenSSL::SSL::SSLContext により
セッショ......ンキャッシュの保持および管理が行われます。
OpenSSL::SSL::SSLContext#session_cache_mode= で
キャッシュの挙動を設定します。
デフォルトで OpenSSL::SSL::SSLContext::SESSION_CACHE_SERVER
フラグが立っているため、サーバ側のセッションキャ... -
OpenSSL
:: OCSP (11066.0) -
OCSP(Online Certificate Status Protocol)を取り扱うための モジュールです。OCSP は 2560 で定義されています。
...りません。ユーザが例えば
OCSP over http などを実装する必要があります。
=== 例
OCSP レスポンダにリクエストを送ってその返答を表示する
require 'openssl'
require 'net/http'
# ...
subject # 問い合わせ対象の証明書(Certificate オブ......bject の発行者の証明書(Certificate オブジェクト)
store # 信頼している証明書ストア
cid = OpenSSL::OCSP::CertificateId.new(subject, issuer)
req = OpenSSL::OCSP::Request.new
req.add_certid(cid)
req.add_nonce
http = Net::HTTP.new('ocsp.example.com', 80)
httpres......pplication/ocsp-request')
raise "HTTP error" if !httpres.kind_of?(Net::HTTPOK)
res = OpenSSL::OCSP::Response.new(httpres.body)
puts "Response status: #{res.status_string}"
exit if res.status != OpenSSL::OCSP::RESPONSE_STATUS_SUCCESSFUL
basic_resp = res.basic
raise "nonce error" unles... -
OpenSSL
:: X509 :: Request (11054.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.......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
:: PKey :: DH (11042.0) -
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 と dh2 は鍵パラメータ p と g......つ複製することにしている
# dh1 は dh をそのまま使う
dh1 = dh
# パラメータを複製して dh2 に渡す
dh2 = OpenSSL::PKey::DH.new(dh)
# 両端が鍵パラメータから鍵対を生成する
dh1.generate_key!
dh2.generate_key!
# 通信の両端で公...