Ruby on rails 将RestClient SSL版本设置为SSLv3

Ruby on rails 将RestClient SSL版本设置为SSLv3,ruby-on-rails,ruby,openssl,rest-client,Ruby On Rails,Ruby,Openssl,Rest Client,有没有办法在单个RestClient连接上强制使用SSL版本 我需要将其设置为“SSLv3” 我可以通过以下方式对所有连接执行此操作: OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ssl_version] = 'SSLv3' 但这当然太全球化了 当尝试在初始化中传递参数时,它不起作用: RestClient::Resource.new('https://example.com',:ssl_version => "SSLv3") 您可以使用如下调用

有没有办法在单个RestClient连接上强制使用SSL版本

我需要将其设置为“SSLv3”

我可以通过以下方式对所有连接执行此操作:

OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ssl_version] = 'SSLv3'
但这当然太全球化了

当尝试在初始化中传递参数时,它不起作用:

RestClient::Resource.new('https://example.com',:ssl_version => "SSLv3")

您可以使用如下调用:

RestClient::Request.execute(:url => 'https://example.com', :ssl_version => 'SSLv3', :method => 'get')
但请注意,旧版本的rest客户机将自动放弃:ssl\u version选项。您可以使用伪造的SSL版本来测试是否发生这种情况:

>> RestClient::Request.execute(:url => 'https://example.com', :ssl_version => 'blah', :method => 'get')
ArgumentError: unknown SSL method `blah'.
from /usr/lib/ruby/1.9.1/openssl/ssl-internal.rb:38:in `ssl_version='

从技术上讲,您不能使用上面的OpenSSL方法为所有连接设置加密。SSLv3是在RestClient中硬编码的。(至少对于宝石版)