ライブラリ
- openssl (98)
クラス
-
OpenSSL
:: ASN1 :: ASN1Data (8) -
OpenSSL
:: ASN1 :: Constructive (1) -
OpenSSL
:: ASN1 :: Primitive (1) -
OpenSSL
:: ASN1 :: Sequence (2) -
OpenSSL
:: ASN1 :: Set (2) -
OpenSSL
:: Cipher (1) -
OpenSSL
:: Digest (4) -
OpenSSL
:: Digest :: DSS (3) -
OpenSSL
:: Digest :: DSS1 (3) -
OpenSSL
:: Digest :: MD2 (3) -
OpenSSL
:: Digest :: MD4 (3) -
OpenSSL
:: Digest :: MD5 (3) -
OpenSSL
:: Digest :: MDC2 (3) -
OpenSSL
:: Digest :: RIPEMD160 (3) -
OpenSSL
:: Digest :: SHA (3) -
OpenSSL
:: Digest :: SHA1 (3) -
OpenSSL
:: Digest :: SHA224 (3) -
OpenSSL
:: Digest :: SHA256 (3) -
OpenSSL
:: Digest :: SHA384 (3) -
OpenSSL
:: Digest :: SHA512 (3) -
OpenSSL
:: Engine (2) -
OpenSSL
:: HMAC (4) -
OpenSSL
:: PKCS7 (8) -
OpenSSL
:: PKey :: DSA (2) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: PKey (2) -
OpenSSL
:: X509 :: Attribute (4) -
OpenSSL
:: X509 :: Extension (2)
モジュール
-
OpenSSL
:: ASN1 (6)
キーワード
- << (2)
- ASN1 (1)
- ASN1Data (1)
- Cipher (1)
- DSA (1)
- Digest (1)
- Extension (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 1 . 0 (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) - PKey (1)
- RSA (1)
- Sequence (2)
- Set (2)
-
add
_ data (1) - data= (1)
- decode (1)
-
decode
_ all (1) - digest (15)
-
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) - encrypt (1)
- hexdigest (14)
-
load
_ private _ key (1) -
load
_ public _ key (1) - new (23)
-
ruby 1
. 8 . 4 feature (1) -
rubygems
/ security (1) - sign (2)
- syssign (1)
- sysverify (1)
- tag (1)
- tag= (1)
-
tag
_ class (1) -
tag
_ class= (1) - tagging (2)
-
to
_ der (1) - type (1)
- update (3)
- value (2)
- value= (2)
- verify (2)
-
write
_ smime (1)
検索結果
先頭5件
-
OpenSSL
:: PKCS7 # data -> String (87304.0) -
署名対象のデータを文字列で返します。
署名対象のデータを文字列で返します。 -
OpenSSL
:: PKCS7 # add _ data(data) -> data (51934.0) -
署名対象のデータを設定します。
署名対象のデータを設定します。
このメソッドは使わないでください。
このメソッドは PKCS#7 の低レベル API であり、正しく使うのは
難しいでしょう。
@param data 文字列 -
OpenSSL
:: PKCS7 # data=(data) (51634.0) -
署名対象のデータを設定します。
署名対象のデータを設定します。
このメソッドは使わないでください。
このメソッドは PKCS#7 の低レベル API であり、正しく使うのは
難しいでしょう。
@param data 文字列 -
OpenSSL
:: ASN1 :: ASN1Data (51037.0) -
ASN.1 データ型を表すクラス。
ASN.1 データ型を表すクラス。
UNIVERSAL なタグを持つ ASN.1 値はこのクラスの2つのサブクラス、
OpenSSL::ASN1::Primitive もしくは OpenSSL::ASN1::Constructive
のインスタンスとして表現されます。
それ以外の値はこのクラスのインスタンスとして表現されます。 -
OpenSSL
:: ASN1 :: ASN1Data . new(value , tag , tag _ class) -> OpenSSL :: ASN1 :: ASN1Data (42739.0) -
ASN.1 値を表現する OpenSSL::ASN1::ASN1Data オブジェクトを 生成します。
ASN.1 値を表現する OpenSSL::ASN1::ASN1Data オブジェクトを
生成します。
通常 UNIVERSAL なタグクラスを持つ ASN.1 値はこのクラスのサブクラスで
表現されるため、tag_class はそれ以外(:CONTEXT_SPECIFIC、:APPLICATION、
:PRIVATE のいずれか)を指定します。
value としては、通常は文字列(IMPLICIT tagging 相当)
もしくは OpenSSL::ASN1::ASN1Data の配列(IMPLICIT tagging相当)
を指定します。
@param value そのオブジェクトが... -
OpenSSL
:: ASN1 :: ASN1Data # tag -> Integer (42037.0) -
タグ番号を返します。
タグ番号を返します。
タグ番号です。Universal 型の場合は BOOLEAN = 1 から BMPSTRING = 30
のいずれかの値をとります。
@see OpenSSL::ASN1::ASN1Data#tag= -
OpenSSL
:: ASN1 :: ASN1Data # tag=(tag) (42037.0) -
タグ番号を設定します。
タグ番号を設定します。
@param tag 設定するタグ番号
@see OpenSSL::ASN1::ASN1Data#tag -
OpenSSL
:: ASN1 :: ASN1Data # tag _ class -> Symbol (42037.0) -
タグクラスを返します。
タグクラスを返します。
:UNIVERSAL、:CONTEXT_SPECIFIC、:APPLICATION, :PRIVATE のいずれかを返します。
@see OpenSSL::ASN1::ASN1Data#tag_class= -
OpenSSL
:: ASN1 :: ASN1Data # tag _ class=(tag _ class) (42037.0) -
タグクラスを設定します。
タグクラスを設定します。
@param tag_class 設定するタグクラス。:UNIVERSAL、:ONTEXT_SPECIFIC、:APPLICATION、:PRIVATE のいずれか
@see OpenSSL::ASN1::ASN1Data#tag_class -
OpenSSL
:: ASN1 :: ASN1Data # value -> object (42037.0) -
ASN.1 値に対応するRubyのオブジェクトを返します。
ASN.1 値に対応するRubyのオブジェクトを返します。
@see OpenSSL::ASN1::ASN1Data#value= -
OpenSSL
:: ASN1 :: ASN1Data # value=(value) (42037.0) -
ASN.1 値に対応するRubyのオブジェクトを変更します。
ASN.1 値に対応するRubyのオブジェクトを変更します。
@param value 設定するオブジェクト
@see OpenSSL::ASN1::ASN1Data#value -
OpenSSL
:: ASN1 :: ASN1Data # to _ der -> String (42019.0) -
ASN.1 値の DER 表現を返します。
ASN.1 値の DER 表現を返します。
@see OpenSSL::ASN1.#decode -
OpenSSL
:: ASN1 (34225.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
:: PKCS7 . sign(cert , key , data , certs = [] , flags = 0) -> OpenSSL :: PKCS7 (33925.0) -
data に証明書と秘密鍵で署名します。
data に証明書と秘密鍵で署名します。
cert に署名に使う証明書を、key にその証明書に対応する秘密鍵を
渡します。certs に OpenSSL::X509::Certificate オブジェクトの配列 を
渡すと OpenSSL::PKCS7 オブジェクトにそれらの証明書が追加で保持されます。
例えば中間 CA 証明書などを渡します。
flags は以下の値の OR を渡します。
* OpenSSL::PKCS7::TEXT
text/plain 用の MIME ヘッダをデータに付け加える。
* OpenSSL::PKCS7::NOCERTS
署... -
OpenSSL
:: ASN1 . # decode(der) -> OpenSSL :: ASN1 :: ASN1Data (33865.0) -
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を
OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
複数の ASN.1 の値が含まれている場合、先頭の値だけを返します。
ASN.1 オブジェクトが Constructive である場合は、
それを構成する要素も再帰的に解析します。
例:
ruby -e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem... -
OpenSSL
:: PKCS7 . encrypt(certs , data , cipher=nil , flags=0) -> OpenSSL :: PKCS7 (33817.0) -
data を証明書の公開鍵で暗号化します。
data を証明書の公開鍵で暗号化します。
暗号化は複数の公開鍵を用いてすることが可能です。そのためには
複数の証明書を配列で渡します。
data には任意の文字列を渡せますが、一般的には MIME 形式の文字列を渡します。
署名と暗号化の両方をしたい場合は、
署名(OpenSSL::PKCS7.sign)された S/MIME 形式の文字列を
渡すことが一般的です。
cipher は共通鍵暗号の方式を OpenSSL::Cipher オブジェクトで指定します。
nil を渡すと適当な方式が選ばれます。互換性を気にするのであれば
triple DES を使うとよいでしょう。多くのクライアン... -
OpenSSL
:: ASN1 . # decode _ all(der) -> [OpenSSL :: ASN1 :: ASN1Data] (33739.0) -
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を全て OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスの配列として 返します。
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を全て
OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスの配列として
返します。
@param der DER形式の文字列
@raise OpenSSL::ASN1::ASN1Error 解析に失敗した場合に発生します
@see OpenSSL::ASN1.#decode -
OpenSSL
:: X509 :: Attribute # value -> OpenSSL :: ASN1 :: ASN1Data (33739.0) -
attribute の値を OpenSSL::ASN1::ASN1Data のオブジェクトで 返します。
attribute の値を OpenSSL::ASN1::ASN1Data のオブジェクトで
返します。
@raise OpenSSL::X509::AttributeError 値の取得に失敗した場合に発生します
@see OpenSSL::X509::Attribute#value= -
OpenSSL
:: ASN1 . # Sequence(value) -> OpenSSL :: ASN1 :: Sequence -> OpenSSL :: ASN1 :: Sequence (33664.0) -
ASN.1 の Sequence 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の Sequence 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::Sequence.new と同じです。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: ASN1 . # Set(value) -> OpenSSL :: ASN1 :: Set -> OpenSSL :: ASN1 :: Set (33664.0) -
ASN.1 の Set 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の Set 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::Set.new と同じです。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: Digest . new(name , data=nil) -> OpenSSL :: Digest (33643.0) -
ダイジェストオブジェクトを生成します。
ダイジェストオブジェクトを生成します。
name でハッシュ関数の種類を選びます。
data に文字列を渡すと、その文字列でオブジェクトの内部状態を更新します。
@param name ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
@param data 入力文字列
@raise RuntimeError サポートされていないアルゴリズムを指定した場合に発生します -
OpenSSL
:: Digest :: DSS . new(data=nil) -> OpenSSL :: Digest :: DSS (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: DSS1 . new(data=nil) -> OpenSSL :: Digest :: DSS1 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: MD2 . new(data=nil) -> OpenSSL :: Digest :: MD2 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: MD4 . new(data=nil) -> OpenSSL :: Digest :: MD4 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: MD5 . new(data=nil) -> OpenSSL :: Digest :: MD5 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: MDC2 . new(data=nil) -> OpenSSL :: Digest :: MDC2 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: RIPEMD160 . new(data=nil) -> OpenSSL :: Digest :: RIPEMD160 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA . new(data=nil) -> OpenSSL :: Digest :: SHA (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA1 . new(data=nil) -> OpenSSL :: Digest :: SHA1 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA224 . new(data=nil) -> OpenSSL :: Digest :: SHA224 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA256 . new(data=nil) -> OpenSSL :: Digest :: SHA256 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA384 . new(data=nil) -> OpenSSL :: Digest :: SHA384 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA512 . new(data=nil) -> OpenSSL :: Digest :: SHA512 (33643.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: PKCS7 . write _ smime(p7sig , data=nil , flags = 0) -> String (33628.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
:: Engine # load _ private _ key(id=nil , data=nil) -> OpenSSL :: PKey :: PKey (33625.0) -
秘密鍵を engine にロードします。
秘密鍵を engine にロードします。
@param id key id(文字列)
@param data 文字列 -
OpenSSL
:: Engine # load _ public _ key(id=nil , data=nil) -> OpenSSL :: PKey :: PKey (33625.0) -
公開鍵を engine にロードします。
公開鍵を engine にロードします。
@param id key id(文字列)
@param data 文字列 -
OpenSSL
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (33535.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は真を、失敗した場合は偽を返します。
certs には署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは配列から適切な証明書を自動的に選択します。
store には検証に用いる証明書ストアを渡します。
検証に必要な信頼できる CA 証明書をあらかじめ証明書ストアに含めておく
必要があります。
indata は署名の対象となった... -
OpenSSL
:: Cipher (33523.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。
以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::... -
OpenSSL
:: X509 :: Extension . new(der) -> OpenSSL :: X509 :: Extension (33427.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 (33427.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
:: PKey :: DSA # sysverify(data , sign) -> bool (33424.0) -
署名 sign と自身の公開鍵で data を検証します。
署名 sign と自身の公開鍵で data を検証します。
検証に成功した場合は真を返します。
sign に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PKey::DSAError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗した場合はこの
例外は発生しないことに... -
OpenSSL
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (33424.0) -
秘密鍵を用い、data に ECDSA で署名します。
秘密鍵を用い、data に ECDSA で署名します。
結果は文字列として返します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1 -
OpenSSL
:: ASN1 :: Sequence . new(value) -> OpenSSL :: ASN1 :: Sequence (33409.0) -
ASN.1 の Sequence 型の値を表現する OpenSSL::ASN1::Sequence オブジェクトを 生成します。
ASN.1 の Sequence 型の値を表現する OpenSSL::ASN1::Sequence オブジェクトを
生成します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::SEQUENCE となります。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSA... -
OpenSSL
:: ASN1 :: Sequence . new(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: Sequence (33409.0) -
ASN.1 の Sequence 型の値を表現する OpenSSL::ASN1::Sequence オブジェクトを 生成します。
ASN.1 の Sequence 型の値を表現する OpenSSL::ASN1::Sequence オブジェクトを
生成します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::SEQUENCE となります。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSA... -
OpenSSL
:: ASN1 :: Set . new(value) -> OpenSSL :: ASN1 :: Set (33409.0) -
ASN.1 の Set 型の値を表現する OpenSSL::ASN1::Set オブジェクトを 生成します。
ASN.1 の Set 型の値を表現する OpenSSL::ASN1::Set オブジェクトを
生成します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::SET となります。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPE... -
OpenSSL
:: ASN1 :: Set . new(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: Set (33409.0) -
ASN.1 の Set 型の値を表現する OpenSSL::ASN1::Set オブジェクトを 生成します。
ASN.1 の Set 型の値を表現する OpenSSL::ASN1::Set オブジェクトを
生成します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::SET となります。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPE... -
OpenSSL
:: PKey :: DSA # syssign(data) -> String (33406.0) -
自身で data に署名をし、 DER 形式の文字列で署名を返します。
自身で data に署名をし、 DER 形式の文字列で署名を返します。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
通常は OpenSSL::PKey::PKey#sign を使い、署名をすべきです。
@param data 署名の対象 -
OpenSSL
:: X509 :: Attribute . new(der) -> OpenSSL :: X509 :: Attribute (33397.0) -
attribute オブジェクトを生成します。
attribute オブジェクトを生成します。
引数が1個で、文字列であるならば、それを DER 形式の
データであると見なして attribute オブジェクトを生成します。
引数が1個で、それ以外の場合は to_der メソッドで DER 形式に変換してから
それを attribute オブジェクトに変換します。
引数が2個の場合は、それぞれを attribute の Object ID (識別子)と
値(内容)と見なして attribute オブジェクトを生成します。
この場合、oid は Object ID の文字列、value には
OpenSSL::ASN1::ASN1Data... -
OpenSSL
:: X509 :: Attribute . new(oid , value) -> OpenSSL :: X509 :: Attribute (33397.0) -
attribute オブジェクトを生成します。
attribute オブジェクトを生成します。
引数が1個で、文字列であるならば、それを DER 形式の
データであると見なして attribute オブジェクトを生成します。
引数が1個で、それ以外の場合は to_der メソッドで DER 形式に変換してから
それを attribute オブジェクトに変換します。
引数が2個の場合は、それぞれを attribute の Object ID (識別子)と
値(内容)と見なして attribute オブジェクトを生成します。
この場合、oid は Object ID の文字列、value には
OpenSSL::ASN1::ASN1Data... -
OpenSSL
:: PKey :: PKey # sign(digest , data) -> String (33388.0) -
秘密鍵で data に署名し、署名の文字列を返します。
秘密鍵で data に署名し、署名の文字列を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で署名をする場合はハッシュ関数には "dss1" を指定してください。
@param digest 利用するハッシュ関数の名前
@param data 署名する文字列
@raise OpenSSL::PKey::PKeyError 署名時にエラーが起きた場合に発生します -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (33388.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
data を秘密鍵で署名したその署名文字列が sign
であることを公開鍵を使って検証し、検証に成功すれば true
を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、
sign が正しい署名でなかった場合などは false を返します。
@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対... -
OpenSSL
:: Cipher # update(data) -> String (33376.0) -
渡された文字列を暗号化もしくは復号化して文字列として返します。
渡された文字列を暗号化もしくは復号化して文字列として返します。
どちらがなされるかは直前に OpenSSL::Cipher#encrypt もしくは
OpenSSL::Cipher#decrypt のいずれが呼びだされたかに
よって決まります。
ブロック暗号を利用する場合は、暗号化/復号化はブロックサイズで規定された
バイト数ごとに行われます。そのため余ったデータは暗号オブジェクト内部に
保存され、次の文字列が渡されたときに使われます。
暗号化/復号化すべきデータを渡し終えた後は、
OpenSSL::Cipher#final
を呼びだして暗号オブジェクト内部に残されたデータを暗号化... -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (33376.0) -
公開鍵を用い、署名を ECDSA で検証します。
公開鍵を用い、署名を ECDSA で検証します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1 -
OpenSSL
:: Digest # <<(data) -> self (33373.0) -
data でダイジェストオブジェクトの内部状態を更新します。
data でダイジェストオブジェクトの内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest # update(data) -> self (33373.0) -
data でダイジェストオブジェクトの内部状態を更新します。
data でダイジェストオブジェクトの内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest . digest(name , data) -> String (33370.0) -
data のダイジェストを計算します。
data のダイジェストを計算します。
name でハッシュ関数を指定します。
@param name ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: DSS . digest(data) -> String (33370.0) -
data のダイジェストを DSS で計算します。
data のダイジェストを DSS で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: DSS . hexdigest(data) -> String (33370.0) -
data のダイジェストを DSS で計算し、16進文字列で返します。
data のダイジェストを DSS で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: DSS1 . digest(data) -> String (33370.0) -
data のダイジェストを DSS1 で計算します。
data のダイジェストを DSS1 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: DSS1 . hexdigest(data) -> String (33370.0) -
data のダイジェストを DSS1 で計算し、16進文字列で返します。
data のダイジェストを DSS1 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MD2 . digest(data) -> String (33370.0) -
data のダイジェストを MD2 で計算します。
data のダイジェストを MD2 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MD2 . hexdigest(data) -> String (33370.0) -
data のダイジェストを MD2 で計算し、16進文字列で返します。
data のダイジェストを MD2 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MD4 . digest(data) -> String (33370.0) -
data のダイジェストを MD4 で計算します。
data のダイジェストを MD4 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MD4 . hexdigest(data) -> String (33370.0) -
data のダイジェストを MD4 で計算し、16進文字列で返します。
data のダイジェストを MD4 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MD5 . digest(data) -> String (33370.0) -
data のダイジェストを MD5 で計算します。
data のダイジェストを MD5 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MD5 . hexdigest(data) -> String (33370.0) -
data のダイジェストを MD5 で計算し、16進文字列で返します。
data のダイジェストを MD5 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MDC2 . digest(data) -> String (33370.0) -
data のダイジェストを MDC2 で計算します。
data のダイジェストを MDC2 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: MDC2 . hexdigest(data) -> String (33370.0) -
data のダイジェストを MDC2 で計算し、16進文字列で返します。
data のダイジェストを MDC2 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: RIPEMD160 . digest(data) -> String (33370.0) -
data のダイジェストを RIPEMD160 で計算します。
data のダイジェストを RIPEMD160 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: RIPEMD160 . hexdigest(data) -> String (33370.0) -
data のダイジェストを RIPEMD160 で計算し、16進文字列で返します。
data のダイジェストを RIPEMD160 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA . digest(data) -> String (33370.0) -
data のダイジェストを SHA で計算します。
data のダイジェストを SHA で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA . hexdigest(data) -> String (33370.0) -
data のダイジェストを SHA で計算し、16進文字列で返します。
data のダイジェストを SHA で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA1 . digest(data) -> String (33370.0) -
data のダイジェストを SHA1 で計算します。
data のダイジェストを SHA1 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA1 . hexdigest(data) -> String (33370.0) -
data のダイジェストを SHA1 で計算し、16進文字列で返します。
data のダイジェストを SHA1 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA224 . digest(data) -> String (33370.0) -
data のダイジェストを SHA224 で計算します。
data のダイジェストを SHA224 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA224 . hexdigest(data) -> String (33370.0) -
data のダイジェストを SHA224 で計算し、16進文字列で返します。
data のダイジェストを SHA224 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA256 . digest(data) -> String (33370.0) -
data のダイジェストを SHA256 で計算します。
data のダイジェストを SHA256 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA256 . hexdigest(data) -> String (33370.0) -
data のダイジェストを SHA256 で計算し、16進文字列で返します。
data のダイジェストを SHA256 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA384 . digest(data) -> String (33370.0) -
data のダイジェストを SHA384 で計算します。
data のダイジェストを SHA384 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA384 . hexdigest(data) -> String (33370.0) -
data のダイジェストを SHA384 で計算し、16進文字列で返します。
data のダイジェストを SHA384 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA512 . digest(data) -> String (33370.0) -
data のダイジェストを SHA512 で計算します。
data のダイジェストを SHA512 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA512 . hexdigest(data) -> String (33370.0) -
data のダイジェストを SHA512 で計算し、16進文字列で返します。
data のダイジェストを SHA512 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: HMAC . digest(digest , key , data) -> String (33370.0) -
渡された digest と key を用いて data の HMAC を計算し、 その値をバイナリ文字列として返します。
渡された digest と key を用いて data の HMAC を計算し、
その値をバイナリ文字列として返します。
digest には利用するハッシュ関数を表す文字列("md5", "sha256" など)
を渡します。
@param digest 利用するハッシュ関数
@param key 利用する鍵の文字列
@param data HMAC を計算する文字列 -
OpenSSL
:: HMAC . hexdigest(digest , key , data) -> String (33370.0) -
渡された digest と key を用いて data の HMAC を計算し、 その値を16進文字列で返します。
渡された digest と key を用いて data の HMAC を計算し、
その値を16進文字列で返します。
digest には利用するハッシュ関数を表す文字列("md5", "sha256" など)
を渡します。
@param digest 利用するハッシュ関数
@param key 利用する鍵の文字列
@param data HMAC を計算する文字列 -
OpenSSL
:: ASN1 . # Sequence(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: Sequence (33364.0) -
ASN.1 の Sequence 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の Sequence 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::Sequence.new と同じです。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: ASN1 . # Set(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: Set (33364.0) -
ASN.1 の Set 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の Set 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::Set.new と同じです。
@param value ASN.1値を表すRubyのオブジェクト(OpenSSL::ASN1::ASN1Dataの配列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: HMAC # <<(data) -> self (33325.0) -
入力文字列を追加し、内部状態を更新します。
入力文字列を追加し、内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: HMAC # update(data) -> self (33325.0) -
入力文字列を追加し、内部状態を更新します。
入力文字列を追加し、内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: PKey :: RSA (33271.0) -
RSA 暗号鍵のクラスです。
RSA 暗号鍵のクラスです。
通常このクラスで利用するのは、
OpenSSL::PKey::RSA.generate, OpenSSL::PKey::RSA.new,
OpenSSL::PKey::RSA#public?, OpenSSL::PKey::RSA#private?,
OpenSSL::PKey::RSA#public_key, OpenSSL::PKey::RSA#to_text,
OpenSSL::PKey::RSA#to_pem, OpenSSL::PKey::RSA#to_der
のいずれかでしょう。これ以外のメソッドを利用するときは
RSA についてよく理解し、必要な場... -
OpenSSL
:: PKey :: PKey (33163.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
:: PKey :: DSA (33127.0) -
DSA 公開鍵暗号クラス
DSA 公開鍵暗号クラス
実際には、DSA は署名のためのアルゴリズムであり、暗号化はできません。
以下は、data に署名し、署名をもとに data を検証する簡単な例です。
require "openssl"
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
sign = dsa512.sign('dss1', data)
p dsa512.verify('dss1', sign, data) -
OpenSSL
:: Digest (33109.0) -
ハッシュ関数のためのインターフェースを提供するクラスです。
ハッシュ関数のためのインターフェースを提供するクラスです。
このインターフェースには2通りの利用法が存在します。
一方は文字列から直接ハッシュを計算する (OpenSSL::Digest.digest,
Digest::Instance#hexdigest) 方法です。短い文字列の
ダイジェストを取るときにはこちらを使えばよいでしょう。
もう一つはダイジェストオブジェクトを作成して、文字列を順次
OpenSSL::Digest#update で渡すことでダイジェストを計算
します。大きなファイルのハッシュ値を計算する場合などに
利用します。
例:
require 'openssl'... -
OpenSSL
:: X509 :: Attribute # value=(val) (33109.0) -
attribute の値を設定します。
attribute の値を設定します。
引数には OpenSSL::ASN1::ASN1Data のオブジェクトを渡さなければなりません。
@param val 設定する値の OpenSSL::ASN1::ASN1Data オブジェクト
@raise OpenSSL::X509::AttributeError val が不正であった場合に発生します
@see OpenSSL::X509::Attribute#value -
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
:: ASN1 :: Constructive # tagging -> Symbol | nil (33055.0) -
タグ付けの方式を返します。
タグ付けの方式を返します。
:IMPLICIT、:EXPLICIT、nil のいずれかを返します。
タグ(OpenSSL::ASN1::ASN1Data#tag)が :UNIVERSAL ならば
この値は無視されます。
nil は :IMPLICIT と同義です。
@see OpenSSL::ASN1::Constructive#tagging= -
OpenSSL
:: ASN1 :: Primitive # tagging -> Symbol | nil (33055.0) -
タグ付けの方式を返します。
タグ付けの方式を返します。
:IMPLICIT、:EXPLICIT、nil のいずれかを返します。
タグ(OpenSSL::ASN1::ASN1Data#tag)が :UNIVERSAL ならば
この値は無視されます。
nil は :IMPLICIT と同義です。
@see OpenSSL::ASN1::Primitive#tagging= -
OpenSSL
:: PKCS7 # type -> Symbol (33019.0) -
PKCS7 オブジェクトのタイプを Symbol オブジェクトで返します。
PKCS7 オブジェクトのタイプを Symbol オブジェクトで返します。
次のうちのいずれかの値をとります。
* :signed
* :encrypted
* :enveloped
* :signedAndEnveloped
* :data -
NEWS for Ruby 2
. 0 . 0 (469.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... -
ruby 1
. 8 . 4 feature (325.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]: 追加され...