13件ヒット
[1-13件を表示]
(0.075秒)
種類
- クラス (8)
- モジュール (4)
- インスタンスメソッド (1)
クラス
-
OpenSSL
:: BN (1)
検索結果
先頭5件
-
OpenSSL
:: BN # ===(other) -> bool (78307.0) -
自身と other が等しい場合に true を返します。
自身と other が等しい場合に true を返します。
@param other 比較する数 -
OpenSSL
:: ASN1 (34087.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::Constructive
の各サブクラス......タグクラスは UNIVERSAL です。
その値は OpenSSL::ASN1::ASN1Data#value で取り出せます。
単純型は通常の Ruby のオブジェクト、構造型は配列
UNIVERSAL以外のタグクラスを付けられた型は、
OpenSSL::ASN1::ASN1Data に対応します。UNIVERSAL以外... -
OpenSSL
:: Random (33397.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 (33349.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 (33259.0) -
SSL/TLS セッションを表すクラスです。
...側では OpenSSL はキャッシュの保持、管理のための
機能を提供していません。コネクション確立後に
OpenSSL::SSL::SSLSocket#session でセッションを取り出し、
次の OpenSSL::SSL::SSLSocket#connect によるハンドシェイク
前に OpenSSL::SSL::SSLSoc......ャッシュ
サーバ側では OpenSSL::SSL::SSLContext により
セッションキャッシュの保持および管理が行われます。
OpenSSL::SSL::SSLContext#session_cache_mode= で
キャッシュの挙動を設定します。
デフォルトで OpenSSL::SSL::SSLContext::SESSION_CACHE_SE......有効になっています。
セッションキャッシュ機構が有効化されている場合、
SSL/TLS ハンドシェイク終了時に OpenSSL::SSL::SSLContext 内の
キャッシュ保持領域にキャッシュが保持されます。
クライアント側からセッション再利用... -
OpenSSL
:: OCSP (33205.0) -
OCSP(Online Certificate Status Protocol)を取り扱うための モジュールです。OCSP は 2560 で定義されています。
...示する
require 'openssl'
require 'net/http'
# ...
subject # 問い合わせ対象の証明書(Certificate オブジェクト)
issuer # subject の発行者の証明書(Certificate オブジェクト)
store # 信頼している証明書ストア
cid = OpenSSL::OCSP::CertificateId.new......issuer)
req = OpenSSL::OCSP::Request.new
req.add_certid(cid)
req.add_nonce
http = Net::HTTP.new('ocsp.example.com', 80)
httpres = http.post("/", req.to_der, 'content-type' => 'application/ocsp-request')
raise "HTTP error" if !httpres.kind_of?(Net::HTTPOK)
res = OpenSSL::OCSP::Respon......se.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" unless [-1, 1].include?(req.check_nonce(basic_resp))
unless basic_resp.verify([], store)
puts "verify respons... -
OpenSSL
:: X509 :: Request (33169.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
:: PKey :: DH (33133.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
:: Buffering (33109.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 (33097.0) -
X.509 v3 証明書の拡張領域のためのクラスです。
...クラスです。
OpenSSL::X509::Certificate オブジェクトは
その拡張領域を Extension オブジェクトの配列として保持し、
OpenSSL::X509::Certificate#extensions でその配列が得られます。
このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を......取り扱う必要があり面倒です。
OpenSSL::X509::ExtensionFactory を用いることで
インスタンスの生成を簡便に行うことができます。
=== 参照
* 5280... -
OpenSSL
:: SSL :: SSLContext (33079.0) -
SSL コンテキストクラス。
...SSL コンテキストクラス。
SSL コネクション(OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer)
オブジェクトを生成するためのファクトリクラスです。
コネクションを生成するために必要なパラメータ(プロトコルのバージョン、
証明......はなく、
この後もセッション管理機能によってオブジェクトのキャッシュ領域に
セッションを追加したり削除したりできます。
=== Constants
verify_mode= と options= で指定できる定数に関しては OpenSSL::SSL を参照してください。... -
OpenSSL
:: SSL :: SSLSocket (33079.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
...。
require 'socket'
require 'openssl'
include OpenSSL
soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification error" if ssl.verify_result != OpenSSL::X509::V_OK
ssl.write('hoge')
p... -
OpenSSL
:: PKCS7 (33025.0) -
PKCS #7 クラス
PKCS #7 クラス
PKCS #7 は暗号技術とともに用いられるデータのフォーマットの仕様です。
データやそれに対する署名、証明した日時など任意の属性を含むことができ、
S/MIME などに使用されています。
2315 を参照してください。
=== S/MIME メッセージの種類
S/MIME には以下の種類のメッセージがあります
* enveloped-only
* signed-only
* signedData フォーマット
* multipart/signed フォーマット
* Certificate-only