2010-09-29 20 views
6

Tôi cần tạo một SSLSocket trong Ruby 1.8+ để nói chuyện với một dịch vụ được mã hóa. Tôi muốn đặt các tùy chọn SSL trên đối tượng SSLContext (cuối cùng nó gọi số SSL_CTX_set_options trong thư viện OpenSSL cơ bản). Tôi không thấy bất kỳ cách rõ ràng nào để làm điều này.Cách đặt các tùy chọn SSLContext trong Ruby

Điều này đang sử dụng giao diện OpenSSL::SSL::SSLContext.

Là một điểm tham chiếu, điều này tương tự như gọi số set_options() trong thư viện pyOpenSSL của Python.

Trả lời

3

Ví dụ:

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

đẹp ví dụ. Nó đánh bại những gì mà tài liệu Ruby đang cung cấp. Làm thế nào để bạn đính kèm ngữ cảnh vào một 'http' khi' http.use_ssl = true'? – jww

+0

@jww: Có vẻ như không có API cho điều đó: https://bugs.ruby-lang.org/issues/9450 * sigh * – qerub

Các vấn đề liên quan