0

我与 curl 有一个工作连接,基本上需要我将 -ssl3 指定为密码套件以用作 tls1 或任何其他密码导致服务器无法进行 hello 握手。有效的 curl 命令:

curl https://10.10.10.10/soap/rpc -k -v -ssl3 --cert /etc/ssl/mwlang.crt --key /etc/ssl/mwlang.key

我确实用 curl 确定其他密码套件的存在会导致握手失败,但我不确定如何使用法拉第指定 ssl3 密码......到目前为止我的尝试:

SSL_OPTS = {:verify => false,
  :ca_path => "/usr/lib/ssl/certs",
  :client_cert  => OpenSSL::X509::Certificate.new(File.read("/etc/ssl/mwlang.crt")),
  :client_key   => OpenSSL::PKey::RSA.new(File.read("/etc/ssl/mwlang.key")),
}

Faraday.new(:url => 'https://10.10.10.10', :ssl => SSL_OPTS) do |faraday|
  faraday.adapter Faraday.default_adapter
end
4

1 回答 1

0

限制密码套件的正确方法确实取决于用于法拉第的适配器。对于默认适配器,“版本”键应设置为 :SSLv3

SSL_OPTS = {:verify => false,
  :ca_path => "/usr/lib/ssl/certs",
  :client_cert  => OpenSSL::X509::Certificate.new(File.read("/etc/ssl/mwlang.crt")),
  :client_key   => OpenSSL::PKey::RSA.new(File.read("/etc/ssl/mwlang.key")),
  :version => :SSLv3
}

Faraday.new(:url => 'https://10.10.10.10', :ssl => SSL_OPTS) do |faraday|
  faraday.adapter Faraday.default_adapter
end

正如其他人向我指出的那样,SSLv3 受到 POODLE 漏洞的影响。如果您仅使用 SSLv3 密码,请注意这一点: https ://www.us-cert.gov/ncas/alerts/TA14-290A

于 2015-05-12T15:12:12.647 回答