class OpenSSL::OCSP::Request
クラスの継承リスト: OpenSSL::OCSP::Request < Object < Kernel
要約
OCSP リクエストを表すクラスです。
問合せたい証明書を OpenSSL::OCSP::CertificateId オブジェクトの 形で複数持つことができます。
特異メソッド
new -> OpenSSL::OCSP::Request
new(der) -> OpenSSL::OCSP::Request
-
Request オブジェクトを生成します。 引数なしの場合は、中身が空のオブジェクトを生成します。 文字列を渡した場合は der 形式であると見なして読み込みます。
- [PARAM] der:
- リクエストの情報をエンコードしたder形式の文字列
- [EXCEPTION] OpenSSL::OCSP::OCSPError:
- 文字列のデコードに失敗した場合に発生します
インスタンスメソッド
add_certid(cid) -> self
-
Request オブジェクトに問い合わせ対象の証明書情報を追加します。
証明書情報は OpenSSL::OCSP::CertificateId の形で渡す必要があります。
- [PARAM] cid:
- 問い合わせ対象の証明書情報(OpenSSL::OCSP::CertificateId オブジェクト)
- [EXCEPTION] OpenSSL::OCSP::OCSPError:
- 追加に失敗した場合に発生します。
[SEE_ALSO] OpenSSL::OCSP::Request#certid
add_nonce(nonce = nil) -> self
-
Request オブジェクトに nonce を追加します。
nonce とは、リプレイ攻撃を防止するために設定する乱数です。
- [PARAM] nonce:
- 設定するnonce文字列。nilの場合は適当な乱数を自動で設定します
certid -> [OpenSSL::OCSP::CertificateId]
-
Request オブジェクトが保持している問い合わせ対象の証明書の情報を 配列で返します。
[SEE_ALSO] OpenSSL::OCSP::Request#add_certid
check_nonce(basic_resp) -> Integer
-
自身の nonce とレスポンスの nonce が整合しているか チェックします。
-1 から 3 までの整数を返します。それぞれの意味は以下の通りです。 * -1 自身にしか nonce が設定されていない * 0 nonce が自身とレスポンスの両方にあるが等しくない * 1 nonce が自身とレスポンスの両方にあり等しい * 2 nonce が自身とレスポンスのどちらにもない * 3 nonce がレスポンスにしか設定されていない
0 は明らかに不正なので、これは必ずチェックする必要があります。 1 は nonce が正しいということを意味します。 それ以外は、場合(サーバの実装など) によって不正であったりそうでなかったりしますので、適切にチェック する必要があります。
- [PARAM] basic_resp:
- 比較するレスポンス(OpenSSL::OCSP::BasicResponse オブジェクト)
sign(signer_cert, signer_key, certs=nil, flags=nil) -> self
-
Request オブジェクトに署名をします。
この署名はリクエスタが自分自身を証明するために署名します。 OSCP レスポンダはこの署名を確認します。 Request に対する署名は必須ではありません。
certs に証明書の配列を渡すことで、この署名を検証するために 必要となる別の証明書を付加することができます。
- [PARAM] signer_cert:
- 署名者の証明書(OpenSSL::X509::Certificate オブジェクト)
- [PARAM] signer_key:
- 証明に用いる秘密鍵(OpenSSL::PKey::PKey オブジェクト)
- [PARAM] certs:
- 添付する証明書(OpenSSL::X509::Certificate オブジェクトの配列)
- [PARAM] flags:
- フラグ(整数)
- [EXCEPTION] OpenSSL::OCSP::OCSPError:
- 署名に失敗した場合に発生します
to_der -> String
-
Request オブジェクトを DER 形式の文字列に変換します。
verify(certs, store, flags=0) -> bool
-
Request オブジェクトの署名を検証します。
検証に成功した場合は真を返します。
flags には以下の値の OR を取ったものを渡します。
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
- [PARAM] certs:
- 検証に用いる追加的な証明書(OpenSSL::X509::Certificate オブジェクトの配列)
- [PARAM] store:
- 検証に用いる証明書ストア(OpenSSL::X509::Store オブジェクト)
- [PARAM] flags:
- フラグ(整数)