diff options
| author | Kazuki Yamaguchi <k@rhe.jp> | 2025-07-28 00:50:38 +0900 |
|---|---|---|
| committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2025-07-28 17:02:57 +0900 |
| commit | 32977f3869ba1c44950f484ddbf3a12889c0b20b (patch) | |
| tree | 38397ff3d236a1cefe2ab6e03ca9c3b19350ef9a | |
| parent | 2256b0ffa42e4bacb9dc678ab3e048175a418b06 (diff) | |
[rubygems/rubygems] Avoid openssl bug in test_verify_certificate_extra_message
OpenSSL::X509::StoreContext#current_cert returns an empty and invalid
OpenSSL::X509::Certificate instance if it is called before starting a
certificate verification.
https://redirect.github.com/ruby/openssl/pull/919 will change it to
return nil instead in such a case.
Adjust test_verify_certificate_extra_message to actually complete
StoreContext#verify so that it will not rely on this behavior.
https://github.com/rubygems/rubygems/commit/823799088d
| -rw-r--r-- | test/rubygems/test_gem_request.rb | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/test/rubygems/test_gem_request.rb b/test/rubygems/test_gem_request.rb index eb15eed749..244f9d90fe 100644 --- a/test/rubygems/test_gem_request.rb +++ b/test/rubygems/test_gem_request.rb @@ -363,19 +363,19 @@ class TestGemRequest < Gem::TestCase def test_verify_certificate_extra_message pend if Gem.java_platform? - error_number = OpenSSL::X509::V_ERR_INVALID_CA + error_number = OpenSSL::X509::V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY store = OpenSSL::X509::Store.new - context = OpenSSL::X509::StoreContext.new store - context.error = error_number + context = OpenSSL::X509::StoreContext.new store, CHILD_CERT + context.verify use_ui @ui do Gem::Request.verify_certificate context end expected = <<-ERROR -ERROR: SSL verification error at depth 0: invalid CA certificate (#{error_number}) -ERROR: Certificate is an invalid CA certificate +ERROR: SSL verification error at depth 0: unable to get local issuer certificate (#{error_number}) +ERROR: You must add #{CHILD_CERT.issuer} to your local trusted store ERROR assert_equal expected, @ui.error |
