143件ヒット
[1-100件を表示]
(0.069秒)
種類
- クラス (88)
- モジュール (44)
- インスタンスメソッド (11)
クラス
-
OpenSSL
:: BN (11)
検索結果
先頭5件
-
OpenSSL
:: BN # ===(other) -> bool (26102.0) -
自身と other が等しい場合に true を返します。
自身と other が等しい場合に true を返します。
@param other 比較する数 -
OpenSSL
:: ASN1 (11362.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 (11132.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 (11116.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 (11086.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 (11068.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 (11056.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 (11044.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!
# 通信の両端で公... -
OpenSSL
:: Buffering (11036.0) -
OpenSSL::SSL::SSLSocket にバッファリング付きIO機能を提供する モジュールです。
...OpenSSL::SSL::SSLSocket にバッファリング付きIO機能を提供する
モジュールです。
IO クラスと同様のメソッドを提供しています。
内部的には sysread, syswrite, sysread_nonblock, syswrite_nonblock,
sysclose といった OpenSSL::SSL::SSLSocket が提供......するメソッドを
利用し、 OpenSSL::SSL::SSLSocket がラップしているソケット
をバッファ経由でデータを暗号化してやりとりを行います。
=== IO との違い
このクラスは IO クラスと同様のメソッドを提供していますが、
以下の点で... -
OpenSSL
:: X509 :: Extension (11032.0) -
X.509 v3 証明書の拡張領域のためのクラスです。
...クラスです。
OpenSSL::X509::Certificate オブジェクトは
その拡張領域を Extension オブジェクトの配列として保持し、
OpenSSL::X509::Certificate#extensions でその配列が得られます。
このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を......取り扱う必要があり面倒です。
OpenSSL::X509::ExtensionFactory を用いることで
インスタンスの生成を簡便に行うことができます。
=== 参照
* 5280...