为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Ruby中设置TLS上下文选项(如OpenSSL :: SSL :: SSL_OP_NO_

如何在Ruby中设置TLS上下文选项(如OpenSSL :: SSL :: SSL_OP_NO_

慕田峪4524236 2019-11-04 10:02:14
在C语言中使用OpenSSL时,我们在上下文中设置选项以删除弱而受伤害的协议,例如SSLv2和SSLv3。从ssl.h,这里是一些有用选项的位掩码:#define SSL_OP_NO_SSLv2     0x01000000L#define SSL_OP_NO_SSLv3     0x02000000L#define SSL_OP_NO_TLSv1     0x04000000L#define SSL_OP_NO_TLSv1_2   0x08000000L#define SSL_OP_NO_TLSv1_1   0x10000000L但是,我在用Ruby设置它们时遇到了麻烦:if uri.scheme == "https"  http.use_ssl = true  http.verify_mode = OpenSSL::SSL::VERIFY_PEER  http.options = OpenSSL::SSL::SSL_OP_NO_SSLv2 | OpenSSL::SSL::OP_NO_SSLv3 |                 OpenSSL::SSL::SSL_OP_NO_COMPRESSIONend结果是:$ ./TestCert.rb./TestCert.rb:12:in `<main>': uninitialized constant OpenSSL::SSL::SSL_OP_SSL2 (NameError)适用于1.9.3(和2.0.0)的Ruby文档甚至不用理会它。如何在Ruby中设置TLS上下文选项?相关:在ruby中设置SSLContext选项。但是无法将上下文附加到httpwhen http.use_ssl = true。
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

OS X 10.8上有关Ruby 1.8.7的一个相关问题。看起来像SSLv2SSLv3还可以;但是:uninitialized constant OpenSSL::SSL::OP_NO_COMPRESSIONuninitialized constant OpenSSL::SSL::OP_NO_COMP。我有错吗?还是更多的苹果不安全感?

查看完整回答
反对 回复 2019-11-04
  • 2 回答
  • 0 关注
  • 1216 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信