在ruby OpenSSL中,ssl_version设置为nil回退是什么

时间:2014-10-29 07:21:36

标签: ruby ssl openssl

我们已要求付款服务提供商将SSL版本从SSLv3升级为TLS,引用poodle攻击

目前我看到 ssl_version 已在Ruby nil库中设置为net/https我想要了解的是当设置 ssl_version nil 它转化为什么? (或回退到?)

通过this阅读让我觉得决定使用ssl_version(协议)的OpenSSL

它还提到设置:auto始终确保它采用最高可用协议

任何人都可以分享一些亮点。

1 个答案:

答案 0 :(得分:2)

Ruby 2.1.3使用SSLv23作为默认值。您可以在irb控制台中查看它:

> require 'openssl'
# => true
> OpenSSL::SSL::SSLContext::DEFAULT_PARAMS
# => {
# =>     :ssl_version => "SSLv23",
# =>     :verify_mode => 1,
# =>     :ciphers     => "ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW",
# =>     :options     => -2147482625
# => }

顺便说一下,还有另一个常量告诉你所有可用的SSL / TLS方法:

> OpenSSL::SSL::SSLContext::METHODS
# => [
# =>     [ 0] :TLSv1,
# =>     [ 1] :TLSv1_server,
# =>     [ 2] :TLSv1_client,
# =>     [ 3] :TLSv1_2,
# =>     [ 4] :TLSv1_2_server,
# =>     [ 5] :TLSv1_2_client,
# =>     [ 6] :TLSv1_1,
# =>     [ 7] :TLSv1_1_server,
# =>     [ 8] :TLSv1_1_client,
# =>     [ 9] :SSLv3,
# =>     [10] :SSLv3_server,
# =>     [11] :SSLv3_client,
# =>     [12] :SSLv23,
# =>     [13] :SSLv23_server,
# =>     [14] :SSLv23_client
# => ]

请参阅:http://ruby-doc.org/stdlib-2.1.3/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html#constants-list