Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::OCSP::BasicResponseクラス
クラスの継承リスト: OpenSSL::OCSP::BasicResponse < Object < Kernel < BasicObject
OCSP の Basic OCSP Response を表すクラスです。
レスポンスの実質的な内容(証明書が失効しているかどうか) はこのクラスのオブジェクトが保持します。
OCSP レスポンダからのレスポンス自体は OpenSSL::OCSP::Response のオブジェクトが表現していて、 このオブジェクトの OpenSSL::OCSP::Request#basic によって BasicResponse のオブジェクトを得ます。
new -> OpenSSL::OCSP::BasicResponse
[permalink][rdoc]空の BasicResponse オブジェクトを生成します。
[SEE_ALSO] OpenSSL::OCSP::Response.create
add_nonce(val=nil) -> self
[permalink][rdoc]BasicResponse に nonce を追加します。
引数を省略すると、ランダムな nonce を生成し利用します。
通常はこのメソッドを使わず OpenSSL::OCSP::BasicResponse#copy_nonce を 用います。
add_status(cid, status, reason, revtime, thisupd, nextupd, exts) -> self
[permalink][rdoc]証明書の状態の問い合わせの結果をオブジェクトに追加します。
詳しくは OpenSSL::OCSP::BasicResponse#status を見てください。
copy_nonce(request) -> Integer
[permalink][rdoc]request から nonce の値をコピーします。
sign(signer_cert, signer_key, certs = [], flags=0) -> self
[permalink][rdoc]Response に署名します。
OCSP レスポンダ(もしくは CA)はレスポンスに署名をすることで、 レスポンスの内容を保証します。
flags には以下の値の OR を渡すことができます。
certs に証明書の配列を渡すことで、この署名を検証するために 必要となる別の証明書を付加することができます。
status -> [[OpenSSL::OCSP::CertificateId, Integer, Integer, Time|nil, Time, Time|nil, [OpenSSL::X509::Extension]]]
[permalink][rdoc]証明書の状態の問い合わせの結果を返します。
この返り値には複数の問い合わせ結果が含まれています。 個々の結果は以下の内容の配列です。
[ 問い合わせの CertificateId オブジェクト, ステータスコード, 失効理由コード, 失効時刻, 最終更新時刻, 次回更新時刻, 拡張領域 ]
ステータスコードはいかのいずれかの値を取ります
失効理由コードは以下のいずれかを返します。
失効時刻は証明書が失効した時刻を表します。失効していない場合は nil を 返します。
最終更新時刻は失効情報が更新された時刻を表します。この時刻が現在時刻より 先である場合には、この Response の内容は信用できません。
次回更新時刻は、失効情報の更新予定時刻です。 この時刻が現在時刻より 後である場合には、この Response の内容は信用できません。 次回更新時刻が指定されていない場合には nil を返します。
拡張領域には、OpenSSL::X509::Extension の配列が渡されます。
結果をどのように解釈すべきか、より詳しくは [RFC2560] や X.509 を見てください。
例:
res.basic.status # => [ # [#<OpenSSL::OCSP::CertificateId:0x00000000e3c290>, # certificate ID # 0, # status code # 0, # reason code # nil, # revoked time # 2011-06-29 05:24:43 UTC, # update time # 2011-07-06 05:24:43 UTC, # next update time # []] # extensions # ]
verify(certs, store, flags=0) -> bool
[permalink][rdoc]署名を検証します。
flagsには以下の値の OR を取ったものを渡します。
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。