2010-09-29 89 views
6

我需要在Ruby 1.8+中創建SSLSocket才能與加密服務通信。我想在SSLContext對象上設置SSL選項(它最終在基礎OpenSSL庫中調用SSL_CTX_set_options)。我沒有看到任何明顯的方式來做到這一點。如何在Ruby中設置SSLContext選項

這是使用OpenSSL::SSL::SSLContext接口。

作爲參考點,這類似於在Python的pyOpenSSL庫中調用set_options()

回答

3

實施例:

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 
+0

尼斯例子。它擊敗了Ruby文檔提供的內容。當'http.use_ssl = true'時,如何將上下文附加到'http'? – jww 2014-06-16 08:43:33

+0

@jww:似乎還沒有API:https://bugs.ruby-lang.org/issues/9450 *嘆* – qerub 2014-06-16 12:15:42