如何在Ruby中设置SSLContext选项
问题描述:
我需要在Ruby 1.8+中创建SSLSocket
才能与加密服务通信。我想在SSLContext
对象上设置SSL选项(它最终在基础OpenSSL库中调用SSL_CTX_set_options
)。我没有看到任何明显的方式来做到这一点。如何在Ruby中设置SSLContext选项
这是使用OpenSSL::SSL::SSLContext
接口。
作为参考点,这类似于在Python的pyOpenSSL库中调用set_options()
。
答
实施例:
ctx = OpenSSL::SSL::SSLContext.new
ctx.set_params(:options => OpenSSL::SSL::OP_EPHEMERAL_RSA | OpenSSL::SSL::OP_NO_SSLv2)
# or
ctx.options = OpenSSL::SSL::OP_EPHEMERAL_RSA | OpenSSL::SSL::OP_NO_SSLv2
尼斯例子。它击败了Ruby文档提供的内容。当'http.use_ssl = true'时,如何将上下文附加到'http'? – jww 2014-06-16 08:43:33
@jww:似乎还没有API:https://bugs.ruby-lang.org/issues/9450 *叹* – qerub 2014-06-16 12:15:42