-
Notifications
You must be signed in to change notification settings - Fork 630
Description
Description
The draft of the SLSA Source Track includes an example in-toto statement. What are the gaps required to cover for cosign to be able to sign and verify these statements?
For signing, the attest-blob
subcommand is close to what we want. It lets you specify the path to the predicate contents with --predicate
and the predicate type with --type
, but we don't have a way of setting the subject to match the example. And of course we'd use --new-bundle-format=true --bundle
to get a protobuf bundle that the Sigstore clients have standardized on.
If we use attest-blob
for signing, we should probably use verify-blob-attestation
for verification. We'd use --bundle
to supply the bundle from signing, but we also need some way to supply the hash we're expecting was used for signing (and again, likely it'd be SHA1 instead of SHA256). Here we have an advantage in that verify-blob-attestation
will always use sigstore-go
(which we already know can verify these in-toto statements) if a protobuf bundle is being used, but we need a way to supply the hash (and hash algorithm) to send to sigstore-go
.
In this description of the problem, I am purposefully not suggesting solutions. But people should feel free to propose solutions in the issue discussion!