У меня есть список отзыва сертификатов revked.crl с некоторыми записями. как получить серийный номер из него. когда я использую отозванный метод, он возвращает массив записей, например "#OpenSSL::X509::Revoked:0x007f944b1fd0d8". может ли кто-нибудь сказать мне, как разобрать это, чтобы получить точный серийный номер?
получение серийного номера из списка CRL
Ответы (1)
Попробуйте что-то вроде:
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
Соответствующая документация:
- https://ruby-doc.org/stdlib-2.4.2/libdoc/openssl/rdoc/OpenSSL/X509/CRL.html
- http://ruby-doc.org/stdlib-2.5.0/libdoc/openssl/rdoc/OpenSSL/X509/Revoked.html
- http://ruby-doc.org/stdlib-2.5.0/libdoc/openssl/rdoc/OpenSSL/X509/Extension.html
person
s2t2
schedule
01.03.2018