-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLI: Full DSSE support #1111
Comments
I see that DSSE supports multiple artifacts (“subjects”) inside the envelope, each with a name and digest. But the current Do we want the same behavior when using DSSE? That is, multiple input files -> multiple output bundles, even if a single DSSE envelope supports having multiple subjects? Or do we want to output a single sigstore bundle, that contains the DSSE envelope with multiple subjects? |
The former -- I think we want to maintain the 1:1 relationship between input and output files for now, even though DSSE bundles technically allow a 1:N relationship. My rationale for that is that fewer clients support that 1:N pattern, and the 1:1 pattern is more immediately applicable to use cases like Python packaging 🙂 |
Do we want to use the same default predicate type for the in-toto statement as edit: I see that predicate is defined here, and it contains two fields: |
IIRC our DSSE signing API already uses a different predicate type (one that's not cosign specific) by default, so I think we should probably default to that. If I'm remembering right, I picked the current predicate default based on the GitHub Attestations' feature's default. Edit: whoops, I was thinking of the statement not the predicate type. IMO we should default to whatever GitHub's attestations use for their default predicate type, but also think about how we'll expose appropriate CLI flags for customizing the predicate during DSSE signing. |
This is complete! |
Right now, the
sigstore
CLI only has limited support for DSSE bundles: we support verifying them insigstore verify
, but not signing/generating via the CLI.Some things we'll want to do:
sigstore attest
CLI subcommand to sign using DSSE envelopes #1115: We should support DSSE bundle generation and signing via the CLI. This will require some design thought on how best to integrate this with the currentsigstore sign
subcommand; two ideas:sigstore sign --attest
enables DSSE generation/signing, rather than the defaulthashedrekord
sigstore attest ...
, to mirrorcosign attest
sigstore verify ...
subcommands, we should support emitting the bundle's interior statement in a structured manner, for further processing.--format=json
or similar flag across all of the verification subcommands, and have the subcommands emit only JSON in that case, e.g.{"valid": true, "statement": {...}}
.CC @facutuesca
The text was updated successfully, but these errors were encountered: