Me está costando mucho conseguir SSL para verificar un certificado. Soy completamente ignorante sobre cómo funcionan los certificados, por lo que es una gran desventaja para empezar. Aquí está el error que consigo cuando se ejecuta la secuencia de comandos:connect: SSL_connect returned = 1 errno = 0 state = SSLv3 read server certificate B: certificate verify failed (OpenSSL :: SSL :: SSLError)
c:/Ruby191/lib/ruby/1.9.1/net/http.rb:611:in `connect': SSL_connect returned=1 e
rrno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL
::SSL::SSLError)
Aquí está el código correspondiente:
client = Savon::Client.new order_svc
request = client.create_empty_cart { |soap, http|
http.auth.ssl.cert_file = 'mycert.crt'
http.auth.ssl.verify_mode = :none
http.read_timeout = 90
http.open_timeout = 90
http.headers = { "Content-Length" => "0", "Connection" => "Keep-Alive" }
soap.namespaces["xmlns:open"] = "http://schemas.datacontract.org/2004/07/Namespace"
soap.body = {
"wsdl:brand" => brand,
"wsdl:parnter" => [
{"open:catalogName" => catalogName, "open:partnerId" => partnerId }
] }.to_soap_xml
}
Cualquier ayuda se agradece.
He actualizado a la última Savon 0.8.0.beta4 beta y HTTPClient a 2.1.5 . El mensaje de error cambió un poco, pero sigue recibiendo el mismo error. D, [2010-12-01T09: 53: 58.500216 # 3116] DEPURACIÓN -: Recuperar WSDL de: https: //testsite/MyService.svc? Wsdl en la profundidad 0 - 20: no se puede obtener el certificado de emisor local c: /Ruby191/lib/ruby/gems/1.9.1/gems/httpclient-2.1.5.2/lib/httpclient/session.rb : 247: en 'connect ': SSL_connect returned = 1 errno = 0 state = SSLv3 read certif de servidor ica B: verificación de certificado fallida (OpenSSL :: SSL :: SSLError) – r3nrut
Mire mi respuesta aquí: http://stackoverflow.com/a/16983443/11792 –
*** Mala idea ***: * 'http.auth.ssl.verify_mode =: none' *. Si no era necesario proteger los activos, el servidor no usaría HTTPS ni SSL/TLS. – jww