是一个OpenSSL :: SSL :: SSLSocket TLS?

是的,它提供了SSL/TLS客户端或服务器套接字。通过OpenSSL上下文对象上的密码列表,您可以传递给初始化程序,您可以控制该套接字正确地使用哪个协议。

ruby​​的OpenSSL类是基础OpenSSL API的一个相当薄的包装。所以你也可以阅读its cipher documentation

+0

谢谢,我想我会通读所有可以获得的文档。你能回答我关于OpenSSL的第二个问题吗? – lcarpenter 2012-04-21 21:03:59

是的,Ruby的SSL实现通过利用系统上安装的OpenSSL库支持TSL v1.0和更高版本。默认情况下,行为将是宽松的,Ruby将选择对等支持的“最佳”协议,但如果您想要更细致的控制并强制实际协议,可以通过使用OpenSSL::SSL::SSLContext#ssl_version=设置适当的值来实现此目的。

也就是说,如果您的系统上安装了最新的OpenSSL版本之一,则仅支持最新版本的TLS 1.1和1.2。强烈建议不断升级,只有最新版本才能获得所有与安全相关的错误修复!