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.
En aras de la integridad y de mi futuro yo, esta es una pequeña joya que hice de esto: https://github.com/jarthod/ssl-test