valido raíz que navegador los gratuito gratis error certificados certificado causarán autofirmados autofirmado advertencias ruby ssl https ssl-certificate verification

ruby - raíz - los certificados autofirmados causarán advertencias en el navegador



Cómo validar la cadena de certificados SSL en ruby ​​con net/http (2)

De mi colección de fragmentos de código:

#!/usr/bin/env ruby # How to: # ======= # Use Ruby''s net/https library, to verify a SSL certificate. # ========================================================== # - Without verification the following code will lead to: # warning: peer certificate won''t be verified in this SSL session # # #------------------begin example----------------------------- # require ''net/http'' # require ''net/https'' # require ''uri'' # # url = URI.parse ''https://myname:[email protected]/'' # http = Net::HTTP.new(url.host, url.port) # http.use_ssl = (url.scheme == ''https'') # request = Net::HTTP::Get.new(url.path) # request.basic_auth url.user, url.password # response = http.request(request) # #-------------------end example------------------------------ # # To verify the ssl cert cosider adapting the following. # Status: Untested # ======= # # References: # =========== # [1] http://mimori.org/%7Eh/tdiary/20080301.html#p03 # [2] http://redcorundum.blogspot.com/2008/03/ssl-certificates-and-nethttps.html # require ''net/http'' require ''net/https'' require ''uri'' RootCA = ''/etc/ssl/certs'' url = URI.parse ''https://myname:[email protected]/'' http = Net::HTTP.new(url.host, url.port) http.use_ssl = (url.scheme == ''https'') if (File.directory?(RootCA) && http.use_ssl?) http.ca_path = RootCA http.verify_mode = OpenSSL::SSL::VERIFY_PEER http.verify_depth = 5 else http.verify_mode = OpenSSL::SSL::VERIFY_NONE end request = Net::HTTP::Get.new(url.path) request.basic_auth url.user, url.password response = http.request(request)

¿Espero que esto ayude?

¿Cómo puedo verificar los certificados de un sitio como https://processing.ukash.com/ en ruby ​​con net / http?

https = Net::HTTP.new(''processing.ukash.com'', 443) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE

Funciona hasta ahora, pero ¿cómo puedo verificar que sea el certificado correcto ahora? Guardé el certificado desde Firefox, pero el archivo .pem resultante tiene muchos certificados y net / http no parece gustarle.