Skip to content

Commit 0483def

Browse files
committed
cleanup artifact configuration attestation docs
1 parent 94087f3 commit 0483def

3 files changed

Lines changed: 36 additions & 17 deletions

File tree

docs/_data/tables/artifact-configuration.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,3 +383,27 @@ similar-directories-example-match:
383383
384384
(All `msi`, `exe` and `dll` files are signed with Authenticode.)
385385
image: "![graphical resolved artifacts](/assets/img/resources/artifact-configuration/artifact-configuration_similar-resolved.png)"
386+
387+
attestation-directives:
388+
headers:
389+
directive: Directive
390+
parameter: Parameter
391+
description: Description
392+
body:
393+
- directive: "`<create-provenance-file>`"
394+
parameter: "`output-file-name`"
395+
description: File name for the provenance statement.
396+
- directive: "`<create-verification-summary-file>`"
397+
parameter: "`output-file-name`"
398+
description: File name for the verification summary statement.
399+
- directive: "`<create-attestation-signature>`"
400+
parameter: "`type`"
401+
description: |
402+
Signature type. Currently supported: [`cms`](reference/#create-cms-signature) and [`dsse`](reference/#dsse-sign).
403+
_attributes:
404+
directive: {rowspan: 2}
405+
- directive: "$skip"
406+
parameter: "`output-file-name`"
407+
description: File name for the attestation signature.
408+
- directive: "`<include-in-provenance>`"
409+
parameter: "*none*"

docs/_includes/render-table.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
<tr>
4949
{%- for cell in include.table.headers -%}
5050
{%- assign columnId = cell[0] -%}
51-
{%- unless columnId == "_attributes" or table-omit-columns contains columnId -%}
51+
{%- unless columnId == "_attributes" or table-omit-columns contains columnId or row[columnId] == "$skip" -%}
5252
<td markdown="1" {% for attribute in row._attributes[columnId] %} {{ attribute[0] }}="{{ attribute[1] }}" {% endfor %} >
5353
{{ row[columnId] }}
5454
</td>

docs/artifact-configuration/attestations.md

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,18 @@ datasource: tables/artifact-configuration
1111

1212
SignPath can create SLSA attestations for any of the supported build systems. See the [definition](/slsa-attestations) for more details.
1313

14-
Creating a SLSA attestation requires multiple directives:
14+
Creating a SLSA statement requires multiple directives:
1515

16-
* `<include-in-provenance>` to include a reference to a file in the generated provenance.
17-
* `<create-provenance-file>` inside a root level `<zip-file>` to create a SLSA provenance.
18-
* `<create-verification-summary-file>` to create a SLSA verification summary.
19-
* `<create-attestation-signature>` to sign the provenance and turn them into a SLSA attestation or SLSA verification summary attestation (VSA).
16+
* Add `<create-provenance-file>` to the root level `<zip-file>` to create a SLSA provenance statement.
17+
* Add `<create-verification-summary-file>` to the `<create-provenance-file>` element to create a SLSA verification summary statement.
18+
* Sign both by adding a `<create-attestation-signature>` to each. Signing effectively turns the statements into proper attestations.
19+
* Add `<include-in-provenance>` to each file that you want to include generated provenance's subject section.
2020

21-
The parameters for all these directives, except `<include-in-provenance>`, which does not have any, are listed below.
21+
Supported parameters:
2222

23-
| Directive | Parameter | Description
24-
|----------- |----------- |-------------------------------------------------
25-
| `<create-provenance-file>` | `output-file-name` | Name of the output file to hold the provenance information.
26-
| `<create-verification-summary-file>` | `output-file-name` | Name of the output file to hold the verification summary information.
27-
| `<create-attestation-signature>` | `type` | The signature type. Currently supported are [`cms`](#create-cms-signature) and [`dsse`](#dsse-sign).
28-
| `<create-attestation-signature>` | `output-file-name` | Name of the output file to hold the attestation signature.
23+
{%- include render-table.html table=site.data.tables.artifact-configuration.attestation-directives -%}
2924

30-
#### Example
25+
### Example
3126

3227
~~~ xml
3328
<artifact-configuration xmlns="http://signpath.io/artifact-configuration/v1">
@@ -39,13 +34,13 @@ The parameters for all these directives, except `<include-in-provenance>`, which
3934
<create-attestation-signature type="cms" output-file-name="${file.name}.cms.pem" />
4035
<create-verification-summary-file output-file-name="slsa-vsa.json">
4136
<create-attestation-signature type="dsse" output-file-name="slsa-vsa.dsse.json" />
42-
</create-verification-summary-file>
37+
</create-verification-summary-file>
4338
</create-provenance-file>
4439
</zip-file>
4540
</artifact-configuration>
4641
~~~
4742

48-
#### Verification of SLSA verification summaries (VSA) {#slsa-vsa-verification}
43+
## Verification of SLSA verification summaries (VSA) {#slsa-vsa-verification}
4944

5045
To verify a SLSA verification summary attestation (VSA), you need:
5146

@@ -65,7 +60,7 @@ To verify a SLSA verification summary attestation (VSA), you need:
6560
> * `certificate-fingerprint`: The SHA-1 fingerprint of the X.509 publisher certificate.
6661
> * `subject`: The subject of the X.509 publisher certificate.
6762
68-
To verify the verification summary attestation, the official [slsa-verifier](https://github.com/slsa-framework/slsa-verifier) tool can be used:
63+
To verify the verification summary attestation, the official [slsa-verifier](https://github.com/slsa-framework/slsa-verifier) tool can be used as follows.
6964

7065
The following steps are required to verify a SLSA provenance attestation generated by SignPath:
7166

0 commit comments

Comments
 (0)