J'essaie d'utiliser le support de SOAP Ruby comme suit:Comment puis-je dire à la bibliothèque OpenSSL de Ruby d'ignorer une erreur de certificat auto-signée?
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
mais l'appel à new(SERVICE_URL)
souffle avec "OpenSSL::SSL::SSLError: certificate verify failed
." Comment puis-je faire l'équivalent de driver.options['protocol.http.ssl_config.verify_mode'] = OpenSSL::SSL::VERIFY_NONE
pour le premier appel pour récupérer le WSDL lui-même?
Vous dites que je redéfinis 'VERIFY_PEER' pour être la valeur de' VERIFY_NONE'? C'est risqué car je ne peux pas être certain que le code de vérification de la méthode de vérification vérifie la valeur de VERIFY_NONE ou de VERIFY_PEER. Redéfinir les constantes est un dernier recours absolu. –
merci Gaius. c'est assez sournois, tu as raison. – avguchenko
Je dois dire, cependant, que ça * va * marcher. C'est peut-être un dernier recours parce que c'est sournois, mais si tout le reste échoue ... –