ライブラリ
- open-uri (2)
- openssl (40)
-
rubygems
/ security (1)
クラス
モジュール
-
Gem
:: Security (1) - OpenURI (2)
キーワード
- <=> (1)
- COMPAT (1)
-
DEFAULT
_ OBJECT _ TYPE (1) - MULTILINE (1)
- NameError (1)
-
OBJECT
_ TYPE _ TEMPLATE (1) - ONELINE (1)
- RFC2253 (1)
- Request (1)
-
add
_ entry (1) -
build
_ cert (1) - cmp (1)
- create (1)
-
drb
/ ssl (1) -
hash
_ old (1) - issuer (4)
- issuer= (2)
- ln (1)
-
long
_ name (1) - name (1)
- new (5)
-
open
_ uri (2) - parse (1)
-
parse
_ openssl (1) -
parse
_ rfc2253 (1) - register (1)
-
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) - subject (2)
- subject= (2)
-
subject
_ certificate= (1) -
to
_ a (1) -
to
_ der (1) -
to
_ s (1)
検索結果
先頭5件
-
openssl (114295.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
:: X509 :: Name (96049.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 (61438.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 :: NameError (60145.0) -
OpenSSL::X509::Name 固有のエラーの場合に発生する例外です。
OpenSSL::X509::Name 固有のエラーの場合に発生する例外です。 -
OpenSSL
:: X509 :: Name . new -> OpenSSL :: X509 :: Name (52288.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 (52288.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 (52288.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 (52138.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 (52054.0) -
RFC2253形式の文字列を パースして OpenSSL::X509::Name オブジェクトを返します。
RFC2253形式の文字列を
パースして OpenSSL::X509::Name オブジェクトを返します。
@param str パースする文字列
@param template 属性型に対応するデータ型を表わすハッシュ -
OpenSSL
:: X509 :: Name # to _ s(flags=nil) -> String (51505.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
:: X509 :: Name # <=>(other) -> -1 | 0 | 1 (51145.0) -
他の OpenSSL::X509::Name オブジェクトと比較します。
他の OpenSSL::X509::Name オブジェクトと比較します。
自身が other と一致する場合は 0、otherより大きい場合は1、
小さい場合は -1 を返します。
@param other 比較するオブジェクト -
OpenSSL
:: X509 :: Name # cmp(other) -> -1 | 0 | 1 (51145.0) -
他の OpenSSL::X509::Name オブジェクトと比較します。
他の OpenSSL::X509::Name オブジェクトと比較します。
自身が other と一致する場合は 0、otherより大きい場合は1、
小さい場合は -1 を返します。
@param other 比較するオブジェクト -
OpenSSL
:: X509 :: Name :: COMPAT -> Integer (51145.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。 -
OpenSSL
:: X509 :: Name :: MULTILINE -> Integer (51145.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。
複数行でフォーマットされます。 -
OpenSSL
:: X509 :: Name :: ONELINE -> Integer (51145.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。
1行で読みやすくフォーマットされます。 -
OpenSSL
:: X509 :: Name :: RFC2253 -> Integer (51145.0) -
OpenSSL::X509::Name#to_s のフラグとして使います。
OpenSSL::X509::Name#to_s のフラグとして使います。
2253 互換方式でフォーマットされます。 -
OpenSSL
:: X509 :: Name :: DEFAULT _ OBJECT _ TYPE -> Integer (51127.0) -
属性値のデフォルトの ASN.1 の型です。
属性値のデフォルトの ASN.1 の型です。
OpenSSL::X509::Name.parse や OpenSSL::X509::Name.new で
template に指定されなかった属性はこの型であると仮定して処理されます。
OpenSSL::ASN1::UTF8STRING を返します。 -
OpenSSL
:: X509 :: Name :: OBJECT _ TYPE _ TEMPLATE -> { String => Integer } (51109.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 # hash _ old -> Integer (51103.0) -
OpenSSL 0.9.8 と互換な古い方式のハッシュ関数の ハッシュ値を返します。
OpenSSL 0.9.8 と互換な古い方式のハッシュ関数の
ハッシュ値を返します。
内部では OpenSSL の X509_NAME_hash_old を呼び出します。 -
OpenSSL
:: X509 :: Name # add _ entry(oid , value , type = nil) (51091.0) -
新しい属性を追加します。
新しい属性を追加します。
@param oid 属性型文字列
@param value 属性値文字列
@param type 属性値の(ASN.1の)型、省略時は OpenSSL::X509::Name::OBJECT_TYPE_TEMPLATE と oid から型が決まる
@raise OpenSSL::X509::NameError 属性の追加に失敗した場合に発生します -
OpenSSL
:: X509 :: Name # to _ a -> [[String , String , Integer]] (51091.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 # to _ der -> String (51001.0) -
DER 形式のバイト列を返します。
DER 形式のバイト列を返します。 -
OpenSSL
:: PKCS7 :: SignerInfo # name -> OpenSSL :: X509 :: Name (43240.0) -
署名者の証明書の発行者の名前(DN)を返します。
署名者の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::SignerInfo#serial で
署名者を一意に識別します。 -
OpenSSL
:: X509 :: Request # subject -> OpenSSL :: X509 :: Name (42982.0) -
証明書署名要求の申請者名を返します。
証明書署名要求の申請者名を返します。
@raise OpenSSL::X509::RequestError 名前の取得に失敗した場合に発生します
@see OpenSSL::X509::Request#subject= -
OpenSSL
:: X509 :: CRL # issuer -> OpenSSL :: X509 :: Name (42910.0) -
CRL の発行者を返します。
CRL の発行者を返します。 -
OpenSSL
:: X509 :: Certificate # issuer -> OpenSSL :: X509 :: Name (42910.0) -
証明書の発行者の名前を返します。
証明書の発行者の名前を返します。 -
OpenSSL
:: X509 :: Certificate # subject -> OpenSSL :: X509 :: Name (42910.0) -
証明書の所有者の名前を返します。
証明書の所有者の名前を返します。 -
OpenSSL
:: X509 :: Extension . new(der) -> OpenSSL :: X509 :: Extension (42889.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 (42889.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 # long _ name -> String | nil (42442.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 :: Certificate # issuer=(name) (42412.0) -
証明書の発行者の名前を設定します。
証明書の発行者の名前を設定します。
@param name 発行者の名前の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します -
OpenSSL
:: X509 :: Certificate # subject=(name) (42412.0) -
証明書の所有者の名前を設定します。
証明書の所有者の名前を設定します。
@param name 所有者の名前の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します -
OpenSSL
:: X509 :: ExtensionFactory # subject _ certificate=(name) (42376.0) -
自身に所有者(subject)の証明書オブジェクトを設定します。
自身に所有者(subject)の証明書オブジェクトを設定します。
@param cert 設定する証明書(OpenSSL::X509::Certificate)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new -
OpenSSL
:: X509 :: Request (42343.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
:: X509 :: CRL # issuer=(issuer) (42127.0) -
CRL の発行者を設定します。
CRL の発行者を設定します。
@param issuer 発行者の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CRLError 設定に失敗した場合に発生します
@see OpenSSL::X509::CRL#issuer -
OpenSSL
:: X509 :: Request # subject=(subject) (42127.0) -
証明書署名要求の申請者名を設定します。
証明書署名要求の申請者名を設定します。
@param subject 設定する名前を OpenSSL::X509::Name で渡します
@raise OpenSSL::X509::RequestError 名前の設定に失敗した場合に発生します
@see OpenSSL::X509::Request#subject -
OpenSSL
:: ASN1 :: ObjectId . register(oid , short _ name , long _ name) -> true (33985.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
:: PKCS7 :: SignerInfo # issuer -> OpenSSL :: X509 :: Name (33940.0) -
署名者の証明書の発行者の名前(DN)を返します。
署名者の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::SignerInfo#serial で
署名者を一意に識別します。 -
OpenSSL
:: PKCS7 :: RecipientInfo # issuer -> OpenSSL :: X509 :: Name (33928.0) -
送信先の証明書の発行者の名前(DN)を返します。
送信先の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::RecipientInfo#serial で
送信先を一意に識別します。 -
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 (33751.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
:: ASN1 :: ObjectId # ln -> String | nil (33142.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 -
Gem
:: Security . build _ cert(name , key , options = {}) -> OpenSSL :: X509 :: Certificate (928.0) -
与えられた DN と秘密鍵を使用して証明書を作成します。
与えられた DN と秘密鍵を使用して証明書を作成します。
@param name DN を指定します。
@param key 秘密鍵を指定します。
@param options オプションを指定します。 -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (517.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 (517.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 (487.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 . 4 feature (379.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]: 追加され... -
drb
/ ssl (361.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 (271.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]: ...