Skip to content

Commit 4f87c8d

Browse files
committed
index hosted attestations: improve language over version
1 parent 457bb50 commit 4f87c8d

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

source/specifications/index-hosted-attestations.rst

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ object is provided as pseudocode below.
3939

4040
.. code-block:: python
4141
42+
4243
@dataclass
4344
class Attestation:
44-
version: Literal[1]
45+
version: Literal[1, 2]
4546
"""
4647
The attestation object's version. Current version is 2.
4748
@@ -94,8 +95,7 @@ object is provided as pseudocode below.
9495
9596
Added in Attestation version 2.
9697
97-
Note that list may be empty if `transparency_entries` only contains entries
98-
with an integrated_time (in other words entries of kind "dsse 0.0.1").
98+
Note that list may be empty even for valid attestations: see "Attestation Verification"
9999
"""
100100
101101
A full data model for each object in ``transparency_entries`` is provided in
@@ -104,7 +104,7 @@ transparency log entries, and **MAY** include additional keys for other
104104
sources of signed time (such as an :rfc:`3161` Time Stamping Authority or a
105105
`Roughtime <https://blog.cloudflare.com/roughtime>`__ server).
106106

107-
Attestation objects are versioned; this PEP specifies version 2. Each version
107+
Attestation objects are versioned; this document specifies version 2. Each version
108108
is tied to a single cryptographic suite to minimize unnecessary cryptographic
109109
agility. In both versions 1 & 2, the suite is as follows:
110110

@@ -277,7 +277,7 @@ Attestation verification
277277
Verifying an attestation object against a distribution file requires verification of each of the
278278
following:
279279

280-
* ``version`` is ``1``. The verifier **MUST** reject any other version.
280+
* ``version`` is ``1`` or ``2``. The verifier **MUST** reject any other version.
281281
* ``verification_material.certificate`` is a valid signing certificate, as
282282
issued by an *a priori* trusted authority (such as a root of trust already
283283
present within the verifying client).
@@ -301,9 +301,10 @@ transparency entries, the verifier **MUST** confirm that the entry inclusion tim
301301
lies within the signing certificate's validity period: Inclusion time is provided
302302
in one of two ways:
303303

304-
* embedded in the entry (``integrated_time``) -- this is *only* valid for entry
305-
kind ``dsse 0.0.1``.
306-
* as RFC3161 timestamp(s) in ``verification_material.timestamps``
304+
* Attestation V1: Inclusion time is embedded in the entry (``integrated_time``)
305+
* Attestation V2: Inclusion time may embedded in the entry (``integrated_time``) for dsse 0.0.1 entries
306+
or it may be provided as RFC3161 timestamp(s) in ``verification_material.timestamps`` for
307+
dsse 0.0.2 entries
307308

308309
.. _appendix:
309310

0 commit comments

Comments
 (0)