Skip to content

[DRAFT] Rekor v1 and v2 support via signing-config#1387

Closed
ramonpetgrave64 wants to merge 103 commits into
sigstore:mainfrom
ramonpetgrave64:rekor-v2
Closed

[DRAFT] Rekor v1 and v2 support via signing-config#1387
ramonpetgrave64 wants to merge 103 commits into
sigstore:mainfrom
ramonpetgrave64:rekor-v2

Conversation

@ramonpetgrave64

@ramonpetgrave64 ramonpetgrave64 commented May 16, 2025

Copy link
Copy Markdown
Contributor

Client support for Rekor V2: sigstore-python #289

Summary

Adds Rekor V2 support, while being compatible with Rekor v1, swicthable with the signing-config, when signing and verify an artifact.

Lots of files in this PR:

Testing

Unit tests pass locally with python 3.12.9. CI tests fails on python 3.9. And linters are not yet expected to pass.

Signing and verifying both work.

Invoke with

sigstore --trust-config ./trust_config.json sign README.md --overwrite -v

sigstore --trust-config ./trust_config.json verify identity --bundle README.md.sigstore.json --cert-oidc-issuer https://accounts.google.com --cert-identity <your cert identity> README.md --verbose
sigstore --trust-config ./trust_config_v2.json sign README.md --overwrite -v

sigstore --trust-config ./trust_config_v2.json verify identity --bundle README.md.sigstore.json --cert-oidc-issuer https://accounts.google.com --cert-identity <your cert identity> README.md --verbose

TODO

Lots of items, so the last few items regarding testing will probably come in a separate PR.

Release Note

Documentation

ramonpetgrave64 and others added 30 commits April 25, 2025 18:26
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
This reverts commit 79a6d31.

Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <32398091+ramonpetgrave64@users.noreply.github.com>
Signed-off-by: Ramon Petgrave <32398091+ramonpetgrave64@users.noreply.github.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
This reverts commit e4470a9.

Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
@jku

jku commented May 16, 2025

Copy link
Copy Markdown
Member

I mentioned this elsewhere but for clarity: I would prefer the Rekorv2 changes to not touch the v1 RekorClient code if possible and instead be a separate implementation.

  • the rekorclient(s) could also take care of building the correct proposed entry (mentioned this in a code comment)
  • currently it looks like the rekor v2 client supports all the methods in RekorClient... but I don't think it does and I don't think it needs to

@ramonpetgrave64

ramonpetgrave64 commented May 16, 2025

Copy link
Copy Markdown
Contributor Author

@jku Yes, like we discussed offline, it perhaps would be nicer if the V2 changes would not edit the current RekorClient class. I'll have to see how viable the auto-generated v2 client RekorBase or RekorStub is.

If not, I also mentioned that subclassing could make more sense. Abstract the common methods of V1 and V2 into another base class. If that, I don't think removing V1 support in the future after the estimated 18 months would be difficult.

Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
@ramonpetgrave64 ramonpetgrave64 mentioned this pull request May 20, 2025
6 tasks
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
Signed-off-by: Ramon Petgrave <ramon.petgrave64@gmail.com>
@jku

jku commented Jun 9, 2025

Copy link
Copy Markdown
Member

closing as housekeeping: I believe #1414 is closer to current SOTA

@jku jku closed this Jun 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants