2017-04-06 1 views
1

J'ai une liste de révocation de certificats revoked.crl avec quelques entrées. comment récupérer le numéro de série de celui-ci. quand j'utilise la méthode révoquée, elle retourne un tableau d'entrées comme "#OpenSSL :: X509 :: Revoked: 0x007f944b1fd0d8". quelqu'un peut-il me dire comment analyser cela pour obtenir le numéro de série exact?obtention du numéro de série de la liste CRL

Répondre

0

Essayez quelque chose comme:

require "openssl" 

crl_filepath = "./path/to/mylist.crl" 
puts "PARSING CRL FILE #{crl_filepath} ..." 

crl = OpenSSL::X509::CRL::new(File.read(crl_filepath)) 
puts "... ISSUER: #{crl.issuer.to_s}" 
puts "... VERSION: #{crl.version.to_s}" 
puts "... LAST UPDATE: #{crl.last_update.to_s}" 
puts "... NEXT UPDATE: #{crl.next_update.to_s}" 

puts "INVESTIGATING FIRST CERTIFICATE..." 
r = crl.revoked.first # FYI this is an OpenSSL::X509::Revoked object 
puts "... SERIAL: #{r.serial.to_s}" 
puts "... TIME: #{r.time.to_s}" 
puts "... EXTENSIONS (#{r.extensions.count}):" 
r.extensions.each do |ext| 
    puts " ... #{ext.to_h}" 
end 

La documentation pertinente: