種類
- インスタンスメソッド (43)
- 定数 (20)
- クラス (7)
- モジュール (2)
クラス
-
OpenSSL
:: Netscape :: SPKI (2) -
OpenSSL
:: OCSP :: BasicResponse (1) -
OpenSSL
:: OCSP :: Request (1) -
OpenSSL
:: PKCS7 (7) -
OpenSSL
:: PKey :: DSA (1) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: PKey (1) -
OpenSSL
:: SSL :: SSLContext (7) -
OpenSSL
:: SSL :: SSLSocket (5) -
OpenSSL
:: X509 :: CRL (1) -
OpenSSL
:: X509 :: Certificate (1) -
OpenSSL
:: X509 :: Request (2) -
OpenSSL
:: X509 :: Store (9) -
OpenSSL
:: X509 :: StoreContext (8)
モジュール
-
OpenSSL
:: OCSP (1) -
OpenSSL
:: SSL (4) -
OpenSSL
:: X509 (10)
キーワード
- DH (1)
- DSA (1)
- NOCHAIN (1)
- NOINTERN (1)
- NOSIGS (1)
- NOVERIFY (2)
- OCSP (1)
- PKey (1)
-
PURPOSE
_ CRL _ SIGN (1) -
PURPOSE
_ NS _ SSL _ SERVER (1) -
PURPOSE
_ OCSP _ HELPER (1) -
PURPOSE
_ SMIME _ ENCRYPT (1) -
PURPOSE
_ SMIME _ SIGN (1) -
PURPOSE
_ SSL _ CLIENT (1) -
PURPOSE
_ SSL _ SERVER (1) - RSA (1)
- SSLContext (1)
- SSLSocket (1)
- StoreContext (1)
- TEXT (1)
-
VERIFY
_ CLIENT _ ONCE (1) -
VERIFY
_ FAIL _ IF _ NO _ PEER _ CERT (1) -
VERIFY
_ NONE (1) -
VERIFY
_ PEER (1) -
V
_ ERR _ APPLICATION _ VERIFICATION (1) -
V
_ ERR _ CERT _ CHAIN _ TOO _ LONG (1) -
V
_ ERR _ UNABLE _ TO _ VERIFY _ LEAF _ SIGNATURE (1) - X509 (1)
- accept (1)
-
accept
_ nonblock (1) - chain (2)
- connect (1)
-
connect
_ nonblock (1) -
current
_ cert (1) -
current
_ crl (1) -
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) - error (2)
- error= (1)
-
error
_ depth (1) -
error
_ string (3) - flags= (1)
- purpose= (1)
-
set
_ params (1) - sign (2)
- sysverify (1)
-
verify
_ callback (2) -
verify
_ callback= (2) -
verify
_ depth (1) -
verify
_ depth= (1) -
verify
_ mode (1) -
verify
_ mode= (1) -
verify
_ result (1)
検索結果
先頭5件
-
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) -> bool (54349.0) -
証明書を証明書ストアに存在する CA 証明書で検証します。
...書を証明書ストアに存在する CA 証明書で検証します。
chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。
検証に成功した場合は true を、失敗した場合は false を返します。
この......クについては
OpenSSL::X509::Store#verify_callback= を参照してください。
内部では OpenSSL::X509::StoreContext.new と
OpenSSL::X509::StoreContext#verify を呼びだすことによって検証しています。
@param cert 検証したい証明書の OpenSSL::X509::Certificate
@......param chain 検証したい証明書の証明書チェイン全体の配列
@raise OpenSSL::X509::StoreError 検証時にエラーが生じたときに発生します... -
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) {|ok , ctx| . . . } -> bool (54349.0) -
証明書を証明書ストアに存在する CA 証明書で検証します。
...書を証明書ストアに存在する CA 証明書で検証します。
chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。
検証に成功した場合は true を、失敗した場合は false を返します。
この......クについては
OpenSSL::X509::Store#verify_callback= を参照してください。
内部では OpenSSL::X509::StoreContext.new と
OpenSSL::X509::StoreContext#verify を呼びだすことによって検証しています。
@param cert 検証したい証明書の OpenSSL::X509::Certificate
@......param chain 検証したい証明書の証明書チェイン全体の配列
@raise OpenSSL::X509::StoreError 検証時にエラーが生じたときに発生します... -
OpenSSL
:: Netscape :: SPKI # verify(key) -> bool (54310.0) -
署名を検証します。
...証に成功した場合は true を返し、失敗した場合は false を返します。
@param key 署名に使う公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::Netscape::SPKIError 検証時にエラーが起きた場合に発生します
@see OpenSSL::Netscape::SPKI#sign... -
OpenSSL
:: OCSP :: BasicResponse # verify(certs , store , flags=0) -> bool (54310.0) -
署名を検証します。
...ます。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certific......ate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::X509::Store オブジェクト)
@param flags フラグ(整数)... -
OpenSSL
:: OCSP :: Request # verify(certs , store , flags=0) -> bool (54310.0) -
Request オブジェクトの署名を検証します。
...ます。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certific......ate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::X509::Store オブジェクト)
@param flags フラグ(整数)... -
OpenSSL
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (54310.0) -
署名を検証します。
...署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは......名の対象となった文字列を渡します。
nil を渡すと OpenSSL::PKCS7#data で得られる文字列
を用います。通常は nil を渡すべきです。
flags には以下の値の OR を渡します。
* OpenSSL::PKCS7::NOINTERN
メッセージに添付された証明書......* OpenSSL::PKCS7::TEXT
署名対象のデータに含まれる text/plain タイプの MIME ヘッダを取り除きます。
もしヘッダがない場合はエラーとなります。
* OpenSSL::PKCS7::NOVERIFY
署名者の証明書を検証しません。
* OpenSSL::PKCS... -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (54310.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
...@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対象の文字列
@raise OpenSSL::PKey::PKeyError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗... -
OpenSSL
:: X509 :: CRL # verify(key) -> bool (54310.0) -
発行者の公開鍵で CRL に記載されている署名を検証します。
...発行者の公開鍵で CRL に記載されている署名を検証します。
検証に成功した場合は true を返します。
@param key 公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::X509::CRLError 検証時にエラーが生じた場合に発生します... -
OpenSSL
:: X509 :: Certificate # verify(key) -> bool (54310.0) -
証明書の発行者の公開鍵で署名を検証します。
証明書の発行者の公開鍵で署名を検証します。
検証に成功した、すなわち self が key で署名されたことが
確認された場合に真を返します。
@param key 検証に利用する発行者の公開鍵 -
OpenSSL
:: X509 :: Request # verify(key) -> bool (54310.0) -
署名を検証します。
...には true を、失敗した場合には false を返します。
@param key 検証に利用する公開鍵(OpenSSL::PKey::PKey のサブクラスのインスタンス)
@raise OpenSSL::X509::RequestError 検証時にエラーが生じた場合に発生します
@see OpenSSL::X509::Request#sign... -
OpenSSL
:: X509 :: StoreContext # verify -> bool (54310.0) -
証明書を検証します。
...。
OpenSSL::X509::StoreContext.new で設定した証明書を検証します。
検証に成功した場合は true を、失敗した場合は false を返します。
検証の詳細な情報は
* OpenSSL::X509::StoreContext#error
* OpenSSL::X509::StoreContext#error_string
* OpenSSL::X50......9::StoreContext#chain
* OpenSSL::X509::StoreContext#current_crl... -
OpenSSL
:: SSL :: SSLContext # verify _ mode=(mode) (18418.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::SSLContext#verify_mode... -
OpenSSL
:: SSL :: VERIFY _ PEER -> Integer (18394.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
...OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: サーバーはクライアントに証明書を要求します。
送られてきた......した場合、
TLS/SSL ハンドシェイクを即座に終了させます。
クライアントは要求を無視することも可能です。
OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT と同時に指定した場合は
クライアントが要求を無視した場合にはハンドシェイクを......ーが証明書を返さずに、anonymous cipher を用いる場合、
VERIFY_PEER は無視されます。ただし、anonymous cipher はデフォルトでは
無効になっています。
anonymous cipher が有効であるかどうかは
OpenSSL::SSLContext#cipher= で設定できます。... -
OpenSSL
:: SSL :: VERIFY _ CLIENT _ ONCE -> Integer (18376.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
...OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: 最初の TLS/SSL ハンドシェイクの時だけクライアント
に証明書を... -
OpenSSL
:: SSL :: VERIFY _ FAIL _ IF _ NO _ PEER _ CERT -> Integer (18376.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
...OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: クライアントが証明書を返さない場合に
TLS/SSL ハンドシェイク... -
OpenSSL
:: SSL :: VERIFY _ NONE -> Integer (18376.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
...OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: クライアントに証明書を要求せず、クライアントは証明書を
送......トモード: サーバから受け取った証明書は検証されますが、失敗しても
ハンドシェイクは継続します。
ハンドシェイクの結果は OpenSSL::SSL::SSLSocket#verify_result で
取得できます。
このフラグは単独で用いられるべきです。... -
OpenSSL
:: SSL :: SSLContext # verify _ callback=(proc) (18364.0) -
検証をフィルタするコールバックを設定します。
...検証をフィルタするコールバックを設定します。
OpenSSL::X509::Store#verify_callback= と同じ働きをします。
コールバックには Proc や Method を渡します。
渡されたコールバックオブジェクトは証明書チェインの検証時に
チェイン......す。
そのときに渡される引数は2つで、1つめは検証が成功したかの真偽値、
2つめは検証後の状態を保存した
OpenSSL::X509::StoreContext オブジェクトです。
このコールバックには2つの役割があります。1つ目はコンテキストオブ......情報を得ることです。2つ目は検証をカスタマイズ
することです。このコールバックが true を返すと、たとえ
OpenSSL が検証失敗と判定しても、検証が成功したものと判断し証明書チェイン
の検証を続けます。逆に false を返... -
OpenSSL
:: X509 :: Store # verify _ callback=(proc) (18364.0) -
検証をフィルタするコールバックを設定します。
...以下のように
proc{|ok, ctx| ... }
2つで、1つめは検証が成功したかの真偽値、
2つめは検証後の状態を保存した
OpenSSL::X509::StoreContext オブジェクトです。
このコールバックには2つの役割があります。1つ目はコンテキストオブジ......情報を得ることです。2つ目は検証をカスタマイズ
することです。このコールバックが true を返すと、たとえ
OpenSSL が検証失敗と判定しても、検証が成功したものと判断し証明書チェイン
の検証を続けます。逆に false を返......ォルトのコールバック(単に第一引数をそのまま返すだけ)
が使われます。
初期状態は nil です。
@param proc 設定する Proc オブジェクト
@see OpenSSL::X509::Store#verify_callback,
OpenSSL::X509::Store#verify,
OpenSSL::X509::StoreContext#verify... -
OpenSSL
:: SSL :: SSLContext # verify _ callback -> Proc | nil (18346.0) -
オブジェクトに設定されている検証をフィルタするコールバックを 返します。
...オブジェクトに設定されている検証をフィルタするコールバックを
返します。
デフォルトのコールバックが設定されている場合には nil を返します。
@see OpenSSL::X509::Store#verify_callback,
OpenSSL::SSL::SSLContext#verify_callback=... -
OpenSSL
:: SSL :: SSLContext # verify _ depth -> Integer | nil (18328.0) -
証明書チェイン上の検証する最大の深さを返します。
...証明書チェイン上の検証する最大の深さを返します。
デフォルトは nil です。
@see OpenSSL::SSL::SSLContext#verify_depth=... -
OpenSSL
:: SSL :: SSLContext # verify _ depth=(depth) (18328.0) -
証明書チェイン上の検証する最大の深さを設定します。
...証明書チェイン上の検証する最大の深さを設定します。
デフォルトは nil で、この場合 OpenSSL のデフォルト値(9)が使われます。
@param depth 最大深さを表す整数
@see OpenSSL::SSL::SSLContext#verify_depth... -
OpenSSL
:: SSL :: SSLContext # verify _ mode -> Integer | nil (18328.0) -
検証モードを返します。
...検証モードを返します。
デフォルトは nil です。
@see OpenSSL::SSL::SSLContext#verify_mode=... -
OpenSSL
:: SSL :: SSLSocket # verify _ result -> Integer (18328.0) -
検証結果のエラーコードを整数値で返します。
...検証結果のエラーコードを整数値で返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。... -
OpenSSL
:: X509 :: Store # verify _ callback -> Proc | nil (18328.0) -
オブジェクトに設定されている検証をフィルタするコールバックを 返します。
...オブジェクトに設定されている検証をフィルタするコールバックを
返します。
デフォルトのコールバックが設定されている場合には nil を返します。
@see OpenSSL::X509::Store#verify_callback=... -
OpenSSL
:: PKCS7 :: NOVERIFY -> Integer (18325.0) -
署名検証時に署名者の証明書の検証を行いません。
...署名検証時に署名者の証明書の検証を行いません。
OpenSSL::PKCS7#verify で利用可能なフラグです。... -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (18310.0) -
公開鍵を用い、署名を ECDSA で検証します。
...要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1... -
OpenSSL
:: X509 :: V _ ERR _ UNABLE _ TO _ VERIFY _ LEAF _ SIGNATURE -> Integer (18310.0) -
証明書チェインにある証明書がただ一つでその証明書が 自己署名証明書でないことを意味します。
証明書チェインにある証明書がただ一つでその証明書が
自己署名証明書でないことを意味します。 -
OpenSSL
:: OCSP :: NOVERIFY -> Integer (18307.0) -
署名に使った鍵の証明書の検証を行わないことを意味します。
署名に使った鍵の証明書の検証を行わないことを意味します。 -
OpenSSL
:: PKey :: DSA # sysverify(data , sign) -> bool (18307.0) -
署名 sign と自身の公開鍵で data を検証します。
...n に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PK... -
OpenSSL
:: SSL :: SSLContext # set _ params(params) -> Hash (115.0) -
パラメータをハッシュで設定します。
...(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 (OpenSSL::SSL::SSLContext#ca_path=)
* :timeout (OpenSSL::SSL::SSLContext#timeout=)
* :verify_mode (OpenSSL:......rify_mode=)
* :verify_depth (OpenSSL::SSL::SSLContext#verify_depth=)
* :verify_callback (OpenSSL::SSL::SSLContext#verify_callback=)
* :options (OpenSSL::SSL::SSLContext#options=)
* :cert_store (OpenSSL::SSL::SSLContext#cert_store=)
* :extra_chain_cert (OpenSSL::SSL::SSLContext#extra_chain_......p_dh_callback (OpenSSL::SSL::SSLContext#tmp_dh_callback=)
* :session_id_context (OpenSSL::SSL::SSLContext#session_id_context=)
* :session_get_cb (OpenSSL::SSL::SSLContext#session_get_cb=)
* :session_new_cb (OpenSSL::SSL::SSLContext#session_new_cb=)
* :session_remove_cb (OpenSSL::SSL::SSLCont... -
OpenSSL
:: X509 :: Store # error -> Integer | nil (109.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのエラーコードを返します。
...に OpenSSL::X509::Store#verify を呼び、
検証したときのエラーコードを返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X... -
OpenSSL
:: X509 :: Store # chain -> [OpenSSL :: X509 :: Certificate] | nil (91.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのルート CA までの証明書のチェインを返します。
...最後に OpenSSL::X509::Store#verify を呼び、
検証したときのルート CA までの証明書のチェインを返します。
証明書の順序は以下の通りです。
[証明書, 下位 CA 証明書, 中間 CA 証明書, ... , ルート CA 証明書]
verify を一度も呼びだ... -
OpenSSL
:: X509 :: Store # error _ string -> String | nil (91.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのエラー文字列を返します。
...最後に OpenSSL::X509::Store#verify を呼び、
検証したときのエラー文字列を返します。
検証に成功した場合は "ok" を返します。
verify を一度も呼びだしていない場合は nil を返します。
返り値は verify を呼ぶごとに更新されます... -
OpenSSL
:: X509 :: StoreContext # error -> Integer (79.0) -
検証時のエラーコードを返します。
...検証時のエラーコードを返します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメ......ます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証の最終的な検証結果のエラーコードを返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verif......y_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。
@see OpenSSL::X509::Store#error... -
OpenSSL
:: X509 (61.0) -
OpenSSL の X509 証明書、CRL(証明書失効リスト)、 CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
...OpenSSL の X509 証明書、CRL(証明書失効リスト)、
CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
===[a:verify_error] 検証時エラー定数
以下の定数は OpenSSL::X509::Store#error,
OpenSSL::X509::StoreContext#error,
OpenSSL::SSL::SSLSo......* OpenSSL::X509::V_OK
* OpenSSL::X509::V_ERR_AKID_SKID_MISMATCH
* OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION
* OpenSSL::X509::V_ERR_CERT_CHAIN_TOO_LONG
* OpenSSL::X509::V_ERR_CERT_HAS_EXPIRED
* OpenSSL::X509::V_ERR_CERT_NOT_YET_VALID
* OpenSSL::X509::V_ERR_CERT_REJECTED
* OpenSSL::......EVOKED
* OpenSSL::X509::V_ERR_CERT_SIGNATURE_FAILURE
* OpenSSL::X509::V_ERR_CERT_UNTRUSTED
* OpenSSL::X509::V_ERR_CRL_HAS_EXPIRED
* OpenSSL::X509::V_ERR_CRL_NOT_YET_VALID
* OpenSSL::X509::V_ERR_CRL_SIGNATURE_FAILURE
* OpenSSL::X509::V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
* OpenSSL::X509::V_... -
OpenSSL
:: X509 :: StoreContext # current _ cert -> OpenSSL :: X509 :: Certificate (61.0) -
直前に検証した証明書のオブジェクトを返します。
...ジェクトを返します。
OpenSSL::X509::StoreContext#verify で検証が失敗した場合は
証明書チェイン中で検証に失敗した証明書のオブジェクトを返します。
証明書チェインの各証明書検証後
コールバック(OpenSSL::X509::Store#verify_callback......=)呼び出しに
渡される StoreContext オブジェクトにこのメソッドを呼び出すと
直前に検証した証明書を返します。
OpenSSL::X509::StoreContext#verify を呼ぶ前に
このメソッドを呼ぶと空の OpenSSL::X509::Certificate を返します。... -
OpenSSL
:: X509 :: StoreContext # error=(error) (61.0) -
エラーコードを設定します。
...エラーコードを設定します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメソッド......こで設定したものになります。OpenSSL::X509::StoreContext#error_string
もその値に応じた文字列が返るようになります。
例:
require 'openssl'
store = OpenSSL::X509::Store.new
store.set_default_paths
cert = OpenSSL::X509::Certificate.new(...)
store.verify(c......ctx.error = OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION;
false} # => false
p store.error # => OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION
p store.error_string # => "application verification failure"
@param error エラーコードの整数値
@see OpenSSL::X509::StoreContext#error... -
OpenSSL
:: X509 :: StoreContext # error _ string -> String (61.0) -
検証したときのエラー文字列を返します。
...検証したときのエラー文字列を返します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、......このメソッドを呼ぶと
直前の証明書検証結果のエラー文字列が得られます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証の最終的な検証結果のエラー文字列を返します。
検証に成功した場合... -
OpenSSL
:: OCSP (43.0) -
OCSP(Online Certificate Status Protocol)を取り扱うための モジュールです。OCSP は 2560 で定義されています。
...示する
require 'openssl'
require 'net/http'
# ...
subject # 問い合わせ対象の証明書(Certificate オブジェクト)
issuer # subject の発行者の証明書(Certificate オブジェクト)
store # 信頼している証明書ストア
cid = OpenSSL::OCSP::CertificateId.new......issuer)
req = OpenSSL::OCSP::Request.new
req.add_certid(cid)
req.add_nonce
http = Net::HTTP.new('ocsp.example.com', 80)
httpres = http.post("/", req.to_der, 'content-type' => 'application/ocsp-request')
raise "HTTP error" if !httpres.kind_of?(Net::HTTPOK)
res = OpenSSL::OCSP::Respon......se.new(httpres.body)
puts "Response status: #{res.status_string}"
exit if res.status != OpenSSL::OCSP::RESPONSE_STATUS_SUCCESSFUL
basic_resp = res.basic
raise "nonce error" unless [-1, 1].include?(req.check_nonce(basic_resp))
unless basic_resp.verify([], store)
puts "verify respons... -
OpenSSL
:: PKCS7 # error _ string -> String | nil (43.0) -
検証エラーの理由を表す文字列を返します。
...検証エラーの理由を表す文字列を返します。
OpenSSL::PKCS7#verify で検証を
した場合のみ更新されます。
OpenSSL::PKCS7#verify で検証をする前は nil を返します。
検証に成功した場合は nil を返します。
@see OpenSSL::PKCS7#error_string=... -
OpenSSL
:: PKey :: RSA (43.0) -
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
のいずれかでしょう。......ついてよく理解し、必要な場合のみにすべきです。
例:
require 'openssl'
# initialize random seed
OpenSSL::Random.seed(File.read("/dev/random", 16))
# 鍵対を生成
rsa = OpenSSL::PKey::RSA.generate(2048)
# 秘密鍵をAES256で暗号化して private_key.pem に......PEM 形式で保存
passphrase = "!secret passphrase!"
File.open("private_key.pem", "w") do |f|
f.write(rsa.export(OpenSSL::Cipher.new("aes256"), passphrase))
end
# 公開鍵をpublic_key.pemに保存
public_key = rsa.public_key
File.open("public_key.pem", "w") do |f|
f.write(pu... -
OpenSSL
:: X509 :: PURPOSE _ CRL _ SIGN -> Integer (43.0) -
証明書が CRL の署名をするのに利用可能かを チェックすることを意味します。
...証明書が CRL の署名をするのに利用可能かを
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ NS _ SSL _ SERVER -> Integer (43.0) -
証明書が Netscape SSL server の証明書として使えるか チェックすることを意味します。
...が
Netscape SSL server の証明書として使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ OCSP _ HELPER -> Integer (43.0) -
OCSP関連でOpenSSLの内部的に利用されます。
...OCSP関連でOpenSSLの内部的に利用されます。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SMIME _ ENCRYPT -> Integer (43.0) -
証明書が S/MIME の暗号化をするのに使えるか チェックすることを意味します。
...証明書が
S/MIME の暗号化をするのに使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SMIME _ SIGN -> Integer (43.0) -
証明書が S/MIME の署名をするのに使えるか チェックすることを意味します。
...証明書が
S/MIME の署名をするのに使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SSL _ CLIENT -> Integer (43.0) -
証明書が SSL のクライアントサイドの証明書として使えるか チェックすることを意味します。
...ライアントサイドの証明書として使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SSL _ SERVER -> Integer (43.0) -
証明書が SSL のサーバサイドの証明書として使えるか。 チェックすることを意味します。
...L のサーバサイドの証明書として使えるか。
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: StoreContext # error _ depth -> Integer (43.0) -
エラーが起きた場所の深さを返します。
...と定義されいてます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証でエラーが起きた場所の深さを返します。
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)... -
OpenSSL
:: Netscape :: SPKI # sign(key , digest) -> self (25.0) -
SPKI オブジェクトに署名をします。
...key 署名に使う秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest 署名に使うダイジェスト関数(文字列もしくは OpenSSL::Digest オブジェクト)
@raise OpenSSL::Netscape::SPKIError 署名に失敗した場合に発生します
@see OpenSSL::Netscape::SPKI#verify... -
OpenSSL
:: PKCS7 :: NOCHAIN -> Integer (25.0) -
署名検証時に、メッセージに含まれる証明書を中間 CA として利用しません。
...署名検証時に、メッセージに含まれる証明書を中間 CA として利用しません。
OpenSSL::PKCS7#verify で利用可能なフラグです。... -
OpenSSL
:: PKCS7 :: NOINTERN -> Integer (25.0) -
署名検証時に、署名者の証明書をメッセージに添付された証明書から探索しません。
...署名検証時に、署名者の証明書をメッセージに添付された証明書から探索しません。
OpenSSL::PKCS7#verify でのみ利用可能なフラグです。... -
OpenSSL
:: PKCS7 :: NOSIGS -> Integer (25.0) -
署名の検証を行いません。
...署名の検証を行いません。
OpenSSL::PKCS7#verify で利用可能なフラグです。... -
OpenSSL
:: PKCS7 :: TEXT -> Integer (25.0) -
text/plain タイプの MIME ヘッダーを取り扱います。
...text/plain タイプの MIME ヘッダーを取り扱います。
OpenSSL::PKCS7.sign, OpenSSL::PKCS7.write_smime,
OpenSSL::PKCS7#verify,
OpenSSL::PKCS7.encrypt, OpenSSL::PKCS7#decrypt
で利用可能なフラグです。... -
OpenSSL
:: PKey :: DH (25.0) -
Diffie-Hellman 鍵共有クラス
...有クラス
Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。
Diffie-Hellman はこのライブラリで......は基本的には鍵共有にしか利用できません。
=== 例
鍵共有の例。
require 'openssl'
# パラメータの生成
dh = OpenSSL::PKey::DH.generate(1024, 5)
# パラメータのチェック
raise "bad DH parameter" unless dh.params_ok?
# 以下、dh1 と dh2 が通......つ複製することにしている
# dh1 は dh をそのまま使う
dh1 = dh
# パラメータを複製して dh2 に渡す
dh2 = OpenSSL::PKey::DH.new(dh)
# 両端が鍵パラメータから鍵対を生成する
dh1.generate_key!
dh2.generate_key!
# 通信の両端で公... -
OpenSSL
:: PKey :: DSA (25.0) -
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
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (25.0) -
秘密鍵を用い、data に ECDSA で署名します。
...必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1... -
OpenSSL
:: PKey :: PKey (25.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.sig... -
OpenSSL
:: SSL :: SSLContext (25.0) -
SSL コンテキストクラス。
...SSL コンテキストクラス。
SSL コネクション(OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer)
オブジェクトを生成するためのファクトリクラスです。
コネクションを生成するために必要なパラメータ(プロトコルのバージョン、
証明......はなく、
この後もセッション管理機能によってオブジェクトのキャッシュ領域に
セッションを追加したり削除したりできます。
=== Constants
verify_mode= と options= で指定できる定数に関しては OpenSSL::SSL を参照してください。... -
OpenSSL
:: SSL :: SSLSocket (25.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
...。
require 'socket'
require 'openssl'
include OpenSSL
soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification error" if ssl.verify_result != OpenSSL::X509::V_OK
ssl.write('hoge')
p... -
OpenSSL
:: SSL :: SSLSocket # accept -> self (25.0) -
TLS/SSL 通信をサーバモードとして開始し、クライアントからの ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。
...行します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#connect,
OpenSSL::SSL::SSLSocket#accep... -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (25.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
...イクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::SSL::SSLError をこのモジュ......ールで extend した
例外オブジェクトが生成されます)
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状態になるのを
待つ必要がある場合に発生します。
読み込み可能状態を待つ必要がある場合には......IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#connect_nonblock,
OpenSSL::SSL::SSLSocket#accept... -
OpenSSL
:: SSL :: SSLSocket # connect -> self (25.0) -
TLS/SSl 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
...します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#accept,
OpenSSL::SSL::SSLSocket#connect_... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (25.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
...シェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::SSLError ソケットが読み込......る場合には IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#accept_nonblock,
OpenSSL::SSL::SSLSocket#connect... -
OpenSSL
:: X509 :: Request # sign(key , digest) -> self (25.0) -
証明書署名要求に秘密鍵で署名をします。
...秘密鍵で署名されます。
@param key 秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
@param digest ハッシュ関数を表す文字列("sha1" など)
@raise OpenSSL::X509::RequestError 署名に失敗した場合に発生します
@see OpenSSL::X509::Request#verify... -
OpenSSL
:: X509 :: Store # flags=(flags) (25.0) -
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 設定するフラグ(整数値)
@see OpenSSL::X509::StoreContext#flags=... -
OpenSSL
:: X509 :: Store # purpose=(purpose) (25.0) -
証明書の使用目的を設定します。
...ます。
* 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_SERVER
* OpenSSL::X509::PURPOSE_......OCSP_HELPER
この値は OpenSSL::X509::Store#verify で検証する場合に利用されます。
証明書に記載されている使用目的が適合していない場合には検証が失敗します。
OpenSSL::X509::StoreContext.new で証明書ストアコンテキストを
生成する場......合にはそのコンテキストにこの値がコピーされます。
@param purpose 証明書の使用目的を表す整数値
@see OpenSSL::X509::StoreContext#purpose=... -
OpenSSL
:: X509 :: StoreContext (25.0) -
証明書ストアコンテキストクラス。
...コンテキストクラス。
証明書ストア(OpenSSL::X509::Store)を利用して
実際の検証を行う機能を持ちます。
また、検証の途中の状態を保持するためにも使われます。
検証フィルター(OpenSSL::X509::Store#verify_proc)の
引数として渡され... -
OpenSSL
:: X509 :: StoreContext # chain -> [OpenSSL :: X509 :: Certificate] | nil (25.0) -
検証に利用した証明書チェインを証明書オブジェクト (OpenSSL::X509::Certificateのインスタンス)の配列で返します。
...検証に利用した証明書チェインを証明書オブジェクト
(OpenSSL::X509::Certificateのインスタンス)の配列で返します。
OpenSSL::X509::StoreContext#verify を呼ぶ前は nil を返します。... -
OpenSSL
:: X509 :: StoreContext # current _ crl -> OpenSSL :: X509 :: CRL | nil (25.0) -
直前に検証に利用した CRL のオブジェクトを返します。
...直前に検証に利用した CRL のオブジェクトを返します。
証明書チェインの各証明書検証後
コールバック(OpenSSL::X509::Store#verify_callback=)呼び出しに
渡される StoreContext オブジェクトにこのメソッドを呼び出すと
直前に検証に利... -
OpenSSL
:: X509 :: V _ ERR _ APPLICATION _ VERIFICATION -> Integer (25.0) -
アプリケーションが利用するエラーコードです。
...ドです。
OpenSSL のライブラリでは使われないので、
アプリケーションプログラマが自由に利用することが可能です。
OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。
@see OpenSSL::X509::Stor......e#verify_callback=,
OpenSSL::X509::StoreContext#error=... -
OpenSSL
:: X509 :: V _ ERR _ CERT _ CHAIN _ TOO _ LONG -> Integer (25.0) -
証明書チェインが長すぎることを意味します。
...証明書チェインが長すぎることを意味します。
OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。
@see OpenSSL::SSL::SSLContext#verify_depth=...