Class: OpenSSL::OCSP::Response
- Inherits:
-
Object
- Object
- OpenSSL::OCSP::Response
- Defined in:
- ossl_ocsp.c
Class Method Summary collapse
-
.OpenSSL::OCSP::Response.create(status, basic_response = nil) ⇒ Object
Creates an OpenSSL::OCSP::Response from
status
andbasic_response
.
Instance Method Summary collapse
-
#basic ⇒ Object
Returns a BasicResponse for this response.
-
#initialize(*args) ⇒ Object
constructor
Creates a new OpenSSL::OCSP::Response.
-
#status ⇒ Integer
Returns the status of the response.
-
#status_string ⇒ String
Returns a status string for the response.
-
#to_der ⇒ String
Returns this response as a DER-encoded string.
Constructor Details
#OpenSSL::OCSP::Response.new ⇒ Object #OpenSSL::OCSP::Response.new(response_der) ⇒ Object
Creates a new OpenSSL::OCSP::Response. The response may be created empty or from a response_der
string.
458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 |
# File 'ossl_ocsp.c', line 458 static VALUE ossl_ocspres_initialize(int argc, VALUE *argv, VALUE self) { VALUE arg; const unsigned char *p; rb_scan_args(argc, argv, "01", &arg); if(!NIL_P(arg)){ OCSP_RESPONSE *res = DATA_PTR(self), *x; arg = ossl_to_der_if_possible(arg); StringValue(arg); p = (unsigned char *)RSTRING_PTR(arg); x = d2i_OCSP_RESPONSE(&res, &p, RSTRING_LEN(arg)); DATA_PTR(self) = res; if(!x){ ossl_raise(eOCSPError, "cannot load DER encoded response"); } } return self; } |
Class Method Details
.OpenSSL::OCSP::Response.create(status, basic_response = nil) ⇒ Object
Creates an OpenSSL::OCSP::Response from status
and basic_response
.
417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 |
# File 'ossl_ocsp.c', line 417 static VALUE ossl_ocspres_s_create(VALUE klass, VALUE status, VALUE basic_resp) { OCSP_BASICRESP *bs; OCSP_RESPONSE *res; VALUE obj; int st = NUM2INT(status); if(NIL_P(basic_resp)) bs = NULL; else GetOCSPBasicRes(basic_resp, bs); /* NO NEED TO DUP */ obj = NewOCSPRes(klass); if(!(res = OCSP_response_create(st, bs))) ossl_raise(eOCSPError, NULL); SetOCSPRes(obj, res); return obj; } |
Instance Method Details
#basic ⇒ Object
Returns a BasicResponse for this response
525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 |
# File 'ossl_ocsp.c', line 525 static VALUE ossl_ocspres_get_basic(VALUE self) { OCSP_RESPONSE *res; OCSP_BASICRESP *bs; VALUE ret; GetOCSPRes(self, res); ret = NewOCSPBasicRes(cOCSPBasicRes); if(!(bs = OCSP_response_get1_basic(res))) return Qnil; SetOCSPBasicRes(ret, bs); return ret; } |
#status ⇒ Integer
Returns the status of the response.
487 488 489 490 491 492 493 494 495 496 497 |
# File 'ossl_ocsp.c', line 487 static VALUE ossl_ocspres_status(VALUE self) { OCSP_RESPONSE *res; int st; GetOCSPRes(self, res); st = OCSP_response_status(res); return INT2NUM(st); } |
#status_string ⇒ String
Returns a status string for the response.
506 507 508 509 510 511 512 513 514 515 516 |
# File 'ossl_ocsp.c', line 506 static VALUE ossl_ocspres_status_string(VALUE self) { OCSP_RESPONSE *res; int st; GetOCSPRes(self, res); st = OCSP_response_status(res); return rb_str_new2(OCSP_response_status_str(st)); } |
#to_der ⇒ String
Returns this response as a DER-encoded string.
548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 |
# File 'ossl_ocsp.c', line 548 static VALUE ossl_ocspres_to_der(VALUE self) { OCSP_RESPONSE *res; VALUE str; long len; unsigned char *p; GetOCSPRes(self, res); if((len = i2d_OCSP_RESPONSE(res, NULL)) <= 0) ossl_raise(eOCSPError, NULL); str = rb_str_new(0, len); p = (unsigned char *)RSTRING_PTR(str); if(i2d_OCSP_RESPONSE(res, &p) <= 0) ossl_raise(eOCSPError, NULL); ossl_str_adjust(str, p); return str; } |