Я пытаюсь использовать удаленную систему для аутентификации пользователя.Этот фрагмент кода получает ответ, когда я запускаю его на MacOSX, но на моем компьютере происходит сбой:
def create
uri = URI.parse('https://ourclient.example.com/')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new('/login.jsp')
request.set_form_data({'login_name' => params[:login], 'password' => params[:password]})
response = http.request(request)
puts "Response BODY: #{response.body.inspect}"
end
Отключение проверки отключает предупреждение на компьютерах Mac.На моей машине http.request вызывает это исключение:
OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: sslv3 alert illegal parameter):
app/controllers/sessions_controller.rb:16:in `create'
Я получаю такое же поведение, используя IRB без Rails.Вчера я сделал чистую установку Fedora 14, установил необходимые инструменты разработки и библиотеки.Я использую Ruby 1.9.2-p180 и Rails 3.0.4.Я думал, что мои библиотеки неправильно настроены (у меня была Fedora 12, которая была обновлена несколько раз), но теперь это новая установка.
Удаленная система, вероятно, IIS от Microsoft, но я неуверен в этом.Возможно, я могу использовать более старый протокол SSL, но мой Google-фу не может найти заклинание.
Буду признателен за любые советы по решению этой проблемы.Спасибо,
Крис