aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2020-02-17 08:28:33 +0000
committerYusuke Endoh <mame@ruby-lang.org>2020-02-17 20:50:47 +0900
commit99b191d83f96dd7f56b673bb1b7dbf96b68dc3e6 (patch)
tree1ad6ed83ed477444a78b78a696c6371f546e8cb0
parent3fbcdac3e40f68667a9a1b5a2efed215762260c0 (diff)
downloadruby-99b191d83f96dd7f56b673bb1b7dbf96b68dc3e6.tar.gz
[ruby/openssl] ts: simplify OpenSSL::Timestamp::Request#algorithm
Stop the special treatment of invalid hashAlgorithm of the message imprint. Those invalid values can only appear after the object is instantiated, before the user sets an actual message digest algorithm. OpenSSL::Timestamp::TokenInfo#algorithm already does the same. Also, remove the test case "test_create_request" since it does not make much sense. Those fields are to be set by the user after creation of the object and checking the initial value is pointless. Fixes: https://github.com/ruby/openssl/issues/335 https://github.com/ruby/openssl/commit/890a6476fa
-rw-r--r--ext/openssl/ossl_ts.c7
-rw-r--r--test/openssl/test_ts.rb10
2 files changed, 1 insertions, 16 deletions
diff --git a/ext/openssl/ossl_ts.c b/ext/openssl/ossl_ts.c
index 24f5289cdb..ba0df750cf 100644
--- a/ext/openssl/ossl_ts.c
+++ b/ext/openssl/ossl_ts.c
@@ -217,7 +217,7 @@ ossl_ts_req_initialize(int argc, VALUE *argv, VALUE self)
* algorithm that was used to create the message imprint digest.
*
* call-seq:
- * request.get_algorithm -> string or nil
+ * request.algorithm -> string
*/
static VALUE
ossl_ts_req_get_algorithm(VALUE self)
@@ -225,15 +225,10 @@ ossl_ts_req_get_algorithm(VALUE self)
TS_REQ *req;
TS_MSG_IMPRINT *mi;
X509_ALGOR *algor;
- int algi;
GetTSRequest(self, req);
mi = TS_REQ_get_msg_imprint(req);
algor = TS_MSG_IMPRINT_get_algo(mi);
- algi = OBJ_obj2nid(algor->algorithm);
- if (algi == NID_undef || algi == NID_ccitt)
- return Qnil;
-
return get_asn1obj(algor->algorithm);
}
diff --git a/test/openssl/test_ts.rb b/test/openssl/test_ts.rb
index c57f08cf7a..1fa4a7cf79 100644
--- a/test/openssl/test_ts.rb
+++ b/test/openssl/test_ts.rb
@@ -67,16 +67,6 @@ _end_of_pem_
@ts_cert_ee ||= OpenSSL::Certs.ts_cert_ee(ee_key, intermediate_cert, intermediate_key)
end
- def test_create_request
- req = OpenSSL::Timestamp::Request.new
- assert_equal(true, req.cert_requested?)
- assert_equal(1, req.version)
- assert_nil(req.algorithm)
- assert_equal("", req.message_imprint)
- assert_nil(req.policy_id)
- assert_nil(req.nonce)
- end
-
def test_request_mandatory_fields
req = OpenSSL::Timestamp::Request.new
assert_raise(OpenSSL::Timestamp::TimestampError) do