OCSP リクエストを表すクラスです。
問合せたい証明書を OpenSSL::OCSP::CertificateId オブジェクトの形で複数持つことができます。
new -> OpenSSL::OCSP::Request
[permalink][rdoc]new(der) -> OpenSSL::OCSP::Request
Request オブジェクトを生成します。引数なしの場合は、中身が空のオブジェクトを生成します。文字列を渡した場合は DER 形式であると見なして読み込みます。
add_certid(cid) -> self
[permalink][rdoc]Request オブジェクトに問い合わせ対象の証明書情報を追加します。
証明書情報は OpenSSL::OCSP::CertificateId の形で渡す必要があります。
[SEE_ALSO] OpenSSL::OCSP::Request#certid
add_nonce(nonce = nil) -> self
[permalink][rdoc]Request オブジェクトに nonce を追加します。
nonce とは、リプレイ攻撃を防止するために設定する乱数です。
certid -> [OpenSSL::OCSP::CertificateId]
[permalink][rdoc]Request オブジェクトが保持している問い合わせ対象の証明書の情報を配列で返します。
[SEE_ALSO] OpenSSL::OCSP::Request#add_certid
check_nonce(basic_resp) -> Integer
[permalink][rdoc]自身の nonce とレスポンスの nonce が整合しているかチェックします。
-1 から 3 までの整数を返します。それぞれの意味は以下の通りです。
0 は明らかに不正なので、これは必ずチェックする必要があります。 1 は nonce が正しいということを意味します。それ以外は、場合(サーバの実装など) によって不正であったりそうでなかったりしますので、適切にチェックする必要があります。
sign(signer_cert, signer_key, certs=nil, flags=nil) -> self
[permalink][rdoc]Request オブジェクトに署名をします。
この署名はリクエスタが自分自身を証明するために署名します。 OCSP レスポンダはこの署名を確認します。 Request に対する署名は必須ではありません。
certs に証明書の配列を渡すことで、この署名を検証するために必要となる別の証明書を付加することができます。
to_der -> String
[permalink][rdoc]Request オブジェクトを DER 形式の文字列に変換します。
verify(certs, store, flags=0) -> bool
[permalink][rdoc]Request オブジェクトの署名を検証します。
検証に成功した場合は真を返します。
flags には以下の値の OR を取ったものを渡します。
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。