ライブラリ
-
net
/ imap (2) - open-uri (2)
- openssl (84)
- securerandom (1)
クラス
-
Net
:: IMAP (2) -
OpenSSL
:: BN (4) -
OpenSSL
:: Cipher :: IDEA (1) -
OpenSSL
:: Cipher :: RC5 (1) -
OpenSSL
:: Digest :: Digest (1) -
OpenSSL
:: Engine (2) -
OpenSSL
:: OCSP :: BasicResponse (3) -
OpenSSL
:: OCSP :: Request (2) -
OpenSSL
:: OCSP :: Response (1) -
OpenSSL
:: PKCS7 (6) -
OpenSSL
:: PKey :: DH (5) -
OpenSSL
:: PKey :: DSA (6) -
OpenSSL
:: PKey :: EC :: Group (5) -
OpenSSL
:: PKey :: RSA (11) -
OpenSSL
:: SSL :: SSLContext (9) -
OpenSSL
:: X509 :: Certificate (1) -
OpenSSL
:: X509 :: ExtensionFactory (1) -
OpenSSL
:: X509 :: Name (1) -
OpenSSL
:: X509 :: Store (3) -
OpenSSL
:: X509 :: StoreContext (4)
モジュール
-
OpenSSL
:: ASN1 (1) -
OpenSSL
:: Buffering (3) - OpenURI (2)
キーワード
- ** (1)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - ASN1 (1)
- Buffering (1)
- CRL (1)
- Certificate (1)
- Cipher (1)
- Extension (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 1 . 0 (1) -
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) - ObjectId (1)
- PKCS7 (1)
- PKey (1)
- Random (1)
- SSL (1)
- SecureRandom (1)
- Session (1)
- X509 (1)
-
asn1
_ flag= (1) -
check
_ nonce (1) - decrypt (1)
- encrypt (1)
- flags= (2)
- generate (6)
- load (1)
-
mod
_ inverse (1) -
mod
_ mul (1) -
net
/ imap (1) - new (22)
-
open
_ uri (2) -
point
_ conversion _ form (1) -
point
_ conversion _ form= (1) - print (1)
- printf (1)
-
private
_ decrypt (1) -
private
_ encrypt (1) -
public
_ decrypt (1) -
public
_ encrypt (1) -
public
_ key (1) - purpose= (2)
- puts (1)
-
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) -
rubygems
/ security (1) -
session
_ cache _ mode= (1) -
session
_ cache _ size= (1) -
session
_ cache _ stats (1) -
set
_ default (1) -
set
_ params (1) - sign (2)
- status (2)
-
tmp
_ dh _ callback= (1) -
to
_ s (1) - traverse (1)
- trust= (2)
- type (1)
- verify (4)
-
verify
_ mode= (1) -
write
_ smime (1)
検索結果
先頭5件
-
openssl (114421.0)
-
OpenSSL(https://www.openssl.org/) を Ruby から扱うためのライブラリです。
OpenSSL(https://www.openssl.org/)
を Ruby から扱うためのライブラリです。
このドキュメントでは SSL/TLS の一般的事項については
解説をしません。利用者は、SSL/TLSの各概念、例えば
以下の事項について理解している必要があります。
* 暗号と認証に関する一般的概念
* セキュリティに対する攻撃法
* 公開鍵暗号と秘密鍵暗号
* 署名の役割、署名の方法とその検証
* 公開鍵基盤(PKI, Public Key Infrastructure)
* X.509 証明書
* 暗号と乱数について
SSLのようなセキュリティ技... -
OpenSSL
:: BN # *(other) -> OpenSSL :: BN (87640.0) -
自身と other の積を返します。
自身と other の積を返します。
@param other かける数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_mul -
OpenSSL
:: BN # **(other) -> OpenSSL :: BN (51640.0) -
自身の other 乗を返します。
自身の other 乗を返します。
@param other 指数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_exp -
OpenSSL
:: X509 (34255.0) -
OpenSSL の X509 証明書、CRL(証明書失効リスト)、 CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
OpenSSL の X509 証明書、CRL(証明書失効リスト)、
CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
===[a:verify_error] 検証時エラー定数
以下の定数は OpenSSL::X509::Store#error,
OpenSSL::X509::StoreContext#error,
OpenSSL::SSL::SSLSocket#verify_result
の返り値として用いられます。
V_OK はエラーなしを意味しています。
* OpenSSL::X509::V_OK
* OpenSSL::X509::V_ERR_AKID_SKI... -
OpenSSL
:: OCSP :: BasicResponse # status -> [[OpenSSL :: OCSP :: CertificateId , Integer , Integer , Time|nil , Time , Time|nil , [OpenSSL :: X509 :: Extension]]] (34093.0) -
証明書の状態の問い合わせの結果を返します。
証明書の状態の問い合わせの結果を返します。
この返り値には複数の問い合わせ結果が含まれています。
個々の結果は以下の内容の配列です。
[ 問い合わせの CertificateId オブジェクト,
ステータスコード,
失効理由コード,
失効時刻,
最終更新時刻,
次回更新時刻,
拡張領域 ]
ステータスコードはいかのいずれかの値を取ります
* OpenSSL::OCSP::V_CERTSTATUS_GOOD 正常
* OpenSSL::OCSP::V_CERTSTATUS_REVOKED 失効
* OpenSSL::OCSP::... -
OpenSSL
:: ASN1 (34063.0) -
ASN.1(Abstract Syntax Notation One) のデータを取り扱うためのモジュールです。
ASN.1(Abstract Syntax Notation One)
のデータを取り扱うためのモジュールです。
OpenSSLで証明書などを取り扱うのに必要になります。
このモジュールには、ASN.1関連のモジュール関数や定数、
ASN.1 のデータ型に対応するクラスが定義されています。
このモジュールは ASN.1 を十分に取り扱うのに必要な機能は
持っていません。SSL/TLSで必要な機能しか実装されていません。
ASN.1 は ITU-T と ISO によって定義された、データの構造を定義するための
言語を中心とした規格です。
この言語で定義された抽象的な構造を実際のバイト列で... -
OpenSSL
:: SSL :: SSLContext # set _ params(params) -> Hash (33703.0) -
パラメータをハッシュで設定します。
パラメータをハッシュで設定します。
渡すハッシュテーブルは { パラメータ名のシンボル => パラメータの値 } という
形をしていなければなりません。
以下のパラメータを設定できます。
* :cert (OpenSSL::SSL::SSLContext#cert=)
* :key (OpenSSL::SSL::SSLContext#key=)
* :client_ca (OpenSSL::SSL::SSLContext#client_ca=)
* :ca_file (OpenSSL::SSL::SSLContext#ca_file=)
* :ca_path (Open... -
OpenSSL
:: SSL :: SSLContext . new -> OpenSSL :: SSL :: SSLContext (33685.0) -
SSL コンテキストオブジェクトを生成します。
SSL コンテキストオブジェクトを生成します。
ssl_method で利用するプロトコルの種類を文字列もしくは
シンボルで指定します。以下のいずれかが利用可能です。
* 'TLSv1' TLSv1サーバクライアント両用
* 'TLSv1_server' TLSv1サーバ用
* 'TLSv1_client' TLSv1クライアント用
* 'TLSv1_1'
* 'TLSv1_1_server'
* 'TLSv1_1_client'
* 'TLSv1_2'
* 'TLSv1_2_server'
* 'TLSv1_2_client'
*... -
OpenSSL
:: SSL :: SSLContext . new(ssl _ method) -> OpenSSL :: SSL :: SSLContext (33685.0) -
SSL コンテキストオブジェクトを生成します。
SSL コンテキストオブジェクトを生成します。
ssl_method で利用するプロトコルの種類を文字列もしくは
シンボルで指定します。以下のいずれかが利用可能です。
* 'TLSv1' TLSv1サーバクライアント両用
* 'TLSv1_server' TLSv1サーバ用
* 'TLSv1_client' TLSv1クライアント用
* 'TLSv1_1'
* 'TLSv1_1_server'
* 'TLSv1_1_client'
* 'TLSv1_2'
* 'TLSv1_2_server'
* 'TLSv1_2_client'
*... -
OpenSSL
:: PKCS7 . sign(cert , key , data , certs = [] , flags = 0) -> OpenSSL :: PKCS7 (33646.0) -
data に証明書と秘密鍵で署名します。
data に証明書と秘密鍵で署名します。
cert に署名に使う証明書を、key にその証明書に対応する秘密鍵を
渡します。certs に OpenSSL::X509::Certificate オブジェクトの配列 を
渡すと OpenSSL::PKCS7 オブジェクトにそれらの証明書が追加で保持されます。
例えば中間 CA 証明書などを渡します。
flags は以下の値の OR を渡します。
* OpenSSL::PKCS7::TEXT
text/plain 用の MIME ヘッダをデータに付け加える。
* OpenSSL::PKCS7::NOCERTS
署... -
OpenSSL
:: Random (33643.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵、秘密鍵の
ペアを計算します。鍵は他人に知られてはならないため、
その乱数は外部からの推論が不可能な良い性質を持っている必要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* Open... -
OpenSSL
:: Digest :: Digest . new(*args) -> OpenSSL :: Digest :: Digest (33640.0) -
互換性のためのメソッドです。
互換性のためのメソッドです。
OpenSSL::Digest.new で返されるオブジェクトと同じ働きをする
オブジェクトを返します。
@param args OpenSSL::Digest.new に渡すものと同じ引数を渡します -
OpenSSL
:: X509 :: ExtensionFactory . new(issuer _ cert=nil , subject _ cert=nil , subject _ req=nil , crl=nil) -> OpenSSL :: X509 :: ExtensionFactory (33610.0) -
ExtensionFactory オブジェクトを生成します。
ExtensionFactory オブジェクトを生成します。
証明書の発行者や所有者の OpenSSL::X509::Certificate オブジェクトや
OpenSSL::X509::Request、OpenSSL::X509::CRL オブジェクトを
渡すことによって、拡張領域の中身を ExtensionFactory オブジェクトが
計算することができます。
例えば、"subjectKeyIdentifier" 拡張領域は証明書の一部のハッシュ値
を値として持ちますが、
OpenSSL::X509::Certificate オブジェクトをあらかじめ渡しておくことによって
OpenSS... -
OpenSSL
:: Cipher :: IDEA . new(*args) -> OpenSSL :: Cipher :: IDEA (33604.0) -
IDEA 暗号オブジェクトを生成します。
IDEA 暗号オブジェクトを生成します。
@param args 暗号のパラメータ -
OpenSSL
:: Cipher :: RC5 . new(*args) -> OpenSSL :: Cipher :: RC5 (33604.0) -
RC5 暗号オブジェクトを生成し、返します。
RC5 暗号オブジェクトを生成し、返します。
@param args 暗号のパラメータ -
OpenSSL
:: SSL :: SSLContext # options=(options) (33559.0) -
オプションを設定します。
オプションを設定します。
以下の値の OR で指定します。
* OpenSSL::SSL::OP_ALL
* OpenSSL::SSL::OP_CIPHER_SERVER_PREFERENCE
* OpenSSL::SSL::OP_EPHEMERAL_RSA
* OpenSSL::SSL::OP_NETSCAPE_CA_DN_BUG
* OpenSSL::SSL::OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
* OpenSSL::SSL::OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
* OpenSS... -
OpenSSL
:: PKey :: EC :: Group . new(obj) -> OpenSSL :: PKey :: EC :: Group (33487.0) -
楕円曲線から定義される群を表すオブジェクトを生成します。
楕円曲線から定義される群を表すオブジェクトを生成します。
引数の種類と個数によって挙動が異なります。
引数が1つの場合は、シンボル、OpenSSL::PKey::EC::Group オブジェクト、
文字列のいずれかを渡すことができます。
引数にシンボルを渡した場合は対応する群を返します。以下の4つを
指定できます。
* :GFp_simple
* :GFp_mont
* :GFp_nist
* :GF2m_simple
この方法で生成された Group オブジェクトは不完全です。
OpenSSL::PKey::EC::Group オブジェクト
を渡した場合はそれを複製... -
OpenSSL
:: PKey :: EC :: Group . new(sym , p , a , b) -> OpenSSL :: PKey :: EC :: Group (33487.0) -
楕円曲線から定義される群を表すオブジェクトを生成します。
楕円曲線から定義される群を表すオブジェクトを生成します。
引数の種類と個数によって挙動が異なります。
引数が1つの場合は、シンボル、OpenSSL::PKey::EC::Group オブジェクト、
文字列のいずれかを渡すことができます。
引数にシンボルを渡した場合は対応する群を返します。以下の4つを
指定できます。
* :GFp_simple
* :GFp_mont
* :GFp_nist
* :GF2m_simple
この方法で生成された Group オブジェクトは不完全です。
OpenSSL::PKey::EC::Group オブジェクト
を渡した場合はそれを複製... -
OpenSSL
:: X509 :: Certificate # public _ key -> OpenSSL :: PKey :: PKey (33484.0) -
証明書に記載された公開鍵を返します。
証明書に記載された公開鍵を返します。
鍵の種類によって以下のいずれかのクラスのインスタンスを返します。
* OpenSSL::PKey::RSA
* OpenSSL::PKey::DSA
* OpenSSL::PKey::DH
* OpenSSL::PKey::EC
@raise OpenSSL::X509::CertificateError 鍵の取得に失敗した場合に発生します
@raise OpenSSL::PKey::PKeyError サポートしていない種類の鍵である場合に発生します -
OpenSSL
:: PKey :: RSA # private _ decrypt(str , mode = OpenSSL :: PKey :: RSA :: PKCS1 _ PADDING) -> String (33466.0) -
文字列 str を秘密鍵で復号化します。
文字列 str を秘密鍵で復号化します。
復号化されたデータを文字列で返します。
mode でパディングモードを指定します。暗号化に利用した
パディングモードと同じものを指定する必要があります。
以下の4つのうちいずれかが利用可能です。
* OpenSSL::PKey::RSA::PKCS1_PADDING
* OpenSSL::PKey::RSA::SSLV23_PADDING
* OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING
* OpenSSL::PKey::RSA::NO_PADDING
@param str 暗号化する文字列
@param ... -
OpenSSL
:: PKey :: RSA # public _ encrypt(str , mode = OpenSSL :: PKey :: RSA :: PKCS1 _ PADDING) -> String (33466.0) -
文字列 str を公開鍵で暗号化します。
文字列 str を公開鍵で暗号化します。
暗号化されたデータを文字列で返します。
mode でパディングモードを指定します。以下の4つのうちいずれかが
利用可能です。
* OpenSSL::PKey::RSA::PKCS1_PADDING
* OpenSSL::PKey::RSA::SSLV23_PADDING
* OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING
* OpenSSL::PKey::RSA::NO_PADDING
@param str 暗号化する文字列
@param mode パディングモード
@raise OpenSSL::PKey:... -
OpenSSL
:: Cipher (33451.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。
以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::... -
OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA (33451.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。
このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り... -
OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA (33451.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。
このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り... -
OpenSSL
:: PKCS7 . encrypt(certs , data , cipher=nil , flags=0) -> OpenSSL :: PKCS7 (33448.0) -
data を証明書の公開鍵で暗号化します。
data を証明書の公開鍵で暗号化します。
暗号化は複数の公開鍵を用いてすることが可能です。そのためには
複数の証明書を配列で渡します。
data には任意の文字列を渡せますが、一般的には MIME 形式の文字列を渡します。
署名と暗号化の両方をしたい場合は、
署名(OpenSSL::PKCS7.sign)された S/MIME 形式の文字列を
渡すことが一般的です。
cipher は共通鍵暗号の方式を OpenSSL::Cipher オブジェクトで指定します。
nil を渡すと適当な方式が選ばれます。互換性を気にするのであれば
triple DES を使うとよいでしょう。多くのクライアン... -
OpenSSL
:: BN # mod _ mul(other , m) -> OpenSSL :: BN (33442.0) -
(self * other) % m を返します。
(self * other) % m を返します。
//emlist[][ruby]{
require 'openssl'
OpenSSL::BN.new("7").mod_mul(OpenSSL::BN.new("3"), OpenSSL::BN.new("6")) # => 3
//}
@param other 積を取る数
@param m 剰余を取る数
@raise OpenSSL::BNError 計算時エラー -
OpenSSL
:: PKey :: DH . new() -> OpenSSL :: PKey :: DH (33418.0) -
DH オブジェクトを生成します。
DH オブジェクトを生成します。
第1引数に整数を渡した場合は、OpenSSL::PKey::DH#generate と
同じです。
それ以外の場合には、以下のようにして鍵パラメータを読みこみ、DH オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵パラメータを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DH オブジェクトを生成します。
* 第一引数が to_der メソッドを持つ場合は、それにより DER 形式の
文字列に変換してから読み込みます
この場合鍵... -
OpenSSL
:: PKey :: DH . new(obj) -> OpenSSL :: PKey :: DH (33418.0) -
DH オブジェクトを生成します。
DH オブジェクトを生成します。
第1引数に整数を渡した場合は、OpenSSL::PKey::DH#generate と
同じです。
それ以外の場合には、以下のようにして鍵パラメータを読みこみ、DH オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵パラメータを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DH オブジェクトを生成します。
* 第一引数が to_der メソッドを持つ場合は、それにより DER 形式の
文字列に変換してから読み込みます
この場合鍵... -
OpenSSL
:: PKey :: DH . new(size , generator = 2) -> OpenSSL :: PKey :: DH (33418.0) -
DH オブジェクトを生成します。
DH オブジェクトを生成します。
第1引数に整数を渡した場合は、OpenSSL::PKey::DH#generate と
同じです。
それ以外の場合には、以下のようにして鍵パラメータを読みこみ、DH オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵パラメータを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DH オブジェクトを生成します。
* 第一引数が to_der メソッドを持つ場合は、それにより DER 形式の
文字列に変換してから読み込みます
この場合鍵... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (33415.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビット数つまりは鍵のサイズを指定します。
最低でも1024を指定してください。
exponent で public exponent を指定します。exponent には奇数を指定し、
大抵の場合、3、17 あるいは 65537 を指定します。
このメソッドにブロックが渡された場合には、鍵生成の途中経過の
情報を引数としてブロックが呼び出さ... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (33415.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビット数つまりは鍵のサイズを指定します。
最低でも1024を指定してください。
exponent で public exponent を指定します。exponent には奇数を指定し、
大抵の場合、3、17 あるいは 65537 を指定します。
このメソッドにブロックが渡された場合には、鍵生成の途中経過の
情報を引数としてブロックが呼び出さ... -
OpenSSL
:: PKey :: RSA . new -> OpenSSL :: PKey :: RSA (33406.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: RSA . new(obj , pass = nil) -> OpenSSL :: PKey :: RSA (33406.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: RSA . new(obj , pass = nil) {|flag| . . . } -> OpenSSL :: PKey :: RSA (33406.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: RSA . new(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (33406.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: RSA . new(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (33406.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: DSA . new -> OpenSSL :: PKey :: DSA (33403.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) -> OpenSSL :: PKey :: DSA (33403.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) {|flag| . . . } -> OpenSSL :: PKey :: DSA (33403.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(size) -> OpenSSL :: PKey :: DSA (33403.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: BN # mod _ inverse(m) -> OpenSSL :: BN (33394.0) -
自身の mod m における逆元を返します。
自身の mod m における逆元を返します。
(self * r) % m == 1 となる r を返します。
存在しない場合は例外 OpenSSL::BNError が発生します。
//emlist[][ruby]{
require 'openssl'
p 3.to_bn.mod_inverse(5) # => 2
p (3 * 2) % 5 # => 1
//}
@param m mod を取る数
@raise OpenSSL::BNError 計算時エラー -
OpenSSL
:: PKey :: RSA # private _ encrypt(str , mode = OpenSSL :: PKey :: RSA :: PKCS1 _ PADDING) -> String (33394.0) -
文字列 str を秘密鍵で暗号化します。
文字列 str を秘密鍵で暗号化します。
暗号化されたデータを文字列で返します。
mode でパディングモードを指定します。以下のいずれかが利用可能です。
* OpenSSL::PKey::RSA::PKCS1_PADDING
* OpenSSL::PKey::RSA::NO_PADDING
@param str 暗号化する文字列
@param mode パディングモード
@raise OpenSSL::PKey::RSAError 暗号化に失敗した場合に発生します。
自身が秘密鍵でない場合などに発生します。 -
OpenSSL
:: PKey :: RSA # public _ decrypt(str , mode = OpenSSL :: PKey :: RSA :: PKCS1 _ PADDING) -> String (33394.0) -
文字列 str を公開鍵で復号化します。
文字列 str を公開鍵で復号化します。
復号化されたデータを文字列で返します。
mode でパディングモードを指定します。以下のいずれかが
利用可能です。暗号化に利用したパディングモードと同じものを
指定する必要があります。
* OpenSSL::PKey::RSA::PKCS1_PADDING
* OpenSSL::PKey::RSA::NO_PADDING
@param str 復号化する文字列
@param mode パディングモード
@raise OpenSSL::PKey::RSAError 復号化に失敗した場合に発生します。 -
OpenSSL
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (33361.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は真を、失敗した場合は偽を返します。
certs には署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは配列から適切な証明書を自動的に選択します。
store には検証に用いる証明書ストアを渡します。
検証に必要な信頼できる CA 証明書をあらかじめ証明書ストアに含めておく
必要があります。
indata は署名の対象となった... -
OpenSSL
:: X509 :: Store # purpose=(purpose) (33343.0) -
証明書の使用目的を設定します。
証明書の使用目的を設定します。
以下の定数値のうちいずれか1つを渡します。
* 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_SERVE... -
OpenSSL
:: SSL :: SSLContext # session _ cache _ mode=(mode) (33325.0) -
セッションキャッシュのモードを指定します。
セッションキャッシュのモードを指定します。
以下の定数のORを引数として渡します。
* OpenSSL::SSL::SSLContext::SESSION_CACHE_OFF
* OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT
* OpenSSL::SSL::SSLContext::SESSION_CACHE_SERVER
* OpenSSL::SSL::SSLContext::SESSION_CACHE_BOTH
* OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_AUTO_CLEAR
... -
OpenSSL
:: SSL :: Session (33307.0) -
SSL/TLS セッションを表すクラスです。
SSL/TLS セッションを表すクラスです。
セッションとは、SSL/TLS のハンドシェイクで確立される
仮想的なオブジェクトであり、安全な通信路を
実現するために必要な、クライアント側とサーバ側で共有される
情報の集合体です。SSL/TLS ハンドシェイクで必要な計算(特に署名の検証)
はかなり高コストであり、以前にそのような計算を済ませたという事実を
利用してハンドシェイクの高速化を図ることができます。
これがセッションの再利用です。
より具体的には、以下のような手順で再利用が行われます。
* まずは普通にクライアントとサーバでハンドシェイクを行う
* クライアントとサーバの... -
OpenSSL
:: X509 :: StoreContext # purpose=(purpose) (33307.0) -
証明書の使用目的を設定します。
証明書の使用目的を設定します。
以下の定数値のうちいずれか1つを渡します。
* 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_SERVE... -
OpenSSL
:: Buffering # printf(format , *args) -> nil (33304.0) -
format に従い引数 args を文字列に変換して 出力します。
format に従い引数 args を文字列に変換して
出力します。
IO#printf と同様です。
@param format 出力フォーマット文字列
@param arg 出力するオブジェクト
@see Kernel.#printf -
OpenSSL
:: Buffering # print(*args) -> nil (33301.0) -
args を順に出力します。
args を順に出力します。
args の各要素を to_s で文字列に変換して
出力します。
IO#print とほぼ同様ですが、引数を省略した場合に $_ を出力する
機能はありません。
@param args 出力するオブジェクト -
OpenSSL
:: Buffering # puts(*objs) -> nil (33301.0) -
各オブジェクトを出力し、それぞれの後に改行を出力します。
各オブジェクトを出力し、それぞれの後に改行を出力します。
IO#puts と同様です。
@param objs 出力したいオブジェクト -
OpenSSL
:: SSL (33289.0) -
* OpenSSL::SSL::SSLContext * OpenSSL::SSL::SSLServer * OpenSSL::SSL::SSLSocket
* OpenSSL::SSL::SSLContext
* OpenSSL::SSL::SSLServer
* OpenSSL::SSL::SSLSocket -
OpenSSL
:: X509 :: Name # to _ s(flags=nil) -> String (33289.0) -
DNの文字列表現を返します。
DNの文字列表現を返します。
flags には通常は以下のいずれかを渡します。
* nil
* OpenSSL::X509::Name::COMPAT
* OpenSSL::X509::Name::RFC2253
* OpenSSL::X509::Name::ONELINE
* OpenSSL::X509::Name::MULTILINE
*
例:
require 'openssl'
n = OpenSSL::X509::Name.parse('/C=JP/ST=Kanagawa/L=Yokohama/O=Example Company/OU=Lab3/CN... -
OpenSSL
:: Engine # set _ default(flags) -> true (33271.0) -
engine をデフォルトで利用するようにします。
engine をデフォルトで利用するようにします。
flags は engine を openssl のどの機能に関してデフォルトに
するかを指定します。
flags は以下の値の OR を取ります。
* OpenSSL::Engine::METHOD_CIPHERS
* OpenSSL::Engine::METHOD_DH
* OpenSSL::Engine::METHOD_DIGESTS
* OpenSSL::Engine::METHOD_DSA
* OpenSSL::Engine::METHOD_RSA
* OpenSSL::Engine::METHOD_RA... -
OpenSSL
:: Engine . load(name = nil) -> true | nil (33271.0) -
Engine をロードします。
Engine をロードします。
このメソッドは openssl のコンパイル時に静的に
コンパイルされたものを読み込みます。
name で指定した engine をロードします。以下が指定可能です。
* "dynamic"
* "cswift"
* "chil"
* "atalla"
* "nuron"
* "ubsec"
* "aep"
* "sureware"
* "4758cca"
* "openbsd_dev_crypto"
* "openssl"
引数を省略した場合はロード可能なすべての engine をロードします。
動的な読み込み... -
OpenSSL
:: X509 :: Store # trust=(trust) (33271.0) -
@todo
@todo
以下のいずれかの定数の値を指定します。
* OpenSSL::X509::TRUST_COMPAT
* OpenSSL::X509::TRUST_EMAIL
* OpenSSL::X509::TRUST_OBJECT_SIGN
* OpenSSL::X509::TRUST_SSL_CLIENT
* OpenSSL::X509::TRUST_SSL_SERVER
* OpenSSL::X509::TRUST_OCSP_REQUEST
* OpenSSL::X509::TRUST_OCSP_SIGN
@param trust 整数値
@see OpenSSL::X5... -
OpenSSL
:: X509 :: StoreContext # trust=(trust) (33271.0) -
@todo
@todo
以下のいずれかの定数の値を指定します。
* OpenSSL::X509::TRUST_COMPAT
* OpenSSL::X509::TRUST_EMAIL
* OpenSSL::X509::TRUST_OBJECT_SIGN
* OpenSSL::X509::TRUST_SSL_CLIENT
* OpenSSL::X509::TRUST_SSL_SERVER
* OpenSSL::X509::TRUST_OCSP_REQUEST
* OpenSSL::X509::TRUST_OCSP_SIGN
@param trust 整数値
@see OpenSSL::X... -
OpenSSL
:: PKCS7 . write _ smime(p7sig , data=nil , flags = 0) -> String (33253.0) -
PKCS7 オブジェクトから S/MIME 形式の文字列を返します。
PKCS7 オブジェクトから S/MIME 形式の文字列を返します。
data には署名対象のデータを渡します。
data に nil を渡すと OpenSSL::PKCS7#data で得られる
文字列を用います。通常は nil を渡してください。
flags には以下の定数の or を渡します。
* OpenSSL::PKCS7::DETACHED
クリア署名をします。これは OpenSSL::PKCS7.sign で
OpenSSL::PKCS7::DETACHED を渡した場合にのみ意味を持ちます。
* OpenSSL::PKCS7::TEXT
... -
OpenSSL
:: OCSP :: Response # status -> Integer (33235.0) -
ステータスコードを整数で返します。
ステータスコードを整数で返します。
以下のいずれかを返します。
* OpenSSL::OCSP::RESPONSE_STATUS_SUCCESSFUL
* OpenSSL::OCSP::RESPONSE_STATUS_MALFORMEDREQUEST
* OpenSSL::OCSP::RESPONSE_STATUS_INTERNALERROR
* OpenSSL::OCSP::RESPONSE_STATUS_TRYLATER
* OpenSSL::OCSP::RESPONSE_STATUS_SIGREQUIRED
* OpenSSL::OCSP::RESPONSE_S... -
OpenSSL
:: SSL :: SSLContext # session _ cache _ stats -> {Symbol -> Integer} (33199.0) -
セッションキャッシュの内部統計情報をハッシュテーブルで返します。
セッションキャッシュの内部統計情報をハッシュテーブルで返します。
ハッシュテーブルの各キーとその意味は以下の通りです。
* :cache_num 内部キャッシュに保持されているセッションの数
* :connect クライアント側でハンドシェイクした回数
* :connect_good クライアント側でハンドシェイクが成功した回数
* :connect_renegotiate クライアント側で再ネゴシエイトした回数
* :accept サーバ側でハンドシェイクした回数
* :accept_good サーバ側でハンドシェイクが成功した回数
* :accept_ren... -
OpenSSL
:: ASN1 . # traverse(der) {|depth , off , hlen , len , constructed , tag _ class , tag| . . . } -> nil (33181.0) -
DER形式の文字列を解析し、そこに含まれる ASN.1 の値 のプロパティを引数として与えられたブロックを呼びだします。
DER形式の文字列を解析し、そこに含まれる ASN.1 の値
のプロパティを引数として与えられたブロックを呼びだします。
OpenSSL::ASN1.#decode_all のように、文字列に含まれる
全ての ASN.1 オブジェクトのインスタンスを解析します。
ブロックに渡される引数は以下の通りです。
* depth: 再帰の深さ
* off: 対象の値をエンコードした文字列の der の先頭からのオフセット
* hlen: エンコードされたデータのヘッダのバイト数
* len: エンコードされたデータの値フィールドのバイト数
* constructed:対象の AS... -
OpenSSL
:: OCSP :: BasicResponse # verify(certs , store , flags=0) -> bool (33181.0) -
署名を検証します。
署名を検証します。
flagsには以下の値の OR を取ったものを渡します。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certificate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::... -
OpenSSL
:: OCSP :: Request # verify(certs , store , flags=0) -> bool (33181.0) -
Request オブジェクトの署名を検証します。
Request オブジェクトの署名を検証します。
検証に成功した場合は真を返します。
flags には以下の値の OR を取ったものを渡します。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certificate オブジェクトの配列)
... -
OpenSSL
:: PKey :: PKey (33181.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
:: OCSP :: BasicResponse # sign(signer _ cert , signer _ key , certs = [] , flags=0) -> self (33163.0) -
Response に署名します。
Response に署名します。
OCSP レスポンダ(もしくは CA)はレスポンスに署名をすることで、
レスポンスの内容を保証します。
flags には以下の値の OR を渡すことができます。
* OpenSSL::OCSP::NOTIME
* OpenSSL::OCSP::RESPID_KEY
* OpenSSL::OCSP::NOCERTS
certs に証明書の配列を渡すことで、この署名を検証するために
必要となる別の証明書を付加することができます。
@param signer_cert 署名者の証明書(OpenSSL::X509::Certificate オブジェ... -
OpenSSL
:: SSL :: SSLContext # verify _ mode=(mode) (33163.0) -
検証モードを設定します。
検証モードを設定します。
以下の定数の OR を取って指定します。
* OpenSSL::SSL::VERIFY_NONE
* OpenSSL::SSL::VERIFY_PEER
* OpenSSL::SSL::VERIFY_CLIENT_ONCE
* OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT
これらの定数の意味はクライアントモードとサーバモードでは異なる
意味を持ちます。
デフォルトは nil で、VERIFY_NONE を意味します。
@param mode 設定するモード(整数値)
@see OpenSSL::SSL::SS... -
OpenSSL
:: X509 :: StoreContext # verify -> bool (33163.0) -
証明書を検証します。
証明書を検証します。
OpenSSL::X509::StoreContext.new で設定した証明書を検証します。
検証に成功した場合は true を、失敗した場合は false を返します。
検証の詳細な情報は
* OpenSSL::X509::StoreContext#error
* OpenSSL::X509::StoreContext#error_string
* OpenSSL::X509::StoreContext#chain
* OpenSSL::X509::StoreContext#current_crl -
OpenSSL
:: Buffering (33157.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
:: PKey :: DH . generate(size , generator = 2) -> PKey :: DH (33127.0) -
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。
size は無作為に生成する素数 p (鍵パラメータ)のサイズで、単位はビットです。
generatorは1より大きい小さい数で、通常2か5を指定します。
生成した値は OpenSSL::PKey::DH#params_ok? で
安全かどうかチェックしてから利用してください。
このメソッドにブロックが渡された場合には、パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補がn回目の素数テスト(Mi... -
OpenSSL
:: PKey :: DH . generate(size , generator = 2) {|u , n| . . . } -> PKey :: DH (33127.0) -
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。
size は無作為に生成する素数 p (鍵パラメータ)のサイズで、単位はビットです。
generatorは1より大きい小さい数で、通常2か5を指定します。
生成した値は OpenSSL::PKey::DH#params_ok? で
安全かどうかチェックしてから利用してください。
このメソッドにブロックが渡された場合には、パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補がn回目の素数テスト(Mi... -
OpenSSL
:: SSL :: SSLContext # tmp _ dh _ callback=(cb) (33127.0) -
一時的 DH 鍵を生成するためのコールバックを設定します。
一時的 DH 鍵を生成するためのコールバックを設定します。
コールバックには Proc や Method を渡します。
暗号で一時的な DH 鍵を利用する場合にはこのコールバックが
呼びだされ、呼びだされたブロックは適切な鍵パラメータを返さなければ
なりません。これで設定するブロックは
proc{|sslsocket, is_export, keylen| ... }
という引数を取るようにします。それぞれの引数の意味は
* sslsocket 通信に使われる OpenSSL::SSL::SSLSocket オブジェクト
* is_export 輸出規制のある暗号を利用するかど... -
OpenSSL
:: X509 :: Store # flags=(flags) (33127.0) -
CRL に関するフラグを設定します。
CRL に関するフラグを設定します。
以下の定数から必要なものを選んで OR 取り、渡します。
* OpenSSL::X509::V_FLAG_CRL_CHECK
* OpenSSL::X509::V_FLAG_CRL_CHECK_ALL
このフラグは OpenSSL::X509::Store#verify で検証する場合に利用されます。
OpenSSL::X509::StoreContext.new で証明書ストアコンテキストを
生成する場合にはそのコンテキストにフラグがコピーされます。
デフォルトではフラグは設定されていません。
@param flags 設定するフラグ(整... -
OpenSSL
:: OCSP :: Request # check _ nonce(basic _ resp) -> Integer (33109.0) -
自身の nonce とレスポンスの nonce が整合しているか チェックします。
自身の nonce とレスポンスの nonce が整合しているか
チェックします。
-1 から 3 までの整数を返します。それぞれの意味は以下の通りです。
* -1 自身にしか nonce が設定されていない
* 0 nonce が自身とレスポンスの両方にあるが等しくない
* 1 nonce が自身とレスポンスの両方にあり等しい
* 2 nonce が自身とレスポンスのどちらにもない
* 3 nonce がレスポンスにしか設定されていない
0 は明らかに不正なので、これは必ずチェックする必要があります。
1 は nonce が正しいということを意味します。
それ以外は、... -
OpenSSL
:: PKCS7 (33091.0) -
PKCS #7 クラス
PKCS #7 クラス
PKCS #7 は暗号技術とともに用いられるデータのフォーマットの仕様です。
データやそれに対する署名、証明した日時など任意の属性を含むことができ、
S/MIME などに使用されています。
2315 を参照してください。
=== S/MIME メッセージの種類
S/MIME には以下の種類のメッセージがあります
* enveloped-only
* signed-only
* signedData フォーマット
* multipart/signed フォーマット
* Certificate-only -
OpenSSL
:: PKCS7 # decrypt(pkey , cert , flags = 0) -> String (33091.0) -
暗号化されたデータを復号化し、復号化されたデータを返します。
暗号化されたデータを復号化し、復号化されたデータを返します。
復号には暗号化に使った公開鍵に対応する秘密鍵と、その公開鍵を
含む証明書が必要です。
flags には以下のいずれかを指定できます。
* OpenSSL::PKCS7::TEXT
暗号化されたデータに付けられた text/plain タイプの MIME ヘッダ
を取り除きます。もしヘッダがなければエラーとなります。
@param pkey 復号化に使う秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param cert 対応する証明書(OpenSSL::X509::Certific... -
OpenSSL
:: PKCS7 # type -> Symbol (33091.0) -
PKCS7 オブジェクトのタイプを Symbol オブジェクトで返します。
PKCS7 オブジェクトのタイプを Symbol オブジェクトで返します。
次のうちのいずれかの値をとります。
* :signed
* :encrypted
* :enveloped
* :signedAndEnveloped
* :data -
OpenSSL
:: PKey :: EC :: Group # point _ conversion _ form -> Symbol (33091.0) -
点のエンコーディング方式を返します。
点のエンコーディング方式を返します。
以下のいずれかを返します。
* :compressed
* :uncompressed
* :hybrid
詳しくは X9.62 (ECDSA) などを参照してください。
@raise OpenSSL::PKey::EC::Group::Error 得られたエンコーディングが未知の値であった
場合に発生します。
@see OpenSSL::PKey::EC::Group#point_conversion_form= -
OpenSSL
:: X509 :: Extension (33091.0) -
X.509 v3 証明書の拡張領域のためのクラスです。
X.509 v3 証明書の拡張領域のためのクラスです。
OpenSSL::X509::Certificate オブジェクトは
その拡張領域を Extension オブジェクトの配列として保持し、
OpenSSL::X509::Certificate#extensions でその配列が得られます。
このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を
取り扱う必要があり面倒です。
OpenSSL::X509::ExtensionFactory を用いることで
インスタンスの生成を簡便に行うことができます。
=== 参照
* 5280 -
OpenSSL
:: X509 :: StoreContext # flags=(flags) (33091.0) -
CRL に関するフラグを設定します。
CRL に関するフラグを設定します。
以下の定数から必要なものを選んで OR 取り、渡します。
* OpenSSL::X509::V_FLAG_CRL_CHECK
* OpenSSL::X509::V_FLAG_CRL_CHECK_ALL
@param flags 設定するフラグ(整数値)
@see OpenSSL::X509::Store#flags= -
OpenSSL
:: PKey :: EC :: Group # point _ conversion _ form=(sym) (33073.0) -
点のエンコーディング方式を設定します。
点のエンコーディング方式を設定します。
以下のいずれかを設定します。
* :compressed
* :uncompressed
* :hybrid
詳しくは X9.62 (ECDSA) などを参照してください。
@param sym 設定する方式(Symbol)
@see OpenSSL::PKey::EC::Group#point_conversion_form -
OpenSSL
:: PKey :: EC :: Group # asn1 _ flag=(flags) (33055.0) -
自身に ASN1 フラグを設定します。
自身に ASN1 フラグを設定します。
現在利用可能なフラグは以下の通りです。
* OpenSSL::PKey::EC::NAMED_CURVE
@see OpenSSL::PKey::EC::Group#asn1_flag -
OpenSSL
:: SSL :: SSLContext # session _ cache _ size=(size) (33037.0) -
自身が保持可能なセッションキャッシュのサイズを指定します。
自身が保持可能なセッションキャッシュのサイズを指定します。
size に 0 を渡すと制限なしを意味します。
デフォルトは 1024*20 で、20000 セッションまでキャッシュを保持できます。
@param size セッションキャッシュのサイズ(整数値)
@see OpenSSL::SSL::SSLContext#session_cache_size -
OpenSSL
:: X509 :: CRL (33037.0) -
CRL(証明書失効リスト) クラス。
CRL(証明書失効リスト) クラス。
CRL とは、危殆化した等なんらかの理由で失効した証明書のリストです。
通常 CA によって発行されるものです。
OpenSSL::X509::Store に組込むことで失効した証明書の検証を
失敗させることができます。
通常 CRL の信頼性を確認するためには CRL になされた
署名を検証する必要があります。
* 5280 -
OpenSSL
:: ASN1 :: ObjectId (33019.0) -
ASN.1 のオブジェクト識別子を表すクラス。
ASN.1 のオブジェクト識別子を表すクラス。
* ITU-T X.660 https://www.itu.int/rec/T-REC-X.660/en -
OpenSSL
:: X509 :: Certificate (33019.0) -
X509 証明書クラス
X509 証明書クラス
* 5280 -
NEWS for Ruby 2
. 0 . 0 (4591.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
NEWS for Ruby 2
. 5 . 0 (4321.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展... -
ruby 1
. 8 . 4 feature (3565.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
NEWS for Ruby 2
. 2 . 0 (3367.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.1.0 以降の変更
=== 言語仕様の変更
* nil/true/false
* nil/true/false はフリーズされました 8923
* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと... -
NEWS for Ruby 2
. 1 . 0 (3295.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.0.0 以降の変更
=== 言語仕様の変更
* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。
* 整数や小数のリテラルの末尾に'r','i','... -
NEWS for Ruby 2
. 3 . 0 (3007.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.3.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.2.0 以降の変更
=== 言語仕様の変更
* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
897... -
NEWS for Ruby 2
. 4 . 0 (2719.0) -
NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.4.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.3.0 以降の変更
=== 言語仕様の変更
* 条件式での多重代入ができるようになりました 10617
* Symbol#to_proc でメソッド呼び出し元での Refinements が有効になりました 9451
* Ob... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (2089.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ruby 1
. 8 . 2 feature (847.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
ruby 1
. 8 . 3 feature (595.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
rubygems
/ security (325.0) -
このライブラリは暗号署名を RubyGems パッケージに使用するために使用します。
このライブラリは暗号署名を RubyGems パッケージに使用するために使用します。
=== 署名付きの Gem パッケージ
==== 目次
* 概要
* 解説
* コマンドラインオプション
* OpenSSL リファレンス
* Bugs / TODO
* 作者について
==== 概要
このライブラリは暗号署名を RubyGems パッケージに使用するために使用します。
以下のセクションでは、署名付きの Gem パッケージを作成する方法を
ステップバイステップで解説しています。
==== 解説
@todo メソッドではない
あなたが自分の Gem に署名するためには、... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (271.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) {|sio| . . . } -> nil (271.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
net
/ imap (235.0) -
このライブラリは Internet Message Access Protocol (IMAP) の クライアントライブラリです。2060 を元に 実装されています。
このライブラリは Internet Message Access Protocol (IMAP) の
クライアントライブラリです。2060 を元に
実装されています。
=== IMAP の概要
IMAPを利用するには、まずサーバに接続し、
Net::IMAP#authenticate もしくは
Net::IMAP#login で認証します。
IMAP ではメールボックスという概念が重要です。
メールボックスは階層的な名前を持ちます。
各メールボックスはメールを保持することができます。
メールボックスの実装はサーバソフトウェアによって異なります。
Unixシステムでは、ディレクトリ階層上の
... -
Net
:: IMAP . new(host , options) -> Net :: IMAP (199.0) -
新たな Net::IMAP オブジェクトを生成し、指定したホストの 指定したポートに接続し、接続語の IMAP オブジェクトを返します。
新たな Net::IMAP オブジェクトを生成し、指定したホストの
指定したポートに接続し、接続語の IMAP オブジェクトを返します。
usessl が真ならば、サーバに繋ぐのに SSL/TLS を用います。
SSL/TLS での接続には OpenSSL と openssl が使える必要があります。
certs は利用する証明書のファイル名もしくは証明書があるディレクトリ名を
文字列で渡します。
certs に nil を渡すと、OpenSSL のデフォルトの証明書を使います。
verify は接続先を検証するかを真偽値で設定します。
真が OpenSSL::SSL::VERIFY_PE...