Changes to Auth Manifest Specification

Comparing version 2.1 to 2.0
+10 additions -6 deletions
@@ -1,5 +1,5 @@
11 <div style="font-size: 0.85em; color: #656d76; margin-bottom: 1em; padding: 0.5em; background: #f6f8fa; border-radius: 4px;">
2-📄 Source: <a href="https://github.com/chipsalliance/caliptra-sw/blob/8f13b41132ddd85c3c2fa2c8ce5a766758b20fd8/auth-manifest/README.md" target="_blank">chipsalliance/caliptra-sw/auth-manifest/README.md</a> @ <code>8f13b41</code>
2+📄 Source: <a href="https://github.com/chipsalliance/caliptra-sw/blob/6980f7d09b351299e61d7242ac7a8c3c4e8cb695/auth-manifest/README.md" target="_blank">chipsalliance/caliptra-sw/auth-manifest/README.md</a> @ <code>6980f7d</code>
33 </div>
44
55 ## SOC Manifest
@@ -13,7 +13,7 @@
1313 Those signatures are also stored in the Preamble.
1414 The Caliptra firmware's ECC and PQC private keys endorse the manifest's public keys, and these endorsements (signatures) are part of the Preamble as well.
1515
16- *Note: All fields are little endian unless specified*
16+ *Note: Do not treat the entire manifest as little endian. Scalar `u32` fields use little-endian layout. ECC key and signature fields are stored as big-endian `u32` words. Raw byte-array fields, such as image hashes, use the exact byte sequence produced by standard tools like OpenSSL unless a field description explicitly says otherwise.*
1717
1818 | Field | Size (bytes) | Description |
1919 | ---------------------------------- | ------------ | ----------- |
@@ -39,18 +39,22 @@
3939 ### **Image Metadata Collection**
4040
4141 The Image Metadata Collection (IMC) is a collection of Image Metadata Entries (IMEs).
42-Each IME has a hash that matches a SOC image.
42+Each IME has a digest that matches a SOC image.
4343 The manifest vendor and owner private keys sign the IMC.
4444 The Preamble holds the IMC signatures.
4545 The manifest IMC vendor signatures are optional and are validated only if the **Flags Bit 0 = 1**.
46-Up to 80 image hashes are supported.
46+Up to 127 image metadata entries are supported.
4747
4848 | Field | Size (bytes) | Description |
4949 | -------------------------------- | ------------ | --------------------------------------- |
5050 | **Image Metadata Entry (IME) Count** | 4 | Number of IME(s) in the IMC. |
51-| **Image Metadata Entry (N)** | Variable | List of Image Metadata Entry structures |
51+| **Image Metadata Entry (N)** | Variable | List of 80-byte Image Metadata Entry structures |
5252
5353 #### **Image Metadata Entry**
54+
55+The serialized IME layout follows `AuthManifestImageMetadata` in
56+`auth-manifest/types/src/lib.rs`. Multi-word addresses are encoded as the low
57+32-bit word followed by the high 32-bit word.
5458
5559 | Field | Size (bytes) | Description |
5660 | ----------------------- | ------------ | ----------- |
@@ -68,7 +72,7 @@
6872 ## Owner Authorization Manifest
6973
7074 The Owner Authorization Manifest is a smaller, owner-only manifest loaded with
71-[`SET_OWNER_AUTH_MANIFEST`](../runtime/README.md#set_owner-auth-manifest). It
75+[`SET_OWNER_AUTH_MANIFEST`](../runtime/README.md#set_owner_auth_manifest). It
7276 carries owner public keys, owner signatures, and an owner-only Image Metadata
7377 Collection. Runtime stores these entries separately from the vendor + owner
7478 collection loaded by `SET_AUTH_MANIFEST` and searches the owner-only collection