Ruby — подключение с помощью SSL и аутентификация с помощью клиентского сертификата — sslv3 предупреждает о плохом сертификате

Я пытаюсь подключить веб-краулер, который получает доступ к определенному сайту через SSL и запрашивает мои данные на этом сайте. Аутентификация этого сайта осуществляется с помощью самоподписанного цифрового сертификата. В момент, когда я хочу зайти на сайт, я заливаю этот сертификат в формате .pfx в свой апи, конвертирую его в .pem, и при попытке зайти на сайт с этим сертификатом приходит ответ со статусом 403 (запрещено). Однако, когда я пытаюсь зайти на сайт через браузер с сертификатом в формате .pfx, я обычно его получаю. Я уже пробовал использовать Mechanize, и какое-то время это работало (пока несколько месяцев назад работало), но потом начало выдавать ошибку: SSL_connect returned = 1 errno = 0 state = SSLv3 read finished A: sslv3 alert bad certificate Сайт старый, не часто получает обновления. После этого я уже пытался использовать net/http lib, и ошибка сохранялась, я пытался использовать гем httprb и, наконец, пробовал с Фарадеем. Все попытки заканчивались либо указанной выше ошибкой, либо статусом ответа == 403. Что мне сделать, чтобы иметь возможность подключиться? Что-то не так с моим сценарием? Отсутствует ли какая-либо информация, которая мне нужна?

Код:

# Faraday customs method:

class FaradayHttp
  def with_openssl
    system "openssl pkcs12 -in my-certificate-path -out certificate-output-path -nodes -password pass:certificate-password"

    def cert_object
      OpenSSL::X509::Certificate.new File.read("certificate-output-path")
    end

    # create PKey
    def key_object
      OpenSSL::PKey.read File.read("certificate-output-path")
    end


    faraday = Faraday::Connection.new 'https://example-site.com',
    :ssl => {
      certificate: cert_object,
      private_key: key_object,
      version: :SSLv3,
      verify: false
    }
    faraday
  end
end

# Controller that try to connect with the ssl server:

agent = FaradayHttp.new.with_openssl
page = agent.get '/login_path'

person Matheus Porto    schedule 16.08.2017    source источник