我有一个只接受SSLv3和SSLv3的旧服务器。我想在发出请求时设置ssl版本。
http = Net::HTTP.new(@request.uri.host, @request.uri.port)
http.use_ssl = @request.uri.scheme == 'https'
http.ssl_version = :SSLv3
http.verify_mode = OpenSSL::SSL::VERIFY_NONE通向
[2020-09-10T05:37:14.452819 #254200] FATAL -- :
OpenSSL::SSL::SSLError (SSL_CTX_set_min_proto_version):我尝试了其他组合,但失败了。http.ssl_version = :SSLv3 http.ssl_version = "SSLv3"
如何设置具体的ssl版本?我使用的是Ruby 2.7.1和Rails 6,谢谢。
发布于 2020-09-10 20:00:12
在大多数当前版本的OpenSSL中,对SSLv3的支持在编译时是静态禁用的,因为人们普遍认为该协议是不安全的。因此,通常没有办法在这些OpenSSL版本上仍然使用SSLv3。
如果Ruby是一个硬性需求,那么您可能必须首先使用合适的配置选项编译您自己的OpenSSL版本,然后根据您的自定义OpenSSL编译您的SSLv3。
最好是更新服务器以支持更新、更安全的协议(例如TLSv1.2或TLSv1.3),或者要求服务器的操作员这样做。
https://stackoverflow.com/questions/63823535
复制相似问题