Я пытаюсь использовать поддержку SOAP в Ruby следующим образом:Как сообщить библиотеке OpenSSL Ruby игнорировать самозаверяющую ошибку сертификата?
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?
Вы говорите, что я переопределяю 'VERIFY_PEER' значение' VERIFY_NONE'? Это опасно, так как я не могу быть уверенным, проверяет ли код проверки метода проверки значение VERIFY_NONE или VERIFY_PEER. Переосмысление констант является абсолютным последним средством. –
спасибо Гай. это довольно подлый, ты прав. – avguchenko
Я должен сказать, что это * будет * работать. Это может быть последнее средство, потому что это подлый, но если все остальное не удается ... –