diff options
author | Ben Toews <mastahyeti@gmail.com> | 2018-07-05 12:06:42 -0600 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2019-10-01 11:25:06 +1300 |
commit | 57b457c0dca759cb68cd0045574c24e50b79665a (patch) | |
tree | 1c32b2ad1c2927c1b7b89ac074e0cabaedd8b83e /ext/openssl/ossl_ts.c | |
parent | e6f42d41a369c11eb7df4c7ce51c89da3137d479 (diff) | |
download | ruby-openssl-57b457c0dca759cb68cd0045574c24e50b79665a.tar.gz |
ts: use newer TypedData_* macros instead of Data_* ones
Diffstat (limited to 'ext/openssl/ossl_ts.c')
-rwxr-xr-x | ext/openssl/ossl_ts.c | 282 |
1 files changed, 153 insertions, 129 deletions
diff --git a/ext/openssl/ossl_ts.c b/ext/openssl/ossl_ts.c index 0a6e52af..a515d181 100755 --- a/ext/openssl/ossl_ts.c +++ b/ext/openssl/ossl_ts.c @@ -24,39 +24,35 @@ #if HAVE_OPENSSL_TS_H -#define WrapTS_REQ(klass, obj, tsreq) do { \ - if (!tsreq) { \ - ossl_raise(rb_eRuntimeError, "TimestampRequest wasn't initialized."); \ +#define NewTSRequest(klass) \ + TypedData_Wrap_Struct((klass), &ossl_ts_req_type, 0) +#define SetTSRequest(obj, req) do { \ + if (!(req)) { \ + ossl_raise(rb_eRuntimeError, "TS_REQ wasn't initialized."); \ } \ - obj = Data_Wrap_Struct(klass, 0, TS_REQ_free, tsreq); \ + RTYPEDDATA_DATA(obj) = (req); \ } while (0) -#define GetTS_REQ(obj, tsreq) do { \ - Data_Get_Struct(obj, TS_REQ, tsreq); \ - if (!tsreq) { \ - ossl_raise(rb_eRuntimeError, "TimestampRequest wasn't initialized."); \ +#define GetTSRequest(obj, req) do { \ + TypedData_Get_Struct((obj), TS_REQ, &ossl_ts_req_type, (req)); \ + if (!(req)) { \ + ossl_raise(rb_eRuntimeError, "TS_REQ wasn't initialized."); \ } \ } while (0) -#define SafeGetTS_REQ(obj, ts_req) do { \ - OSSL_Check_Kind(obj, cTimestampRequest); \ - GetTS_REQ(obj, ts_req); \ -} while (0) -#define WrapTS_RESP(klass, obj, tsresp) do { \ - if (!tsresp) { \ - ossl_raise(rb_eRuntimeError, "TimestampResponse wasn't initialized."); \ +#define NewTSResponse(klass) \ + TypedData_Wrap_Struct((klass), &ossl_ts_resp_type, 0) +#define SetTSResponse(obj, resp) do { \ + if (!(resp)) { \ + ossl_raise(rb_eRuntimeError, "TS_RESP wasn't initialized."); \ } \ - obj = Data_Wrap_Struct(klass, 0, TS_RESP_free, tsresp); \ + RTYPEDDATA_DATA(obj) = (resp); \ } while (0) -#define GetTS_RESP(obj, tsresp) do { \ - Data_Get_Struct(obj, TS_RESP, tsresp); \ - if (!tsresp) { \ - ossl_raise(rb_eRuntimeError, "TimestampResponse wasn't initialized."); \ +#define GetTSResponse(obj, resp) do { \ + TypedData_Get_Struct((obj), TS_RESP, &ossl_ts_resp_type, (resp)); \ + if (!(resp)) { \ + ossl_raise(rb_eRuntimeError, "TS_RESP wasn't initialized."); \ } \ } while (0) -#define SafeGetTS_RESP(obj, ts_resp) do { \ - OSSL_Check_Kind(obj, cTimestampResponse); \ - GetTS_RESP(obj, ts_resp); \ -} while (0) #define ossl_tsfac_get_default_policy_id(o) rb_attr_get((o),rb_intern("@default_policy_id")) #define ossl_tsfac_get_serial_number(o) rb_attr_get((o),rb_intern("@serial_number")) @@ -64,17 +60,42 @@ #define ossl_tsfac_get_additional_certs(o) rb_attr_get((o),rb_intern("@additional_certs")) VALUE mTimestamp; - VALUE eTimestampError, eCertValidationError; - VALUE cTimestampRequest; VALUE cTimestampResponse; VALUE cTimestampFactory; - static ID sBAD_ALG, sBAD_REQUEST, sBAD_DATA_FORMAT, sTIME_NOT_AVAILABLE; static ID sUNACCEPTED_POLICY, sUNACCEPTED_EXTENSION, sADD_INFO_NOT_AVAILABLE; static ID sSYSTEM_FAILURE; +static void +ossl_ts_req_free(void *ptr) +{ + TS_REQ_free(ptr); +} + +const rb_data_type_t ossl_ts_req_type = { + "OpenSSL/Timestamp/Request", + { + 0, ossl_ts_req_free, + }, + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY, +}; + +static void +ossl_ts_resp_free(void *ptr) +{ + TS_RESP_free(ptr); +} + +const rb_data_type_t ossl_ts_resp_type = { + "OpenSSL/Timestamp/Response", + { + 0, ossl_ts_resp_free, + }, + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY, +}; + static VALUE asn1_to_der(void *template, int (*i2d)(void *template, unsigned char **pp)) { @@ -129,26 +150,27 @@ GetTsReqPtr(VALUE obj) { TS_REQ *req; - SafeGetTS_REQ(obj, req); + OSSL_Check_Kind(obj, cTimestampRequest); + GetTSRequest(obj, req); return req; } static VALUE -ossl_tsreq_alloc(VALUE klass) +ossl_ts_req_alloc(VALUE klass) { TS_REQ *req; VALUE obj; + obj = NewTSRequest(klass); if (!(req = TS_REQ_new())) ossl_raise(eTimestampError, NULL); + SetTSRequest(obj, req); // Defaults TS_REQ_set_version(req, 1); TS_REQ_set_cert_req(req, 1); - WrapTS_REQ(klass, obj, req); - return obj; } @@ -162,7 +184,7 @@ ossl_tsreq_alloc(VALUE klass) * OpenSSL::Timestamp::Request.new -> empty request */ static VALUE -ossl_tsreq_initialize(int argc, VALUE *argv, VALUE self) +ossl_ts_req_initialize(int argc, VALUE *argv, VALUE self) { TS_REQ *ts_req = DATA_PTR(self); BIO *in; @@ -189,13 +211,13 @@ ossl_tsreq_initialize(int argc, VALUE *argv, VALUE self) * request.get_algorithm -> string or nil */ static VALUE -ossl_tsreq_get_algorithm(VALUE self) +ossl_ts_req_get_algorithm(VALUE self) { TS_REQ *req; TS_MSG_IMPRINT *mi; X509_ALGOR *algor; - GetTS_REQ(self, req); + GetTSRequest(self, req); mi = TS_REQ_get_msg_imprint(req); algor = TS_MSG_IMPRINT_get_algo(mi); @@ -216,14 +238,14 @@ ossl_tsreq_get_algorithm(VALUE self) * request.algorithm = "string" -> string */ static VALUE -ossl_tsreq_set_algorithm(VALUE self, VALUE algo) +ossl_ts_req_set_algorithm(VALUE self, VALUE algo) { TS_REQ *req; TS_MSG_IMPRINT *mi; ASN1_OBJECT *obj; X509_ALGOR *algor; - GetTS_REQ(self, req); + GetTSRequest(self, req); obj = obj_to_asn1obj(algo); mi = TS_REQ_get_msg_imprint(req); algor = TS_MSG_IMPRINT_get_algo(mi); @@ -240,14 +262,14 @@ ossl_tsreq_set_algorithm(VALUE self, VALUE algo) * request.message_imprint -> string or nil */ static VALUE -ossl_tsreq_get_msg_imprint(VALUE self) +ossl_ts_req_get_msg_imprint(VALUE self) { TS_REQ *req; TS_MSG_IMPRINT *mi; ASN1_OCTET_STRING *hashed_msg; VALUE ret; - GetTS_REQ(self, req); + GetTSRequest(self, req); mi = TS_REQ_get_msg_imprint(req); hashed_msg = TS_MSG_IMPRINT_get_msg(mi); @@ -263,13 +285,13 @@ ossl_tsreq_get_msg_imprint(VALUE self) * request.message_imprint = "string" -> string */ static VALUE -ossl_tsreq_set_msg_imprint(VALUE self, VALUE hash) +ossl_ts_req_set_msg_imprint(VALUE self, VALUE hash) { TS_REQ *req; TS_MSG_IMPRINT *mi; StringValue(hash); - GetTS_REQ(self, req); + GetTSRequest(self, req); mi = TS_REQ_get_msg_imprint(req); if (!TS_MSG_IMPRINT_set_msg(mi, (unsigned char *)RSTRING_PTR(hash), RSTRING_LEN(hash))) ossl_raise(eTimestampError, "TS_MSG_IMPRINT_set_msg"); @@ -284,11 +306,11 @@ ossl_tsreq_set_msg_imprint(VALUE self, VALUE hash) * request.version -> Fixnum */ static VALUE -ossl_tsreq_get_version(VALUE self) +ossl_ts_req_get_version(VALUE self) { TS_REQ *req; - GetTS_REQ(self, req); + GetTSRequest(self, req); return LONG2NUM(TS_REQ_get_version(req)); } @@ -300,14 +322,14 @@ ossl_tsreq_get_version(VALUE self) * request.algorithm = number -> Fixnum */ static VALUE -ossl_tsreq_set_version(VALUE self, VALUE version) +ossl_ts_req_set_version(VALUE self, VALUE version) { TS_REQ *req; long ver; if ((ver = NUM2LONG(version)) < 0) ossl_raise(eTimestampError, "version must be >= 0!"); - GetTS_REQ(self, req); + GetTSRequest(self, req); if (!TS_REQ_set_version(req, ver)) ossl_raise(eTimestampError, "TS_REQ_set_version"); @@ -322,11 +344,11 @@ ossl_tsreq_set_version(VALUE self, VALUE version) * request.policy_id -> string or nil */ static VALUE -ossl_tsreq_get_policy_id(VALUE self) +ossl_ts_req_get_policy_id(VALUE self) { TS_REQ *req; - GetTS_REQ(self, req); + GetTSRequest(self, req); if (!TS_REQ_get_policy_id(req)) return Qnil; return get_asn1obj(TS_REQ_get_policy_id(req)); @@ -345,12 +367,12 @@ ossl_tsreq_get_policy_id(VALUE self) * request.policy_id = "string" -> string */ static VALUE -ossl_tsreq_set_policy_id(VALUE self, VALUE oid) +ossl_ts_req_set_policy_id(VALUE self, VALUE oid) { TS_REQ *req; ASN1_OBJECT *obj; - GetTS_REQ(self, req); + GetTSRequest(self, req); obj = obj_to_asn1obj(oid); if (!TS_REQ_set_policy_id(req, obj)) ossl_raise(eTimestampError, "TS_REQ_set_policy_id"); @@ -366,12 +388,12 @@ ossl_tsreq_set_policy_id(VALUE self, VALUE oid) * request.nonce -> Fixnum or nil */ static VALUE -ossl_tsreq_get_nonce(VALUE self) +ossl_ts_req_get_nonce(VALUE self) { TS_REQ *req; const ASN1_INTEGER * nonce; - GetTS_REQ(self, req); + GetTSRequest(self, req); if (!(nonce = TS_REQ_get_nonce(req))) return Qnil; return asn1integer_to_num(nonce); @@ -387,7 +409,7 @@ ossl_tsreq_get_nonce(VALUE self) * request.nonce = number -> Fixnum */ static VALUE -ossl_tsreq_set_nonce(VALUE self, VALUE num) +ossl_ts_req_set_nonce(VALUE self, VALUE num) { TS_REQ *req; @@ -395,7 +417,7 @@ ossl_tsreq_set_nonce(VALUE self, VALUE num) if (num == Qnil) ossl_raise(eTimestampError, NULL); - GetTS_REQ(self, req); + GetTSRequest(self, req); TS_REQ_set_nonce(req, num_to_asn1integer(num, NULL)); return num; } @@ -408,11 +430,11 @@ ossl_tsreq_set_nonce(VALUE self, VALUE num) * request.cert_requested? -> true or false */ static VALUE -ossl_tsreq_get_cert_requested(VALUE self) +ossl_ts_req_get_cert_requested(VALUE self) { TS_REQ *req; - GetTS_REQ(self, req); + GetTSRequest(self, req); return TS_REQ_get_cert_req(req) ? Qtrue: Qfalse; } @@ -424,11 +446,11 @@ ossl_tsreq_get_cert_requested(VALUE self) * request.cert_requested = boolean -> true or false */ static VALUE -ossl_tsreq_set_cert_requested(VALUE self, VALUE requested) +ossl_ts_req_set_cert_requested(VALUE self, VALUE requested) { TS_REQ *req; - GetTS_REQ(self, req); + GetTSRequest(self, req); TS_REQ_set_cert_req(req, RTEST(requested)); return requested; @@ -441,14 +463,14 @@ ossl_tsreq_set_cert_requested(VALUE self, VALUE requested) * request.to_der -> DER-encoded string */ static VALUE -ossl_tsreq_to_der(VALUE self) +ossl_ts_req_to_der(VALUE self) { TS_REQ *req; TS_MSG_IMPRINT *mi; X509_ALGOR *algo; ASN1_OCTET_STRING *hashed_msg; - GetTS_REQ(self, req); + GetTSRequest(self, req); mi = TS_REQ_get_msg_imprint(req); algo = TS_MSG_IMPRINT_get_algo(mi); @@ -467,21 +489,22 @@ GetTsRespPtr(VALUE obj) { TS_RESP *resp; - SafeGetTS_RESP(obj, resp); + OSSL_Check_Kind(obj, cTimestampResponse); + GetTSResponse(obj, resp); return resp; } static VALUE -ossl_tsresp_alloc(VALUE klass) +ossl_ts_resp_alloc(VALUE klass) { TS_RESP *resp; VALUE obj; - resp = TS_RESP_new(); - if (!resp) ossl_raise(eTimestampError, NULL); - - WrapTS_RESP(klass, obj, resp); + obj = NewTSResponse(klass); + if (!(resp = TS_RESP_new())) + ossl_raise(eTimestampError, NULL); + SetTSResponse(obj, resp); return obj; } @@ -497,7 +520,7 @@ ossl_tsresp_alloc(VALUE klass) * OpenSSL::Timestamp::Response.new(string) -> response */ static VALUE -ossl_ts_initialize(VALUE self, VALUE der) +ossl_ts_resp_initialize(VALUE self, VALUE der) { TS_RESP *ts_resp = DATA_PTR(self); BIO *in; @@ -520,13 +543,13 @@ ossl_ts_initialize(VALUE self, VALUE der) * response.status -> Fixnum (never nil) */ static VALUE -ossl_ts_get_status(VALUE self) +ossl_ts_resp_get_status(VALUE self) { TS_RESP *resp; TS_STATUS_INFO *si; const ASN1_INTEGER *st; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); si = TS_RESP_get_status_info(resp); st = TS_STATUS_INFO_get0_status(si); @@ -559,7 +582,7 @@ ossl_ts_get_status(VALUE self) * response.failure_info -> nil or symbol */ static VALUE -ossl_ts_get_failure_info(VALUE self) +ossl_ts_resp_get_failure_info(VALUE self) { TS_RESP *resp; TS_STATUS_INFO *si; @@ -572,7 +595,7 @@ ossl_ts_get_failure_info(VALUE self) ASN1_BIT_STRING *fi; #endif - GetTS_RESP(self, resp); + GetTSResponse(self, resp); si = TS_RESP_get_status_info(resp); fi = TS_STATUS_INFO_get0_failure_info(si); if (!fi) @@ -605,7 +628,7 @@ ossl_ts_get_failure_info(VALUE self) * response.status_text -> Array of strings or nil */ static VALUE -ossl_ts_get_status_text(VALUE self) +ossl_ts_resp_get_status_text(VALUE self) { TS_RESP *resp; TS_STATUS_INFO *si; @@ -614,7 +637,7 @@ ossl_ts_get_status_text(VALUE self) VALUE ret; int i; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); si = TS_RESP_get_status_info(resp); text = TS_STATUS_INFO_get0_text(si); if (!text) @@ -636,13 +659,13 @@ ossl_ts_get_status_text(VALUE self) * response.pkcs7 -> nil or OpenSSL::PKCS7 */ static VALUE -ossl_ts_get_pkcs7(VALUE self) +ossl_ts_resp_get_pkcs7(VALUE self) { TS_RESP *resp; PKCS7 *p7; VALUE obj; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(p7 = TS_RESP_get_token(resp))) return Qnil; @@ -661,12 +684,12 @@ ossl_ts_get_pkcs7(VALUE self) * response.version -> Fixnum or nil */ static VALUE -ossl_ts_get_version(VALUE self) +ossl_ts_resp_get_version(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; return LONG2NUM(TS_TST_INFO_get_version(tst)); @@ -685,12 +708,12 @@ ossl_ts_get_version(VALUE self) * response.policy_id -> string or nil */ static VALUE -ossl_ts_get_policy_id(VALUE self) +ossl_ts_resp_get_policy_id(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; return get_asn1obj(TS_TST_INFO_get_policy_id(tst)); @@ -710,14 +733,14 @@ ossl_ts_get_policy_id(VALUE self) * response.algorithm -> string or nil */ static VALUE -ossl_ts_get_algorithm(VALUE self) +ossl_ts_resp_get_algorithm(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; TS_MSG_IMPRINT *mi; X509_ALGOR *algo; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; mi = TS_TST_INFO_get_msg_imprint(tst); @@ -738,7 +761,7 @@ ossl_ts_get_algorithm(VALUE self) * response.algorithm -> string or nil */ static VALUE -ossl_ts_get_msg_imprint(VALUE self) +ossl_ts_resp_get_msg_imprint(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; @@ -746,7 +769,7 @@ ossl_ts_get_msg_imprint(VALUE self) ASN1_OCTET_STRING *hashed_msg; VALUE ret; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; mi = TS_TST_INFO_get_msg_imprint(tst); @@ -765,12 +788,12 @@ ossl_ts_get_msg_imprint(VALUE self) * response.serial_number -> number or nil */ static VALUE -ossl_ts_get_serial_number(VALUE self) +ossl_ts_resp_get_serial_number(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; return asn1integer_to_num(TS_TST_INFO_get_serial(tst)); @@ -784,12 +807,12 @@ ossl_ts_get_serial_number(VALUE self) * response.gen_time -> Time */ static VALUE -ossl_ts_get_gen_time(VALUE self) +ossl_ts_resp_get_gen_time(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; return asn1time_to_time(TS_TST_INFO_get_time(tst)); @@ -813,12 +836,12 @@ ossl_ts_get_gen_time(VALUE self) * response.ordering -> true, falses or nil */ static VALUE -ossl_ts_get_ordering(VALUE self) +ossl_ts_resp_get_ordering(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; return TS_TST_INFO_get_ordering(tst) ? Qtrue : Qfalse; @@ -832,13 +855,13 @@ ossl_ts_get_ordering(VALUE self) * response.nonce -> number or nil */ static VALUE -ossl_ts_get_nonce(VALUE self) +ossl_ts_resp_get_nonce(VALUE self) { TS_RESP *resp; TS_TST_INFO *tst; const ASN1_INTEGER *nonce; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(tst = TS_RESP_get_tst_info(resp))) return Qnil; if (!(nonce = TS_TST_INFO_get_nonce(tst))) @@ -856,14 +879,14 @@ ossl_ts_get_nonce(VALUE self) * response.tsa_certificate -> OpenSSL::X509::Certificate or nil */ static VALUE -ossl_ts_get_tsa_certificate(VALUE self) +ossl_ts_resp_get_tsa_certificate(VALUE self) { TS_RESP *resp; PKCS7 *p7; PKCS7_SIGNER_INFO *ts_info; X509 *cert; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); if (!(p7 = TS_RESP_get_token(resp))) return Qnil; ts_info = sk_PKCS7_SIGNER_INFO_value(p7->d.sign->signer_info, 0); @@ -880,11 +903,11 @@ ossl_ts_get_tsa_certificate(VALUE self) * response.to_der -> string */ static VALUE -ossl_ts_to_der(VALUE self) +ossl_ts_resp_to_der(VALUE self) { TS_RESP *resp; - GetTS_RESP(self, resp); + GetTSResponse(self, resp); return asn1_to_der((void *)resp, (int (*)(void *, unsigned char **))i2d_TS_RESP); } @@ -1004,7 +1027,7 @@ int_ossl_verify_ctx_set_certs(TS_VERIFY_CTX *ctx, STACK_OF(X509) *certs) * response.verify(Request, string, intermediate1, intermediate2, ...) -> Response */ static VALUE -ossl_ts_verify(int argc, VALUE *argv, VALUE self) +ossl_ts_resp_verify(int argc, VALUE *argv, VALUE self) { VALUE ret = Qnil; VALUE untrusted = Qnil; @@ -1022,7 +1045,7 @@ ossl_ts_verify(int argc, VALUE *argv, VALUE self) rb_scan_args(argc, argv, "2*", &ts_req, &roots, &untrusted); - GetTS_RESP(self, resp); + GetTSResponse(self, resp); req = GetTsReqPtr(ts_req); if (!(ctx = TS_REQ_to_TS_VERIFY_CTX(req, NULL))) ossl_raise(eTimestampError, "Error when creating the verification context."); @@ -1035,7 +1058,7 @@ ossl_ts_verify(int argc, VALUE *argv, VALUE self) int_ossl_init_roots(roots, store); - ts_cert = ossl_ts_get_tsa_certificate(self); + ts_cert = ossl_ts_resp_get_tsa_certificate(self); if (ts_cert != Qnil || untrusted != Qnil) { if (!(certs = sk_X509_new_null())) { TS_VERIFY_CTX_free(ctx); @@ -1220,7 +1243,8 @@ ossl_tsfac_create_ts(VALUE self, VALUE key, VALUE certificate, VALUE request) goto end; } - WrapTS_RESP(cTimestampResponse, ret, response); + ret = NewTSResponse(cTimestampResponse); + SetTSResponse(ret, response); end: if (ctx) TS_RESP_CTX_free(ctx); @@ -1330,23 +1354,23 @@ Init_ossl_ts(void) * verify the Response. */ cTimestampResponse = rb_define_class_under(mTimestamp, "Response", rb_cObject); - rb_define_alloc_func(cTimestampResponse, ossl_tsresp_alloc); - rb_define_method(cTimestampResponse, "initialize", ossl_ts_initialize, 1); - rb_define_method(cTimestampResponse, "status", ossl_ts_get_status, 0); - rb_define_method(cTimestampResponse, "failure_info", ossl_ts_get_failure_info, 0); - rb_define_method(cTimestampResponse, "status_text", ossl_ts_get_status_text, 0); - rb_define_method(cTimestampResponse, "pkcs7", ossl_ts_get_pkcs7, 0); - rb_define_method(cTimestampResponse, "tsa_certificate", ossl_ts_get_tsa_certificate, 0); - rb_define_method(cTimestampResponse, "version", ossl_ts_get_version, 0); - rb_define_method(cTimestampResponse, "policy_id", ossl_ts_get_policy_id, 0); - rb_define_method(cTimestampResponse, "algorithm", ossl_ts_get_algorithm, 0); - rb_define_method(cTimestampResponse, "message_imprint", ossl_ts_get_msg_imprint, 0); - rb_define_method(cTimestampResponse, "serial_number", ossl_ts_get_serial_number, 0); - rb_define_method(cTimestampResponse, "gen_time", ossl_ts_get_gen_time, 0); - rb_define_method(cTimestampResponse, "ordering", ossl_ts_get_ordering, 0); - rb_define_method(cTimestampResponse, "nonce", ossl_ts_get_nonce, 0); - rb_define_method(cTimestampResponse, "to_der", ossl_ts_to_der, 0); - rb_define_method(cTimestampResponse, "verify", ossl_ts_verify, -1); + rb_define_alloc_func(cTimestampResponse, ossl_ts_resp_alloc); + rb_define_method(cTimestampResponse, "initialize", ossl_ts_resp_initialize, 1); + rb_define_method(cTimestampResponse, "status", ossl_ts_resp_get_status, 0); + rb_define_method(cTimestampResponse, "failure_info", ossl_ts_resp_get_failure_info, 0); + rb_define_method(cTimestampResponse, "status_text", ossl_ts_resp_get_status_text, 0); + rb_define_method(cTimestampResponse, "pkcs7", ossl_ts_resp_get_pkcs7, 0); + rb_define_method(cTimestampResponse, "tsa_certificate", ossl_ts_resp_get_tsa_certificate, 0); + rb_define_method(cTimestampResponse, "version", ossl_ts_resp_get_version, 0); + rb_define_method(cTimestampResponse, "policy_id", ossl_ts_resp_get_policy_id, 0); + rb_define_method(cTimestampResponse, "algorithm", ossl_ts_resp_get_algorithm, 0); + rb_define_method(cTimestampResponse, "message_imprint", ossl_ts_resp_get_msg_imprint, 0); + rb_define_method(cTimestampResponse, "serial_number", ossl_ts_resp_get_serial_number, 0); + rb_define_method(cTimestampResponse, "gen_time", ossl_ts_resp_get_gen_time, 0); + rb_define_method(cTimestampResponse, "ordering", ossl_ts_resp_get_ordering, 0); + rb_define_method(cTimestampResponse, "nonce", ossl_ts_resp_get_nonce, 0); + rb_define_method(cTimestampResponse, "to_der", ossl_ts_resp_to_der, 0); + rb_define_method(cTimestampResponse, "verify", ossl_ts_resp_verify, -1); /* Document-class: OpenSSL::Timestamp::Request * Allows to create timestamp requests or parse existing ones. A Request is @@ -1357,21 +1381,21 @@ Init_ossl_ts(void) * * algorithm, message_imprint, policy_id, and nonce are set to +false+ */ cTimestampRequest = rb_define_class_under(mTimestamp, "Request", rb_cObject); - rb_define_alloc_func(cTimestampRequest, ossl_tsreq_alloc); - rb_define_method(cTimestampRequest, "initialize", ossl_tsreq_initialize, -1); - rb_define_method(cTimestampRequest, "version=", ossl_tsreq_set_version, 1); - rb_define_method(cTimestampRequest, "version", ossl_tsreq_get_version, 0); - rb_define_method(cTimestampRequest, "algorithm=", ossl_tsreq_set_algorithm, 1); - rb_define_method(cTimestampRequest, "algorithm", ossl_tsreq_get_algorithm, 0); - rb_define_method(cTimestampRequest, "message_imprint=", ossl_tsreq_set_msg_imprint, 1); - rb_define_method(cTimestampRequest, "message_imprint", ossl_tsreq_get_msg_imprint, 0); - rb_define_method(cTimestampRequest, "policy_id=", ossl_tsreq_set_policy_id, 1); - rb_define_method(cTimestampRequest, "policy_id", ossl_tsreq_get_policy_id, 0); - rb_define_method(cTimestampRequest, "nonce=", ossl_tsreq_set_nonce, 1); - rb_define_method(cTimestampRequest, "nonce", ossl_tsreq_get_nonce, 0); - rb_define_method(cTimestampRequest, "cert_requested=", ossl_tsreq_set_cert_requested, 1); - rb_define_method(cTimestampRequest, "cert_requested?", ossl_tsreq_get_cert_requested, 0); - rb_define_method(cTimestampRequest, "to_der", ossl_tsreq_to_der, 0); + rb_define_alloc_func(cTimestampRequest, ossl_ts_req_alloc); + rb_define_method(cTimestampRequest, "initialize", ossl_ts_req_initialize, -1); + rb_define_method(cTimestampRequest, "version=", ossl_ts_req_set_version, 1); + rb_define_method(cTimestampRequest, "version", ossl_ts_req_get_version, 0); + rb_define_method(cTimestampRequest, "algorithm=", ossl_ts_req_set_algorithm, 1); + rb_define_method(cTimestampRequest, "algorithm", ossl_ts_req_get_algorithm, 0); + rb_define_method(cTimestampRequest, "message_imprint=", ossl_ts_req_set_msg_imprint, 1); + rb_define_method(cTimestampRequest, "message_imprint", ossl_ts_req_get_msg_imprint, 0); + rb_define_method(cTimestampRequest, "policy_id=", ossl_ts_req_set_policy_id, 1); + rb_define_method(cTimestampRequest, "policy_id", ossl_ts_req_get_policy_id, 0); + rb_define_method(cTimestampRequest, "nonce=", ossl_ts_req_set_nonce, 1); + rb_define_method(cTimestampRequest, "nonce", ossl_ts_req_get_nonce, 0); + rb_define_method(cTimestampRequest, "cert_requested=", ossl_ts_req_set_cert_requested, 1); + rb_define_method(cTimestampRequest, "cert_requested?", ossl_ts_req_get_cert_requested, 0); + rb_define_method(cTimestampRequest, "to_der", ossl_ts_req_to_der, 0); /* * Indicates a successful response. Equal to +0+. |