Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
class method
OpenSSL::Timestamp::Request.new
(?::File | ::String request_der) -> ::OpenSSL::Timestamp::Request
OpenSSL::Timestamp::Request.new(file) → request
OpenSSL::Timestamp::Request.new(string) → request
OpenSSL::Timestamp::Request.new → empty request
ext/openssl/ossl_ts.c
View on GitHub ↗
static VALUE
ossl_ts_req_initialize(int argc, VALUE *argv, VALUE self)
{
TS_REQ *req;
BIO *in;
VALUE arg;
rb_scan_args(argc, argv, "01", &arg);
ossl_want_uninitialized(self, &ossl_ts_req_type);
if (argc == 0) {
req = TS_REQ_new();
if (!req)
ossl_raise(eTimestampError, "TS_REQ_new");
RTYPEDDATA_DATA(self) = req;
/* Defaults */
if (!TS_REQ_set_version(req, 1))
ossl_raise(eTimestampError, "TS_REQ_set_version");
if (!TS_REQ_set_cert_req(req, 1))
ossl_raise(eTimestampError, "TS_REQ_set_cert_req");
return self;
}
arg = ossl_to_der_if_possible(arg);
in = ossl_obj2bio(&arg);
req = d2i_TS_REQ_bio(in, NULL);
BIO_free(in);
if (!req) {
ossl_raise(eTimestampError,
"Error when decoding the timestamp request");
}
RTYPEDDATA_DATA(self) = req;
return self;
}