-
Notifications
You must be signed in to change notification settings - Fork 64
Closed
Description
This is part of Sigstore bundle support: we currently only support "raw" signatures, while some users of Sigstore may chose to use enveloped DSSE-style signatures.
From protobuf-specs:
// An authenticated message of arbitrary type.
message Envelope {
// Message to be signed. (In JSON, this is encoded as base64.)
// REQUIRED.
bytes payload = 1;
// String unambiguously identifying how to interpret payload.
// REQUIRED.
string payloadType = 2;
// Signature over:
// PAE(type, payload)
// Where PAE is defined as:
// PAE(type, payload) = "DSSEv1" + SP + LEN(type) + SP + type + SP + LEN(payload) + SP + payload
// + = concatenation
// SP = ASCII space [0x20]
// "DSSEv1" = ASCII [0x44, 0x53, 0x53, 0x45, 0x76, 0x31]
// LEN(s) = ASCII decimal encoding of the byte length of s, with no leading zeros
// REQUIRED (length >= 1).
repeated Signature signatures = 3;
}
message Signature {
// Signature itself. (In JSON, this is encoded as base64.)
// REQUIRED.
bytes sig = 1;
// *Unauthenticated* hint identifying which public key was used.
// OPTIONAL.
string keyid = 2;
}...where payload is the to-be-signed attestation statement.
xref sigstore/fulcio#1131
Work tracker:
- Add
sigstore-rekor-types(rekor: use sigstore_rekor_types for models #788) - Use
sigstore-rekor-typesto provide DSSE creation and retrieval support in our Rekor bindings - Expose DSSE signing via the Python API (API-level DSSE signing support #804)
- Expose DSSE verification via the Python API
- (Maybe?) expose DSSE signing and verification via the
sigstoreCLI
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request