Skip to content

Commit

Permalink
Clairified that a DSSE envelope in a sigstore bundle MUST have exactl…
Browse files Browse the repository at this point in the history
…y one signature (#318)

* Clairified that a DSSE envelope in a sigstore bundle MUST have exactly
one signature.

* Fixed a spelling error caught during review
  • Loading branch information
kommendorkapten authored May 9, 2024
1 parent 0a028ad commit b5b97ec
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 3 deletions.
2 changes: 1 addition & 1 deletion gen/jsonschema/schemas/Bundle.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"dsseEnvelope": {
"$ref": "#/definitions/io.intoto.Envelope",
"additionalProperties": false,
"description": "A DSSE envelope can contain arbitrary payloads. Verifiers must verify that the payload type is a supported and expected type. This is part of the DSSE protocol which is defined here: \u003chttps://github.com/secure-systems-lab/dsse/blob/master/protocol.md\u003e"
"description": "A DSSE envelope can contain arbitrary payloads. Verifiers must verify that the payload type is a supported and expected type. This is part of the DSSE protocol which is defined here: \u003chttps://github.com/secure-systems-lab/dsse/blob/master/protocol.md\u003e DSSE envelopes in a bundle MUST have exactly one signture. This is a limitation from the DSSE spec, as it can contain multiple signatures. There are two primary reasons: 1. It simplfies the verification logic and policy 2. The bundle (currently) can only contain a single instance of the required verification materials During verification a client MUST reject an envelope if the number of signatures is not equal to one."
}
},
"additionalProperties": false,
Expand Down
2 changes: 1 addition & 1 deletion gen/jsonschema/schemas/Input.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
"dsseEnvelope": {
"$ref": "#/definitions/io.intoto.Envelope",
"additionalProperties": false,
"description": "A DSSE envelope can contain arbitrary payloads. Verifiers must verify that the payload type is a supported and expected type. This is part of the DSSE protocol which is defined here: \u003chttps://github.com/secure-systems-lab/dsse/blob/master/protocol.md\u003e"
"description": "A DSSE envelope can contain arbitrary payloads. Verifiers must verify that the payload type is a supported and expected type. This is part of the DSSE protocol which is defined here: \u003chttps://github.com/secure-systems-lab/dsse/blob/master/protocol.md\u003e DSSE envelopes in a bundle MUST have exactly one signture. This is a limitation from the DSSE spec, as it can contain multiple signatures. There are two primary reasons: 1. It simplfies the verification logic and policy 2. The bundle (currently) can only contain a single instance of the required verification materials During verification a client MUST reject an envelope if the number of signatures is not equal to one."
}
},
"additionalProperties": false,
Expand Down
9 changes: 9 additions & 0 deletions gen/pb-go/bundle/v1/sigstore_bundle.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,14 @@ pub mod bundle {
/// supported and expected type. This is part of the DSSE
/// protocol which is defined here:
/// <<https://github.com/secure-systems-lab/dsse/blob/master/protocol.md>>
/// DSSE envelopes in a bundle MUST have exactly one signture.
/// This is a limitation from the DSSE spec, as it can contain
/// multiple signatures. There are two primary reasons:
/// 1. It simplfies the verification logic and policy
/// 2. The bundle (currently) can only contain a single
/// instance of the required verification materials
/// During verification a client MUST reject an envelope if
/// the number of signatures is not equal to one.
#[prost(message, tag = "4")]
DsseEnvelope(super::super::super::super::super::io::intoto::Envelope),
}
Expand Down
Binary file not shown.
8 changes: 8 additions & 0 deletions protos/sigstore_bundle.proto
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,14 @@ message Bundle {
// supported and expected type. This is part of the DSSE
// protocol which is defined here:
// <https://github.com/secure-systems-lab/dsse/blob/master/protocol.md>
// DSSE envelopes in a bundle MUST have exactly one signture.
// This is a limitation from the DSSE spec, as it can contain
// multiple signatures. There are two primary reasons:
// 1. It simplfies the verification logic and policy
// 2. The bundle (currently) can only contain a single
// instance of the required verification materials
// During verification a client MUST reject an envelope if
// the number of signatures is not equal to one.
io.intoto.Envelope dsse_envelope = 4 [(google.api.field_behavior) = REQUIRED];
}
// Reserved for future additions of artifact types.
Expand Down

2 comments on commit b5b97ec

@Wid1ey

This comment was marked as spam.

@wenglaurie30
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

protos/sigstore_bundle.proto

Please sign in to comment.