Skip to content

Restore keyless attest build against cosign 3.1#828

Open
arpitjain099 wants to merge 1 commit into
sigstore:mainfrom
arpitjain099:fix/attest-build-cosign-3.1
Open

Restore keyless attest build against cosign 3.1#828
arpitjain099 wants to merge 1 commit into
sigstore:mainfrom
arpitjain099:fix/attest-build-cosign-3.1

Conversation

@arpitjain099

Copy link
Copy Markdown

cosign 3.1 made signcommon.GetSignerVerifier private (part of the sign-via-sigstore-go rework in sigstore/cosign#4618), so the attest command stopped building - that is the #826 / Debian breakage @jas4711 hit.

The struct it returned (signcommon.SignerVerifier) and fulcio.NewSigner are both still exported, so I rebuilt what GetSignerVerifier did for the keyless case right in attest.go: generate an ephemeral key, get a Fulcio cert for it, and wrap both in a SignerVerifier. The attestor and its tests are untouched. Bumps cosign to v3.1.1.

go build ./... (after go mod tidy) is clean and the internal/attest tests pass. I couldn't exercise the real keyless Fulcio+Rekor path locally since it needs an interactive OIDC login, but the construction mirrors what cosign's own GetSignerVerifier did.

This is the minimal change to get the build green again. If you'd rather move the attestor onto cosign's new GetKeypairAndToken / sigstore-go keypair flow instead (the more future-proof route that came up in the issue), I'm happy to do that as a follow-up.

Fixes #826

cosign 3.1 unexported signcommon.GetSignerVerifier, which the attest command
used to build the keyless signer, so gitsign no longer builds (sigstore#826).

Rebuild the same thing inline: generate an ephemeral key, get a Fulcio cert
via the still-exported fulcio.NewSigner, and wrap them in a
signcommon.SignerVerifier (also still exported) so the attestor keeps working
unchanged. Bumps cosign to v3.1.1.

Fixes sigstore#826

Signed-off-by: Arpit Jain <arpitjain099@gmail.com>
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.

gitsign fails to build with cosign 3.1.x

1 participant