ライブラリ
- open-uri (2)
- openssl (76)
-
rubygems
/ security (1)
クラス
-
OpenSSL
:: ASN1 :: ObjectId (7) -
OpenSSL
:: Cipher (2) -
OpenSSL
:: Config (7) -
OpenSSL
:: Digest (3) -
OpenSSL
:: Engine (5) -
OpenSSL
:: PKCS12 (1) -
OpenSSL
:: PKCS7 :: RecipientInfo (1) -
OpenSSL
:: PKCS7 :: SignerInfo (2) -
OpenSSL
:: PKey :: EC (1) -
OpenSSL
:: PKey :: EC :: Group (1) -
OpenSSL
:: SSL :: SSLContext (2) -
OpenSSL
:: SSL :: SSLSocket (3) -
OpenSSL
:: X509 :: CRL (2) -
OpenSSL
:: X509 :: Certificate (4) -
OpenSSL
:: X509 :: Extension (2) -
OpenSSL
:: X509 :: ExtensionFactory (1) -
OpenSSL
:: X509 :: Name (19) -
OpenSSL
:: X509 :: Request (2)
モジュール
-
Gem
:: Security (1) -
OpenSSL
:: ASN1 (1) -
OpenSSL
:: Random (4) -
OpenSSL
:: SSL :: SocketForwarder (2) - OpenURI (2)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - <=> (1)
- COMPAT (1)
- Config (1)
-
DEFAULT
_ OBJECT _ TYPE (1) - MULTILINE (1)
-
NAMED
_ CURVE (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) - NameError (1)
-
OBJECT
_ TYPE _ TEMPLATE (1) - ONELINE (1)
- RFC2253 (1)
- Request (1)
-
UNIVERSAL
_ TAG _ NAME (1) -
add
_ entry (1) -
add
_ value (1) -
build
_ cert (1) - cipher (1)
- cmp (1)
- create (1)
-
curve
_ name (1) - digest (2)
-
drb
/ ssl (1) - each (1)
- egd (1)
-
egd
_ bytes (1) -
get
_ value (1) - getsockopt (1)
-
hash
_ old (1) - hostname (1)
- hostname= (1)
- id (1)
- issuer (4)
- issuer= (2)
- ln (1)
- load (2)
-
load
_ random _ file (1) -
long
_ name (1) - name (4)
-
net
/ imap (1) -
net
/ smtp (1) - new (10)
-
open
_ uri (2) - openssl (1)
- parse (1)
-
parse
_ openssl (1) -
parse
_ rfc2253 (1) -
post
_ connection _ check (1) - register (1)
-
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) -
servername
_ cb (1) -
servername
_ cb= (1) - setsockopt (1)
-
short
_ name (1) - sn (1)
- subject (2)
- subject= (2)
-
subject
_ certificate= (1) -
to
_ a (1) -
to
_ der (1) -
to
_ s (1) - value (2)
-
write
_ random _ file (1)
検索結果
先頭5件
-
OpenSSL
:: X509 :: Name (63049.0) -
X.500の識別名(DN, Distinguished Name)を表わすクラス。
X.500の識別名(DN, Distinguished Name)を表わすクラス。
eql? と hash が定義されているため、Hash のキーとして
利用できます。 -
OpenSSL
:: X509 :: Name . parse _ openssl(str , template=OBJECT _ TYPE _ TEMPLATE) -> OpenSSL :: X509 :: Name (28066.0) -
文字列をパースして OpenSSL::X509::Name オブジェクトを返します。
文字列をパースして OpenSSL::X509::Name オブジェクトを返します。
例:
require 'openssl'
OpenSSL::X509::Name.parse('/C=JP/ST=Kanagawa/L=Yokohama/O=Example Company/OU=Lab3/CN=foobar/emailAddress=foobar@lab3.example.co.jp')
@param str パースする文字列
@param template 属性型に対応するデータ型を表わすハッシュ -
OpenSSL
:: SSL :: SSLSocket # hostname=(hostname) (27757.0) -
TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。
TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。
Server Name Indication については 3546 を参照してください。
このメソッドはハンドシェイク時にクライアント側がサーバ側に
サーバのホスト名を伝えるために用います。そのため、
クライアント側が OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでホスト名を指定する必要があります。
hostname に nil を渡すと SNI 拡張を利用しません。
サーバ側については OpenSSL::SSL::SSLCont... -
OpenSSL
:: ASN1 :: UNIVERSAL _ TAG _ NAME -> [String] (27430.0) -
タグ番号が表す ASN.1 オブジェクト名を収録した配列です。
タグ番号が表す ASN.1 オブジェクト名を収録した配列です。
例:
require 'openssl'
p OpenSSL::ASN1::UNIVERSAL_TAG_NAME[0] # => "EOC"
p OpenSSL::ASN1::UNIVERSAL_TAG_NAME[12] # => "UTF8STRING"
ASN.1 オブジェクトのタグ番号を表す定数が以下のように定義されています。
require 'openssl'
p OpenSSL::ASN1::UTF8STRING # => 12 -
OpenSSL
:: ASN1 :: ObjectId # short _ name -> String | nil (27406.0) -
オブジェクト識別子に対応する short name を返します。
オブジェクト識別子に対応する short name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.sn #=> "subjectAltName"
@see OpenSSL::ASN1::ObjectId#ln -
OpenSSL
:: SSL :: SSLContext # servername _ cb=(pr) (27403.0) -
TLS の Server Name Indication(SNI) 拡張で クライアント側からホスト名が伝えられてきた場合に 呼びだされるコールバックを設定します。
TLS の Server Name Indication(SNI) 拡張で
クライアント側からホスト名が伝えられてきた場合に
呼びだされるコールバックを設定します。
このコールバックはハンドシェイク時に
クライアント側がサーバのホスト名を伝えてきた場合に
サーバ側で呼びだされます。このコールバック内でサーバ側に提示する証明書を
調整したりします。
Proc や Method をコールバックオブジェクトとして
渡します。コールバックに渡される引数は以下のように
proc{|sslsocket, hostname| ... }
2つで、1つ目は認証および暗号化通信に使われる OpenSSL... -
OpenSSL
:: SSL :: SSLSocket # hostname -> String | nil (27385.0) -
TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。
TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。
OpenSSL::SSL::SSLSocket#hostname= で設定した値がそのまま返されます。
設定していない場合は nil を返します。
@see OpenSSL::SSL::SSLSocket#hostname= -
OpenSSL
:: SSL :: SSLContext # servername _ cb -> Proc | nil (27367.0) -
TLS の Server Name Indication(SNI) 拡張で クライアント側からホスト名が伝えられてきた場合に 呼びだされるコールバックを返します。
TLS の Server Name Indication(SNI) 拡張で
クライアント側からホスト名が伝えられてきた場合に
呼びだされるコールバックを返します。
詳しくは OpenSSL::SSL::SSLContext#servername_cb= を見てください。 -
OpenSSL
:: Engine # name -> String (27340.0) -
engine の(人間に読みやすい)名称を文字列で返します。
engine の(人間に読みやすい)名称を文字列で返します。
例:
engine.name # => "Atalla hardware engine support"
@see OpenSSL::Engine#id -
OpenSSL
:: PKey :: EC :: NAMED _ CURVE -> Integer (27319.0) -
その群が名前を持つ曲線から定義されていることを意味するフラグです。
その群が名前を持つ曲線から定義されていることを意味するフラグです。
OpenSSL::PKey::EC::Group#asn1_flag= で利用されます。 -
OpenSSL
:: Cipher # name -> String (27304.0) -
暗号化アルゴリズムの名前を文字列で返します。
暗号化アルゴリズムの名前を文字列で返します。 -
OpenSSL
:: Digest # name -> String (27304.0) -
ハッシュ関数の名前を返します。
ハッシュ関数の名前を返します。 -
OpenSSL
:: PKey :: EC :: Group # curve _ name -> String | nil (27304.0) -
曲線の名前を文字列で返します。
曲線の名前を文字列で返します。
名前がない場合は nil を返します。 -
OpenSSL
:: X509 :: NameError (27097.0) -
OpenSSL::X509::Name 固有のエラーの場合に発生する例外です。
OpenSSL::X509::Name 固有のエラーの場合に発生する例外です。 -
OpenSSL
:: PKCS7 :: SignerInfo # name -> OpenSSL :: X509 :: Name (18934.0) -
署名者の証明書の発行者の名前(DN)を返します。
署名者の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::SignerInfo#serial で
署名者を一意に識別します。 -
OpenSSL
:: X509 :: Name . new -> OpenSSL :: X509 :: Name (18859.0) -
OpenSSL::X509::Name オブジェクトを生成します。
OpenSSL::X509::Name オブジェクトを生成します。
引数を与えなかった場合は空のオブジェクトを返します。
第1引数として配列を与えた場合には、
その内容が属性型と属性値の文字列のペアであると仮定して、オブジェクトを生成します。
この場合値のデータ型(ASN.1の型)は template で与えたハッシュによって定まります。
obj が OpenSSL::X509::Name である場合には内容を複製した
オブジェクトを返します。
それ以外の場合は obj の to_der メソッドを読んで DER 形式のバイト列に変換し、
そこから内容を作ります。
例:
re... -
OpenSSL
:: X509 :: Name . new(ary , template = OBJECT _ TYPE _ TEMPLATE) -> OpenSSL :: X509 :: Name (18859.0) -
OpenSSL::X509::Name オブジェクトを生成します。
OpenSSL::X509::Name オブジェクトを生成します。
引数を与えなかった場合は空のオブジェクトを返します。
第1引数として配列を与えた場合には、
その内容が属性型と属性値の文字列のペアであると仮定して、オブジェクトを生成します。
この場合値のデータ型(ASN.1の型)は template で与えたハッシュによって定まります。
obj が OpenSSL::X509::Name である場合には内容を複製した
オブジェクトを返します。
それ以外の場合は obj の to_der メソッドを読んで DER 形式のバイト列に変換し、
そこから内容を作ります。
例:
re... -
OpenSSL
:: X509 :: Name . new(obj) -> OpenSSL :: X509 :: Name (18859.0) -
OpenSSL::X509::Name オブジェクトを生成します。
OpenSSL::X509::Name オブジェクトを生成します。
引数を与えなかった場合は空のオブジェクトを返します。
第1引数として配列を与えた場合には、
その内容が属性型と属性値の文字列のペアであると仮定して、オブジェクトを生成します。
この場合値のデータ型(ASN.1の型)は template で与えたハッシュによって定まります。
obj が OpenSSL::X509::Name である場合には内容を複製した
オブジェクトを返します。
それ以外の場合は obj の to_der メソッドを読んで DER 形式のバイト列に変換し、
そこから内容を作ります。
例:
re... -
OpenSSL
:: X509 :: Name . parse(str , template=OBJECT _ TYPE _ TEMPLATE) -> OpenSSL :: X509 :: Name (18766.0) -
文字列をパースして OpenSSL::X509::Name オブジェクトを返します。
文字列をパースして OpenSSL::X509::Name オブジェクトを返します。
例:
require 'openssl'
OpenSSL::X509::Name.parse('/C=JP/ST=Kanagawa/L=Yokohama/O=Example Company/OU=Lab3/CN=foobar/emailAddress=foobar@lab3.example.co.jp')
@param str パースする文字列
@param template 属性型に対応するデータ型を表わすハッシュ -
OpenSSL
:: X509 :: Name . parse _ rfc2253(str , template=OBJECT _ TYPE _ TEMPLATE) -> OpenSSL :: X509 :: Name (18703.0) -
RFC2253形式の文字列を パースして OpenSSL::X509::Name オブジェクトを返します。
RFC2253形式の文字列を
パースして OpenSSL::X509::Name オブジェクトを返します。
@param str パースする文字列
@param template 属性型に対応するデータ型を表わすハッシュ -
OpenSSL
:: ASN1 :: ObjectId # long _ name -> String | nil (18424.0) -
オブジェクト識別子に対応する long name を返します。
オブジェクト識別子に対応する long name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.ln #=> "X509v3 Subject Alternative Name"
@see OpenSSL::ASN1::ObjectId#sn -
OpenSSL
:: X509 :: Name # to _ s(flags=nil) -> String (18343.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 (18259.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
:: ASN1 :: ObjectId # sn -> String | nil (18106.0) -
オブジェクト識別子に対応する short name を返します。
オブジェクト識別子に対応する short name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.sn #=> "subjectAltName"
@see OpenSSL::ASN1::ObjectId#ln -
OpenSSL
:: X509 :: Name # <=>(other) -> -1 | 0 | 1 (18097.0) -
他の OpenSSL::X509::Name オブジェクトと比較します。
他の OpenSSL::X509::Name オブジェクトと比較します。
自身が other と一致する場合は 0、otherより大きい場合は1、
小さい場合は -1 を返します。
@param other 比較するオブジェクト -
OpenSSL
:: X509 :: Name # cmp(other) -> -1 | 0 | 1 (18097.0) -
他の OpenSSL::X509::Name オブジェクトと比較します。
他の OpenSSL::X509::Name オブジェクトと比較します。
自身が other と一致する場合は 0、otherより大きい場合は1、
小さい場合は -1 を返します。
@param other 比較するオブジェクト -
OpenSSL
:: X509 :: Name :: COMPAT -> Integer (18097.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。 -
OpenSSL
:: X509 :: Name :: MULTILINE -> Integer (18097.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。
複数行でフォーマットされます。 -
OpenSSL
:: X509 :: Name :: ONELINE -> Integer (18097.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。
1行で読みやすくフォーマットされます。 -
OpenSSL
:: X509 :: Name :: RFC2253 -> Integer (18097.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。
2253 互換方式でフォーマットされます。 -
OpenSSL
:: X509 :: Name :: DEFAULT _ OBJECT _ TYPE -> Integer (18091.0) -
属性値のデフォルトの ASN.1 の型です。
属性値のデフォルトの ASN.1 の型です。
OpenSSL::X509::Name.parse や OpenSSL::X509::Name.new で
template に指定されなかった属性はこの型であると仮定して処理されます。
OpenSSL::ASN1::UTF8STRING を返します。 -
OpenSSL
:: X509 :: Name # hash _ old -> Integer (18085.0) -
OpenSSL 0.9.8 と互換な古い方式のハッシュ関数の ハッシュ値を返します。
OpenSSL 0.9.8 と互換な古い方式のハッシュ関数の
ハッシュ値を返します。
内部では OpenSSL の X509_NAME_hash_old を呼び出します。 -
OpenSSL
:: X509 :: Name # to _ a -> [[String , String , Integer]] (18073.0) -
内容を配列にして返します。
内容を配列にして返します。
配列の各要素は、[属性型文字列、属性値文字列、属性値の型を表す整数(OpenSSL::ASN1以下の各定数で定義されているASN1の型)] という3要素の配列です。
例:
require 'openssl'
n = OpenSSL::X509::Name.parse('/C=JP/ST=Kanagawa/L=Yokohama/O=Example Company/OU=Lab3/CN=foobar/emailAddress=foobar@lab3.example.co.jp')
n.to_a
# => [["C", "JP", 19], ["ST... -
OpenSSL
:: X509 :: Name :: OBJECT _ TYPE _ TEMPLATE -> { String => Integer } (18073.0) -
属性型に対応する ASN.1の型を格納したハッシュです。
属性型に対応する ASN.1の型を格納したハッシュです。
OpenSSL::X509::Name.parse や OpenSSL::X509::Name.new
などでデフォルト値として使われます。
キーは属性型文字列で、ASN.1の型を表わす整数が対応します。
以下の文字列がキーです。
'C', 'countryName', 'serialNumber', 'dnQualifier',
'DC', 'domainComponent', 'emailAddress' -
OpenSSL
:: X509 :: Name # add _ entry(oid , value , type = nil) (18055.0) -
新しい属性を追加します。
新しい属性を追加します。
@param oid 属性型文字列
@param value 属性値文字列
@param type 属性値の(ASN.1の)型、省略時は OpenSSL::X509::Name::OBJECT_TYPE_TEMPLATE と oid から型が決まる
@raise OpenSSL::X509::NameError 属性の追加に失敗した場合に発生します -
OpenSSL
:: X509 :: Name # to _ der -> String (18001.0) -
DER 形式のバイト列を返します。
DER 形式のバイト列を返します。 -
OpenSSL
:: ASN1 :: ObjectId . register(oid , short _ name , long _ name) -> true (9931.0) -
オブジェクト識別子に対応する名前(short name と long name)を OpenSSLの内部テーブルに登録します。
オブジェクト識別子に対応する名前(short name と long name)を
OpenSSLの内部テーブルに登録します。
登録した名前は OpenSSL::X509::Extension などで利用できるようになります。
例:
require "openssl"
OpenSSL::ASN1::ObjectId.register(
"2.5.29.9", "subjectDirAttrs", "X509v3 Subject Directory Attributes")
p OpenSSL::ASN1::ObjectId.new("2.5.29.9").long_n... -
OpenSSL
:: PKCS12 . create(pass , name , pkey , cert , ca=nil , key _ nid=nil , cert _ nid=nil , key _ iter=nil , mac _ iter=nil , keytype=nil) -> OpenSSL :: PKCS12 (9715.0) -
PKCS#12 オブジェクトを生成します。
PKCS#12 オブジェクトを生成します。
pass はデータを暗号化するためのパスフレーズです。
name は利用者の利便性のためにオブジェクトに与える名前です。
pkey は秘密鍵、certは証明書、caはCA証明書の配列です。
ca に nil を渡すのは空の配列を渡すのと同じ意味です。
key_nid と cert_nid は 秘密鍵、証明書の暗号化方式を
文字列で指定します。
key_iter は暗号化アルゴリズムにイテレーション回数、
mac_iter は MAC のイテレーション回数、
keytype は鍵の種類を渡します。
key_nid, cert_nid, key_i... -
OpenSSL
:: Cipher . new(name) -> OpenSSL :: Cipher (9679.0) -
共通鍵暗号のアルゴリズム名を渡し、対応する暗号オブジェクトを生成します。
共通鍵暗号のアルゴリズム名を渡し、対応する暗号オブジェクトを生成します。
利用できるアルゴリズムはシステムにインストールされている openssl に依存します。
OpenSSL::Cipher.ciphers で利用可能な暗号のアルゴリズム名が得られます。
さまざまな方式がありますが、2006年現在 aes256 (aes-256-cbc)
を用いるのが安心でしょう。
@param name 暗号化方式の名前
@raise RuntimeError 利用可能でない暗号化方式名を指定した場合に発生します
@raise OpenSSL::Cipher::CipherError 初期化... -
OpenSSL
:: Config . load(filename = nil) -> OpenSSL :: Config (9673.0) -
OpenSSL::Config オブジェクトを生成します。
OpenSSL::Config オブジェクトを生成します。
filename で指定したファイルから設定データを読みこみます。
filename を省略した場合は空のオブジェクトが生成されます。
@param filename ファイル名文字列
@raise OpenSSL::ConfigError 設定ファイルの文法が正しくない場合に発生します -
OpenSSL
:: Config . new(filename = nil) -> OpenSSL :: Config (9673.0) -
OpenSSL::Config オブジェクトを生成します。
OpenSSL::Config オブジェクトを生成します。
filename で指定したファイルから設定データを読みこみます。
filename を省略した場合は空のオブジェクトが生成されます。
@param filename ファイル名文字列
@raise OpenSSL::ConfigError 設定ファイルの文法が正しくない場合に発生します -
OpenSSL
:: Digest . new(name , data=nil) -> OpenSSL :: Digest (9643.0) -
ダイジェストオブジェクトを生成します。
ダイジェストオブジェクトを生成します。
name でハッシュ関数の種類を選びます。
data に文字列を渡すと、その文字列でオブジェクトの内部状態を更新します。
@param name ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
@param data 入力文字列
@raise RuntimeError サポートされていないアルゴリズムを指定した場合に発生します -
OpenSSL
:: Engine # cipher(name) -> OpenSSL :: Cipher (9643.0) -
engine から暗号化/復号化オブジェクトを生成します。
engine から暗号化/復号化オブジェクトを生成します。
@param name 暗号化方式名(文字列)
@raise OpenSSL::Engine::EngineError 指定した暗号化方式が存在しない、もしくは
engine がサポートしていない場合に発生します。 -
OpenSSL
:: Engine # digest(name) -> OpenSSL :: Digest (9643.0) -
engine からメッセージダイジェストオブジェクトを生成します。
engine からメッセージダイジェストオブジェクトを生成します。
@param name メッセージダイジェストアルゴリズム名(文字列)
@raise OpenSSL::Engine::EngineError 指定したアルゴリズムが存在しない、もしくは
engine がサポートしていない場合に発生します。 -
OpenSSL
:: X509 :: Request # subject -> OpenSSL :: X509 :: Name (9643.0) -
証明書署名要求の申請者名を返します。
証明書署名要求の申請者名を返します。
@raise OpenSSL::X509::RequestError 名前の取得に失敗した場合に発生します
@see OpenSSL::X509::Request#subject= -
OpenSSL
:: PKCS7 :: SignerInfo # issuer -> OpenSSL :: X509 :: Name (9634.0) -
署名者の証明書の発行者の名前(DN)を返します。
署名者の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::SignerInfo#serial で
署名者を一意に識別します。 -
OpenSSL
:: PKCS7 :: RecipientInfo # issuer -> OpenSSL :: X509 :: Name (9625.0) -
送信先の証明書の発行者の名前(DN)を返します。
送信先の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::RecipientInfo#serial で
送信先を一意に識別します。 -
OpenSSL
:: X509 :: CRL # issuer -> OpenSSL :: X509 :: Name (9607.0) -
CRL の発行者を返します。
CRL の発行者を返します。 -
OpenSSL
:: X509 :: Certificate # issuer -> OpenSSL :: X509 :: Name (9607.0) -
証明書の発行者の名前を返します。
証明書の発行者の名前を返します。 -
OpenSSL
:: X509 :: Certificate # subject -> OpenSSL :: X509 :: Name (9607.0) -
証明書の所有者の名前を返します。
証明書の所有者の名前を返します。 -
OpenSSL
:: X509 :: Extension . new(der) -> OpenSSL :: X509 :: Extension (9481.0) -
OpenSSL::X509::Extension オブジェクトを生成します。
OpenSSL::X509::Extension オブジェクトを生成します。
引数が1つの場合は DER 形式の文字列を渡します。
引数が2つ以上の場合は、oid には拡張領域の OID の ドット区切り表記、
short name、long name のいずれかである文字列を与えます。
value にはその値を表す DER 形式の文字列、もしくは
OpenSSL::ASN1::ASN1Data のサブクラスを与えます。
例;
require 'openssl'
include OpenSSL
oid = "subjectKeyIdentifier"
val = "\... -
OpenSSL
:: X509 :: Extension . new(oid , value , critical=false) -> OpenSSL :: X509 :: Extension (9481.0) -
OpenSSL::X509::Extension オブジェクトを生成します。
OpenSSL::X509::Extension オブジェクトを生成します。
引数が1つの場合は DER 形式の文字列を渡します。
引数が2つ以上の場合は、oid には拡張領域の OID の ドット区切り表記、
short name、long name のいずれかである文字列を与えます。
value にはその値を表す DER 形式の文字列、もしくは
OpenSSL::ASN1::ASN1Data のサブクラスを与えます。
例;
require 'openssl'
include OpenSSL
oid = "subjectKeyIdentifier"
val = "\... -
OpenSSL
:: ASN1 :: ObjectId . new(value) -> OpenSSL :: ASN1 :: ObjectId (9463.0) -
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の オブジェクトを生成します。
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の
オブジェクトを生成します。
value としては、ドット区切り数字表記、short name、long name の文字列の
をいずれかを渡します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::OBJECT となります。
例:
require "openssl"
include OpenSSL
p ASN1::ObjectId.new("1.2.840.10040.4.3").long_name # => "d... -
OpenSSL
:: ASN1 :: ObjectId . new(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: ObjectId (9463.0) -
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の オブジェクトを生成します。
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の
オブジェクトを生成します。
value としては、ドット区切り数字表記、short name、long name の文字列の
をいずれかを渡します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::OBJECT となります。
例:
require "openssl"
include OpenSSL
p ASN1::ObjectId.new("1.2.840.10040.4.3").long_name # => "d... -
OpenSSL
:: Config # add _ value(section , name , value) -> String (9424.0) -
section で指定したセクションにある name というキーの 情報を value に変更します。
section で指定したセクションにある name というキーの
情報を value に変更します。
指定した section が存在しない場合には新たにそのセクションが
オブジェクト内に作られます。
指定した name が存在しない場合も同様に新たな領域が
そのオブジェクト内に作られます。指定した name が存在した場合には
情報が上書きされます。
value を返します。
@param section セクションを表す文字列
@param name キーを表す文字列
@param value 変更後の値の文字列
@raise OpenSSL::ConfigError 設定に失敗し... -
OpenSSL
:: Engine . load(name = nil) -> true | nil (9412.0) -
Engine をロードします。
Engine をロードします。
このメソッドは openssl のコンパイル時に静的に
コンパイルされたものを読み込みます。
name で指定した engine をロードします。以下が指定可能です。
* "dynamic"
* "cswift"
* "chil"
* "atalla"
* "nuron"
* "ubsec"
* "aep"
* "sureware"
* "4758cca"
* "openbsd_dev_crypto"
* "openssl"
引数を省略した場合はロード可能なすべての engine をロードします。
動的な読み込み... -
OpenSSL
:: SSL :: SSLSocket # post _ connection _ check(hostname) -> true (9391.0) -
接続後検証を行います。
接続後検証を行います。
検証に成功した場合は true を返し、失敗した場合は例外
OpenSSL::SSL::SSLError を発生させます。
OpenSSL の API では、
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
での検証は実用的には不完全です。
CA が証明書に署名してそれが失効していないことしか確認しません。
実用上は証明書に記載されている事項を見て、接続先が妥当であるかを確認する
必要があります。通常は接続先ホストの FQDN と証明書に記載されている FQDN が
一致しているか... -
OpenSSL
:: X509 :: Certificate # issuer=(name) (9376.0) -
証明書の発行者の名前を設定します。
証明書の発行者の名前を設定します。
@param name 発行者の名前の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します -
OpenSSL
:: X509 :: Certificate # subject=(name) (9376.0) -
証明書の所有者の名前を設定します。
証明書の所有者の名前を設定します。
@param name 所有者の名前の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します -
OpenSSL
:: Random . # load _ random _ file(filename) -> true (9355.0) -
ファイルを読み込み、その内容をエントロピー源として 乱数生成器に渡します。
ファイルを読み込み、その内容をエントロピー源として
乱数生成器に渡します。
エントロピーの推定量はファイルのバイト数と同じであると見なします。
OpenSSL::Random.seed(File.read(filename)) と同じです。
@param filename 読み込むファイル名
@raise OpenSSL::Random::RandomError ファイルの読み込みに失敗した場合に発生します
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Digest . digest(name , data) -> String (9340.0) -
data のダイジェストを計算します。
data のダイジェストを計算します。
name でハッシュ関数を指定します。
@param name ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
@param data ダイジェストを計算する文字列 -
OpenSSL
:: X509 :: ExtensionFactory # subject _ certificate=(name) (9340.0) -
自身に所有者(subject)の証明書オブジェクトを設定します。
自身に所有者(subject)の証明書オブジェクトを設定します。
@param cert 設定する証明書(OpenSSL::X509::Certificate)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new -
OpenSSL
:: Random . # egd(filename) -> true (9337.0) -
EGD(Entropy Gathering Daemon) からエントロピーを得、 乱数生成器に追加します。
EGD(Entropy Gathering Daemon) からエントロピーを得、
乱数生成器に追加します。
filename で指定した Unix domain socket から EGD に問い合わせ、
255 バイト分のエントロピーを取得します。
OpenSSL::Random.egd_bytes(filename, 255) と同じです。
@param filename EGD のソケットのファイル名
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Random . # egd _ bytes(filename , length) -> true (9337.0) -
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
filename で指定した Unix domain socket から EGD に問い合わせ、
指定した大きさのエントロピーを乱数生成器に追加します。
@param filename EGD のソケットのファイル名
@param length 読み込むバイト数
@raise OpenSSL::Random::RandomError
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Config # value(name) -> String | nil (9325.0) -
このメソッドは obsolete です。
このメソッドは obsolete です。
オブジェクトが持っている設定情報を返します。
引数が一つの場合はグローバルセクションの情報を返し、
2つの場合は section で指定したセクションの情報を返します。
@param section セクションを表す文字列
@param name キーを表す文字列 -
OpenSSL
:: Config # value(section , name) -> String | nil (9325.0) -
このメソッドは obsolete です。
このメソッドは obsolete です。
オブジェクトが持っている設定情報を返します。
引数が一つの場合はグローバルセクションの情報を返し、
2つの場合は section で指定したセクションの情報を返します。
@param section セクションを表す文字列
@param name キーを表す文字列 -
OpenSSL
:: Config # get _ value(section , name) -> String | nil (9322.0) -
オブジェクトが持っている設定情報を返します。
オブジェクトが持っている設定情報を返します。
キーに対応する設定情報がない場合は nil を返します。
@param section セクションを表す文字列。"" を渡すことでグローバルな設定情報を読むことができます。
@param name キーを表す文字列 -
OpenSSL
:: Random . # write _ random _ file(filename) -> true (9319.0) -
乱数生成器で生成された 1024 バイトのランダムなバイト列を ファイルに書き込みます。
乱数生成器で生成された 1024 バイトのランダムなバイト列を
ファイルに書き込みます。
これで出力したランダムなバイト列はあとで乱数生成器を初期化するの
に使えます。リブート直後などシステムからのエントロピーが少ない場合に
利用できます。
このファイルは利用者以外には読めないように保存しなければなりません。
部外者がこのファイルを読めることはセキュリティ上の問題を引き起します。
@param filename 書き込むファイルの名前
@raise OpenSSL::Random::RandomError ファイルの書き出しに失敗した場合に発生します -
OpenSSL
:: SSL :: SocketForwarder # getsockopt(level , optname) -> String (9319.0) -
ラップされているソケットのオプションを設定します。
ラップされているソケットのオプションを設定します。
BasicSocket#getsockopt と同様です。
@param level getsockopt(2) の 第二引数のlevel に相当する整数を指定します
@param optname getsockopt(2) の 第三引数のoption_name に相当する整数を指定します -
OpenSSL
:: SSL :: SocketForwarder # setsockopt(level , optname , optval) -> 0 (9319.0) -
ラップされているソケットのオプションを設定します。
ラップされているソケットのオプションを設定します。
BasicSocket#setsockopt と同様です。
@param level setsockopt(2) の level に相当する整数を指定します
@param optname setsockopt(2) の option_name に相当する整数を指定します
@param optval 設定される値を文字列で指定します。
@raise Errno::EXXX オプションの設定に失敗した場合発生します。 -
OpenSSL
:: X509 :: Request (9271.0) -
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす クラスです。
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす
クラスです。
X.509 CSR については 2986 などを参照してください。
=== 例
CSR を生成する例。
require 'openssl'
# ファイルから秘密鍵を読み込む
rsa = OpenSSL::PKey::RSA.new(File.read("privkey.pem"))
# 新しい CSR オブジェクトを生成
csr = OpenSSL::X509::Request.new
# DN を生成
name = OpenSSL::X50... -
OpenSSL
:: Config (9139.0) -
OpenSSL の設定ファイルを表すクラスです。
OpenSSL の設定ファイルを表すクラスです。
OpenSSL の設定ファイルは、キーと文字列を対応付けた単純な構造をしています。
また、キーはセクションによってグループ分けされています。
どのセクションにも属さないグローバルなキーを作ることもできます。
デフォルトの設定ファイルを読み込む例
require 'openssl'
conf = OpenSSL::Config.load(OpenSSL::Config::DEFAULT_CONFIG_FILE)
p conf.sections # => ["req_distinguished_name", "req_attribu... -
OpenSSL
:: Config # each {|section , key , value| . . . } -> self (9127.0) -
オブジェクトに含まれる全ての設定情報を順にブロックに渡し 呼び出します。
オブジェクトに含まれる全ての設定情報を順にブロックに渡し
呼び出します。
渡される値は、セクションを表す文字列、キーを表す文字列、キーに
割り当てられた値の文字列、の3つです。
require 'openssl'
conf = OpenSSL::Config.load(OpenSSL::Config::DEFAULT_CONFIG_FILE)
conf.each{|section, key, value| p [section, key, value]}
# => ["req_distinguished_name", "countryName", "Country Name... -
OpenSSL
:: ASN1 :: ObjectId # ln -> String | nil (9124.0) -
オブジェクト識別子に対応する long name を返します。
オブジェクト識別子に対応する long name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.ln #=> "X509v3 Subject Alternative Name"
@see OpenSSL::ASN1::ObjectId#sn -
OpenSSL
:: X509 :: CRL # issuer=(issuer) (9073.0) -
CRL の発行者を設定します。
CRL の発行者を設定します。
@param issuer 発行者の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CRLError 設定に失敗した場合に発生します
@see OpenSSL::X509::CRL#issuer -
OpenSSL
:: X509 :: Request # subject=(subject) (9073.0) -
証明書署名要求の申請者名を設定します。
証明書署名要求の申請者名を設定します。
@param subject 設定する名前を OpenSSL::X509::Name で渡します
@raise OpenSSL::X509::RequestError 名前の設定に失敗した場合に発生します
@see OpenSSL::X509::Request#subject -
OpenSSL
:: Engine # id -> String (9037.0) -
engine の識別子を文字列で返します。
engine の識別子を文字列で返します。
@see OpenSSL::Engine#name -
Gem
:: Security . build _ cert(name , key , options = {}) -> OpenSSL :: X509 :: Certificate (625.0) -
与えられた DN と秘密鍵を使用して証明書を作成します。
与えられた DN と秘密鍵を使用して証明書を作成します。
@param name DN を指定します。
@param key 秘密鍵を指定します。
@param options オプションを指定します。 -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (463.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 (463.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'){|... -
ruby 1
. 8 . 2 feature (397.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]: 変更されたクラス/... -
drb
/ ssl (343.0) -
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
require 'drb/ssl'
obj = ''
DRb::DRbServer.new( 'drbssl://localhost:10000',
obj,
{:SSLCertName => [["CN","fqdn.example.com"]]})
DRb::DRbServer.new や DRb.#start_service が
"drbssl" スキームを受け入れるようになります。
また、D... -
ruby 1
. 8 . 3 feature (253.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]: ... -
ruby 1
. 8 . 4 feature (253.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
. 5 . 0 (199.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
* 文字列の式展... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (127.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
NEWS for Ruby 2
. 3 . 0 (91.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... -
net
/ smtp (55.0) -
メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol) を扱うライブラリです。
メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol)
を扱うライブラリです。
ヘッダなどメールのデータを扱うことはできません。
SMTP の実装は 2821 に基いています。
=== 使用例
==== とにかくメールを送る
SMTP を使ってメールを送るにはまず SMTP.start でセッションを開きます。
第一引数がサーバのアドレスで第二引数がポート番号です。
ブロックを使うと File.open と同じように終端処理を自動的にやってくれる
のでおすすめです。
require 'net/smtp'
Net::SMTP.... -
net
/ imap (37.0) -
このライブラリは Internet Message Access Protocol (IMAP) の クライアントライブラリです。2060 を元に 実装されています。
このライブラリは Internet Message Access Protocol (IMAP) の
クライアントライブラリです。2060 を元に
実装されています。
=== IMAP の概要
IMAPを利用するには、まずサーバに接続し、
Net::IMAP#authenticate もしくは
Net::IMAP#login で認証します。
IMAP ではメールボックスという概念が重要です。
メールボックスは階層的な名前を持ちます。
各メールボックスはメールを保持することができます。
メールボックスの実装はサーバソフトウェアによって異なります。
Unixシステムでは、ディレクトリ階層上の
...