mirror of
https://github.com/LongSoft/UEFITool.git
synced 2024-11-27 10:28:22 +08:00
934ce1f3f8
As the first step towards automated parsing, this change set replaces outdated BootGuard-related parsers with shiny new KaitaiStruct-based ones. It also does the following: - improves Intel FIT definitions by using the relevant specification - adds sha1, sha384, sha512 and sm3 digest implementations - updates LZMA SDK to v22.01 - moves GUIDs out of include files to prevent multiple instantiations - enforces C++11 - adds Kaitai-based parsers for Intel FIT, BootGuard v1 and BootGuard v2 structures - makes many small refactorings here, there and everywhere
79 lines
1.2 KiB
Plaintext
79 lines
1.2 KiB
Plaintext
meta:
|
|
id: intel_keym_v1
|
|
title: Intel BootGuard Key Manifest v1
|
|
application: Intel x86 firmware
|
|
file-extension: keym_v1
|
|
tags:
|
|
- firmware
|
|
license: CC0-1.0
|
|
ks-version: 0.9
|
|
endian: le
|
|
|
|
enums:
|
|
structure_ids:
|
|
0x5f5f4d59454b5f5f: keym
|
|
|
|
seq:
|
|
- id: structure_id
|
|
type: u8
|
|
enum: structure_ids
|
|
valid: structure_ids::keym
|
|
- id: version
|
|
type: u1
|
|
valid:
|
|
expr: _ < 0x20
|
|
- id: km_version
|
|
type: u1
|
|
- id: km_svn
|
|
type: u1
|
|
- id: km_id
|
|
type: u1
|
|
- id: km_hash
|
|
type: km_hash
|
|
- id: key_signature
|
|
type: key_signature
|
|
|
|
types:
|
|
km_hash:
|
|
seq:
|
|
- id: hash_algorithm_id
|
|
type: u2
|
|
- id: len_hash
|
|
type: u2
|
|
- id: hash
|
|
size: len_hash
|
|
|
|
public_key:
|
|
seq:
|
|
- id: version
|
|
type: u1
|
|
- id: size_bits
|
|
type: u2
|
|
- id: exponent
|
|
type: u4
|
|
- id: modulus
|
|
size: size_bits / 8
|
|
|
|
signature:
|
|
seq:
|
|
- id: version
|
|
type: u1
|
|
- id: size_bits
|
|
type: u2
|
|
- id: hash_algorithm_id
|
|
type: u2
|
|
- id: signature
|
|
size: size_bits / 8
|
|
|
|
key_signature:
|
|
seq:
|
|
- id: version
|
|
type: u1
|
|
- id: key_id
|
|
type: u2
|
|
- id: public_key
|
|
type: public_key
|
|
- id: sig_scheme
|
|
type: u2
|
|
- id: signature
|
|
type: signature |