Как сказать библиотеке OpenSSL Ruby игнорировать ошибку самозаверяющего сертификата? - PullRequest
3 голосов
/ 12 октября 2009

Я пытаюсь использовать поддержку Ruby SOAP следующим образом:

SERVICE_URL = 'https://...'
...
def create_driver
  ::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver
  driver.options['protocol.http.ssl_config.verify_mode']  = OpenSSL::SSL::VERIFY_NONE
  driver.options['protocol.http.ssl_config.client_cert']  = @certificate_path
  driver
end

но вызов new(SERVICE_URL) взрывается с "OpenSSL::SSL::SSLError: certificate verify failed." Как сделать эквивалент driver.options['protocol.http.ssl_config.verify_mode'] = OpenSSL::SSL::VERIFY_NONE для первого вызова для получения самого WSDL?

Ответы [ 3 ]

5 голосов
/ 16 октября 2009

Я поместил файл с именем "soap/property" в путь загрузки, например ::1002

- lib/
    - foo.rb
    - foo/
        - bar.rb
    - soap/
        - property

И поместите это в файл:

client.protocol.http.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE

В качестве альтернативы, если у вас несколько настроек с одинаковым префиксом, вы можете использовать групповой синтаксис:

[client.protocol.http]
ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
...
0 голосов
/ 08 августа 2013

Я наткнулся на этот URL: https://gist.github.com/fnichol/867550. Это может быть полезно для всех, у кого есть подобные проблемы.

0 голосов
/ 15 октября 2009

попробуйте это:

...
  <b>OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE</b>
  ::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver
...
...