diff --git a/test/openssl/test_ocsp.rb b/test/openssl/test_ocsp.rb index b42b57d498..d5b3c99677 100644 --- a/test/openssl/test_ocsp.rb +++ b/test/openssl/test_ocsp.rb @@ -3,23 +3,7 @@ require_relative "utils" if defined?(OpenSSL) class OpenSSL::TestOCSP < Test::Unit::TestCase - def setup - ca_subj = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=TestCA") - ca_key = OpenSSL::TestUtils::TEST_KEY_RSA1024 - ca_serial = 0xabcabcabcabc - - subj = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=TestCert") - @key = OpenSSL::TestUtils::TEST_KEY_RSA1024 - serial = 0xabcabcabcabd - - now = Time.at(Time.now.to_i) # suppress usec - dgst = OpenSSL::Digest::SHA1.new - - @ca_cert = OpenSSL::TestUtils.issue_cert( - ca_subj, ca_key, ca_serial, now, now+3600, [], nil, nil, dgst) - @cert = OpenSSL::TestUtils.issue_cert( - subj, @key, serial, now, now+3600, [], @ca_cert, nil, dgst) - end + include OpenSSL::OCSPTestSetup def test_new_certificate_id cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert) @@ -34,6 +18,9 @@ class OpenSSL::TestOCSP < Test::Unit::TestCase end if defined?(OpenSSL::Digest::SHA256) def test_new_ocsp_request + assert_separately(%w[-ropenssl/utils -], <<-END) + extend OpenSSL::OCSPTestSetup + setup request = OpenSSL::OCSP::Request.new cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert, OpenSSL::Digest::SHA1.new) request.add_certid(cid) @@ -41,6 +28,7 @@ class OpenSSL::TestOCSP < Test::Unit::TestCase assert_kind_of OpenSSL::OCSP::Request, request # in current implementation not same instance of certificate id, but should contain same data assert_equal cid.serial, request.certid.first.serial + END end end diff --git a/test/openssl/utils.rb b/test/openssl/utils.rb index 84cd48dbc1..f0d15f2f27 100644 --- a/test/openssl/utils.rb +++ b/test/openssl/utils.rb @@ -327,4 +327,24 @@ AQjjxMXhwULlmuR/K+WwlaZPiLIBYalLAZQ7ZbOPeVkJ8ePao0eLAgEC end end + module OpenSSL::OCSPTestSetup + def setup + ca_subj = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=TestCA") + ca_key = OpenSSL::TestUtils::TEST_KEY_RSA1024 + ca_serial = 0xabcabcabcabc + + subj = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=TestCert") + @key = OpenSSL::TestUtils::TEST_KEY_RSA1024 + serial = 0xabcabcabcabd + + now = Time.at(Time.now.to_i) # suppress usec + dgst = OpenSSL::Digest::SHA1.new + + @ca_cert = OpenSSL::TestUtils.issue_cert( + ca_subj, ca_key, ca_serial, now, now+3600, [], nil, nil, dgst) + @cert = OpenSSL::TestUtils.issue_cert( + subj, @key, serial, now, now+3600, [], @ca_cert, nil, dgst) + end + end + end if defined?(OpenSSL)