blob: 052262df5a49439108fefa9ca7aa8144cc11f1f2 [file] [log] [blame]
Alan Stokes9b8b8ec2023-10-13 15:58:11 +01001; Configuration Descriptor used in the DICE node that describes the payload of a Microdroid virtual
2; machine.
3;
4; See the Open DICE specification
5; https://pigweed.googlesource.com/open-dice/+/HEAD/docs/specification.md,
6; and the Android Profile for DICE
7; https://pigweed.googlesource.com/open-dice/+/HEAD/docs/android.md.
8;
9; CDDL for the normal Configuration Descriptor can be found at
10; https://cs.android.com/android/platform/superproject/main/+/main:hardware/interfaces/security/rkp/aidl/android/hardware/security/keymint/generateCertificateRequestV2.cddl
11
12; The configuration descriptor node for a Microdroid VM, with extensions to describe the contents
13; of the VM payload.
14VmConfigDescriptor = {
15 -70002 : "Microdroid payload", ; Component name
16 (? -71000: tstr // ; Path to the payload config file
17 ? -71001: PayloadConfig),
18 ? -71002: [+ SubcomponentDescriptor],
19}
20
21PayloadConfig = {
22 1: tstr ; Path to the binary file where payload execution starts
23}
24
25; Describes a unit of code (e.g. an APK or an APEX) present inside the VM.
26SubcomponentDescriptor = {
27 1: tstr, ; Component name
28 2: uint, ; Security version
29 ? 3: bstr, ; Code hash
30 4: bstr, ; Authority hash
31}