Skip to content

Commit b8109f0

Browse files
committed
[test] against regressions with cipher matcher
follow up on #222
1 parent d0fac50 commit b8109f0

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

src/test/ruby/ssl/test_ssl.rb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,4 +285,36 @@ def test_tlsext_hostname
285285
end
286286
end
287287

288+
CUSTOM_CIPHERS = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:" +
289+
"ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:" +
290+
"ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:" +
291+
"ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:" +
292+
"DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:" +
293+
"DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:" +
294+
"AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:" +
295+
"!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"
296+
297+
def test_set_custom_params
298+
ops = OpenSSL::SSL::OP_ALL
299+
ops &= ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS if defined?(OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS)
300+
ops |= OpenSSL::SSL::OP_NO_COMPRESSION if defined?(OpenSSL::SSL::OP_NO_COMPRESSION)
301+
ops |= OpenSSL::SSL::OP_NO_SSLv2
302+
ops |= OpenSSL::SSL::OP_NO_SSLv3
303+
304+
params = { :ssl_version => "TLSv1_2", :ciphers => CUSTOM_CIPHERS, :options => ops }
305+
params.merge!( :verify_mode => OpenSSL::SSL::VERIFY_NONE )
306+
307+
ctx_proc = Proc.new { |ctx, ssl| ctx.set_params(params) }
308+
309+
start_server(OpenSSL::SSL::VERIFY_NONE, true, :ctx_proc => ctx_proc) do |server, port|
310+
context = OpenSSL::SSL::SSLContext.new.tap { |ctx| ctx.set_params(params) }
311+
socket = TCPSocket.new("127.0.0.1", port)
312+
client = OpenSSL::SSL::SSLSocket.new socket, context
313+
314+
client.connect
315+
316+
client.close rescue nil
317+
end
318+
end
319+
288320
end

0 commit comments

Comments
 (0)