-
Notifications
You must be signed in to change notification settings - Fork 55
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
cosign/tuf: use trustroot #305
Conversation
@woodruffw and @tnytown mentioned some ownership design considerations that I'm not sure I fully understood. A closer look at some lifetime choices e.g. sigstore-rs/src/cosign/client_builder.rs Lines 55 to 62 in 559673c
|
@tnytown can confirm, but I believe the question was whether it makes sense to allow the interior This is exactly what PyCA Cryptography does, turning a Whether or not this actually makes sense to do, however, is ultimately a design question. If the |
6e053f2
to
a536bea
Compare
Signed-off-by: Jack Leightcap <[email protected]> Co-authored-by: Andrew Pan <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First pass looks good to me.
Signed-off-by: Jack Leightcap <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3422fde
to
5d36385
Compare
Signed-off-by: Jack Leightcap <[email protected]>
5d36385
to
2f8150d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution and for having gone through the requested changes
What's Changed ============== * chore(deps): Update rstest requirement from 0.17.0 to 0.18.1 by @dependabot in #282 * chore(deps): do not enable default features of chrono by @flavio in #286 * chore(deps): Update pem requirement from 2.0 to 3.0 by @dependabot in #289 * conformance: add conformance CLI and action by @jleightcap in #287 * chore: fix clippy warnings by @flavio in #292 * chore(deps): Bump actions/checkout from 3.5.3 to 3.6.0 by @dependabot in #291 * chore(deps): Update tough requirement from 0.13 to 0.14 by @dependabot in #290 * chore(deps): update to latest version of picky by @flavio in #293 * chore(deps): Bump actions/checkout from 3.6.0 to 4.0.0 by @dependabot in #294 * chore: add repository link to Cargo metadata by @flavio in #297 * chore(deps): Update cached requirement from 0.44.0 to 0.45.1 by @dependabot in #298 * chore(deps): Bump actions/checkout from 4.0.0 to 4.1.0 by @dependabot in #302 * chore(deps): Update cached requirement from 0.45.1 to 0.46.0 by @dependabot in #301 * chore(deps): Update testcontainers requirement from 0.14 to 0.15 by @dependabot in #303 * chore(deps): Bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in #304 * cosign/tuf: use trustroot by @jleightcap in #305 * Fix broken tests, update deps by @flavio in #313 New Contributors ================ * @jleightcap made their first contribution in #287 **Full Changelog**: v0.7.2...v0.8.0 Signed-off-by: Luke Hinds <[email protected]> Co-authored-by: Flavio Castelli <[email protected]>
What's Changed ============== * chore(deps): Update rstest requirement from 0.17.0 to 0.18.1 by @dependabot in #282 * chore(deps): do not enable default features of chrono by @flavio in #286 * chore(deps): Update pem requirement from 2.0 to 3.0 by @dependabot in #289 * conformance: add conformance CLI and action by @jleightcap in #287 * chore: fix clippy warnings by @flavio in #292 * chore(deps): Bump actions/checkout from 3.5.3 to 3.6.0 by @dependabot in #291 * chore(deps): Update tough requirement from 0.13 to 0.14 by @dependabot in #290 * chore(deps): update to latest version of picky by @flavio in #293 * chore(deps): Bump actions/checkout from 3.6.0 to 4.0.0 by @dependabot in #294 * chore: add repository link to Cargo metadata by @flavio in #297 * chore(deps): Update cached requirement from 0.44.0 to 0.45.1 by @dependabot in #298 * chore(deps): Bump actions/checkout from 4.0.0 to 4.1.0 by @dependabot in #302 * chore(deps): Update cached requirement from 0.45.1 to 0.46.0 by @dependabot in #301 * chore(deps): Update testcontainers requirement from 0.14 to 0.15 by @dependabot in #303 * chore(deps): Bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in #304 * cosign/tuf: use trustroot by @jleightcap in #305 * Fix broken tests, update deps by @flavio in #313 New Contributors ================ * @jleightcap made their first contribution in #287 **Full Changelog**: v0.7.2...v0.8.0 Signed-off-by: Luke Hinds <[email protected]> Co-authored-by: Flavio Castelli <[email protected]>
Add ability to sign artifacts à la sigstore-python, towards Bundle signing and verification. Follow-up from #305, and the prerequisite motivation to #311. Signed-off-by: Jack Leightcap <[email protected]> Signed-off-by: Andrew Pan <[email protected]> Signed-off-by: Andrew Pan <[email protected]> Signed-off-by: Jack Leightcap <[email protected]> Co-authored-by: Andrew Pan <[email protected]> Co-authored-by: Andrew Pan <[email protected]> Co-authored-by: Andrew Pan <[email protected]> Co-authored-by: Flavio Castelli <[email protected]>
Summary
Towards #280, adapt Cosign and TUF to use trustroot.
As a roadmap, this PR is structured:
src/tuf/repository_helper.rs
.Repository
construction now uses the trustroot, with aFakeRepository
option for BYO keys/certs--see release notes.Release Note
The method of constructing a Repository with out-of-band trust materials (from Rekor public key and Fulcio certificate) has changed. See Cosign's verify example:
sigstore-rs/examples/cosign/verify/main.rs
Lines 231 to 265 in a536bea
And the signature verification documentation:
sigstore-rs/src/lib.rs
Lines 83 to 103 in 8a269a3
Documentation