Sha256: ce130cffb2d843d617d820ba00240a9d8e6807f698a22f25ac4ef756be13c62e
Contents?: true
Size: 721 Bytes
Versions: 3
Compression:
Stored size: 721 Bytes
Contents
module EFIValidate class EALFParser class EALFParseError < Exception; end attr_reader :header, :rows def initialize(data) @header = EFIValidate::EALFHeader.read(data, 97) raise EALFParseError, 'File header magic mismatch.' unless @header.ealf_magic == EFIValidate::EALFHeader::EALF_MAGIC raise EALFParseError, 'Only SHA256 EALF is supported.' unless @header.ealf_hash_function == EFIValidate::EALFHeader::EALF_HASH_SHA256 @rows = [] @header.ealf_rows.times do @rows << EFIValidate::EALFRow.read(data, @header.row_size).tap { |row| row.header = @header } end end def self.read(file) EFIValidate::EALFParser.new(File.open(file)) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
efivalidate-1.2.0 | lib/efivalidate/ealf_parser.rb |
efivalidate-1.1.0 | lib/efivalidate/ealf_parser.rb |
efivalidate-1.0.0 | lib/efivalidate/ealf_parser.rb |