本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Ruby 中强制 Amazon SDK使用最低TLS版本
f Amazon SDK or Ruby 与 Amazon 之间的通信使用安全套接字层 (SSL) 或传输层安全 (TLS) 进行保护。的所有版本和低SSL于 1.2 的TLS版本都存在漏洞,这些漏洞可能会危及您与之通信的安全性 Amazon。因此,您应确保将 for Ruby 与支持 1.2 或更高版本的 Ruby TLS 版本一起使用。 Amazon SDK
Ruby 使用 Open SSL 库来保护HTTP连接。通过系统包管理器(、和其他)yum
apt
、官方安装程序或 Ruby 管理器
当与 Open SSL 1.0.1 或更高版本的 Ruby 支持版本一起使用时,for Ruby 首选 TLS 1.2,并使用最新版本SSL或客户端和服务器都TLS支持。 Amazon SDK这始终至少为 TLS 1.2 Amazon Web Services 服务。(SDK使用了 Ruby Net::HTTP
类和use_ssl=true
。)
正在检查打开SSL版本
要确保您安装的 Ruby 使用的是 Open SSL 1.0.1 或更高版本,请输入以下命令。
ruby -r openssl -e 'puts OpenSSL::OPENSSL_VERSION'
获取 Open SSL 版本的另一种方法是直接查询openssl
可执行文件。首先,使用以下命令查找适当的可执行文件。
ruby -r rbconfig -e 'puts RbConfig::CONFIG["configure_args"]'
输出应--with-openssl-dir=/path/to/openssl
指示 Open SSL 安装的位置。记下此路径。要检查 Open 的版本SSL,请输入以下命令。
cd /path/to/openssl bin/openssl version
后一种方法可能不适用于所有 Ruby 安装。
升级TLS支持
如果您的 Ruby 安装所SSL使用的 Open 版本低于 1.0.1,请按照 Ruby SSL 安装指南中所述,使用系统包管理器、Ruby 安装程序或 Ruby 管理器升级 Ruby 或 Open 安装--with-openssl-dir=/path/to/upgraded/openssl
在运行时通过./configure
。