diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-21 16:25:22 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-21 16:25:22 +0000 |
commit | dcea9198a9d80bdf4eeacd9d9e9d883850a4a8d2 (patch) | |
tree | 7d2ba443cc330520282ffa7c8669eeeed7dafeeb /test/net | |
parent | 8cbf2dae5aadfa5d6241b0df2bf44d55db46704f (diff) |
Introduce Net::HTTP#min_version/max_version [Feature #9450]
Set SSL minimum/maximum version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/net')
-rw-r--r-- | test/net/http/test_https.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/net/http/test_https.rb b/test/net/http/test_https.rb index a863dc88fe..86d661e47b 100644 --- a/test/net/http/test_https.rb +++ b/test/net/http/test_https.rb @@ -191,4 +191,32 @@ class TestNetHTTPS < Test::Unit::TestCase assert th.join(10), bug4246 } end + + def test_min_version + http = Net::HTTP.new("127.0.0.1", config("port")) + http.use_ssl = true + http.min_version = :TLSv1 + http.verify_callback = Proc.new do |preverify_ok, store_ctx| + true + end + ex = assert_raise(OpenSSL::SSL::SSLError){ + http.request_get("/") {|res| } + } + assert_match(/hostname \"127.0.0.1\" does not match/, ex.message) + end + + def test_max_version + http = Net::HTTP.new("127.0.0.1", config("port")) + http.use_ssl = true + http.max_version = :SSLv2 + http.verify_callback = Proc.new do |preverify_ok, store_ctx| + true + end + @log_tester = lambda {|log| assert_match(/SSLv3 read client hello/, log[0] ) } + ex = assert_raise(OpenSSL::SSL::SSLError){ + http.request_get("/") {|res| } + } + assert_match(/no protocols available/, ex.message) + end + end if defined?(OpenSSL::SSL) |