我们已要求付款服务提供商将SSL版本从SSLv3升级为TLS,引用poodle攻击
目前我看到 ssl_version 已在Ruby nil
库中设置为net/https
我想要了解的是当设置 ssl_version 时nil
它转化为什么? (或回退到?)
通过this阅读让我觉得决定使用ssl_version(协议)的OpenSSL
它还提到设置:auto
始终确保它采用最高可用协议
任何人都可以分享一些亮点。
答案 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