在C語(yǔ)言中使用OpenSSL時(shí),我們?cè)谏舷挛闹性O(shè)置選項(xiàng)以刪除弱而受傷害的協(xié)議,例如SSLv2和SSLv3。從ssl.h,這里是一些有用選項(xiàng)的位掩碼:#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設(shè)置它們時(shí)遇到了麻煩: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結(jié)果是:$ ./TestCert.rb./TestCert.rb:12:in `<main>': uninitialized constant OpenSSL::SSL::SSL_OP_SSL2 (NameError)適用于1.9.3(和2.0.0)的Ruby文檔甚至不用理會(huì)它。如何在Ruby中設(shè)置TLS上下文選項(xiàng)?相關(guān):在ruby中設(shè)置SSLContext選項(xiàng)。但是無(wú)法將上下文附加到httpwhen http.use_ssl = true。
如何在Ruby中設(shè)置TLS上下文選項(xiàng)(如OpenSSL :: SSL :: SSL_OP_NO_
慕田峪4524236
2019-11-04 10:02:14