2

単一の RestClient 接続で SSL バージョンを強制する方法はありますか?

「SSLv3」に設定する必要があります。

以下を使用して、すべての接続に対してそれを行うことができます。

OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ssl_version] = 'SSLv3'

しかし、もちろんそれはあまりにもグローバルです。

初期化でパラメータを渡そうとすると、うまくいきません:

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

1 に答える 1

3

次のような呼び出しを使用できます。

RestClient::Request.execute(:url => 'https://example.com', :ssl_version => 'SSLv3', :method => 'get')

ただし、rest-client の古いバージョンは :ssl_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='
于 2013-08-07T03:05:28.040 に答える