shreddd shreddd - 1 month ago 7
Ruby Question

How to set SSLContext options in Ruby

I need to create an

SSLSocket
in Ruby 1.8+ to talk to an encrypted service. I want to set SSL options on the
SSLContext
object (it eventually calls
SSL_CTX_set_options
in the underlying OpenSSL library). I am not seeing any obvious way to do this.

This is using the
OpenSSL::SSL::SSLContext
interface.

As a point of reference, this is analogous to calling the
set_options()
in Python's pyOpenSSL library.

Answer

Example:

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
Comments