-
Notifications
You must be signed in to change notification settings - Fork 565
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
Add support for passing different SignerVerifier LoadOptions #4050
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4050 +/- ##
==========================================
- Coverage 40.10% 36.94% -3.16%
==========================================
Files 155 210 +55
Lines 10044 13411 +3367
==========================================
+ Hits 4028 4955 +927
- Misses 5530 7837 +2307
- Partials 486 619 +133 ☔ View full report in Codecov by Sentry. |
I'm going to add a few tests to this. |
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
5c07a7a
to
f82ecc6
Compare
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
958259e
to
753bfc0
Compare
Signed-off-by: Riccardo Schirone <riccardo.schirone@trailofbits.com>
What do you think about limiting this to code under the |
Sounds good, but we still want to modify the "sign"/"sign-blob" flow, don't we? At least to test the signing process through cosign and then the verification process in the new bundle format, correct? |
The sign-blob flow, yes, where we also use the new-bundle-format flag. We don’t have to include sign at the moment since we don’t yet support the new bundle format. |
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.
Reviewed this for the Fulcio PR. This LGTM and I realize my comment about sign-blob
isn't immediately relevant as we need to make all these changes first.
Line 240 in 8dd9e9b
Algorithm: swag.String(models.HashedrekordV001SchemaDataHashAlgorithmSha256), |
If we do the Fulcio change to accept ecdsa-p384-sha-384 and ecdsa-p521-sha-512, I'd add an end-to-end test that verifies signing and verification with these keys. You can generate a key, import it into the Cosign key format, then sign with |
Summary
This is a preparation PR for #3271 and it splits some changes required to completely add support for ed25519ph, with the idea of helping the reviewers. It was split from #3479 .
Release Note
SignerFromKeyOptsWithSVOpts
,LoadPrivateKeyWithOpts
,ValidateAndUnpackCertWithOpts
,VerifyImageSignaturesWithOpts
,VerifyLocalImageSignaturesWithOpts
,VerifyBlobSignatureWithOpts
,VerifyImageSignatureWithOpts
,VerifyImageAttestationsWithOpts
,VerifyLocalImageAttestationsWithOpts
,VerifyBlobAttestationWithOpts
,VerifyImageAttestationWithOpts
,VerifierForKeyRefWithOpts
,LoadPublicKeyRawWithOpts
,SignerVerifierFromKeyRefWithOpts
,PublicKeyFromKeyRefWithOpts
.Documentation
With recent sigstore, we introduced
signature.LoadVerifierWithOpts
(and other versions forSigner
,SignerVerifier
). Adding support for ed25519ph would require passing some options around, however cosign is still usingsignature.LoadVerifier
. This PR prepares the cosign codebase to acceptLoadOptions
and pass them around, without actually changing (yet) any behaviour.Doing that required adding a lot of
*WithOpts
functions to avoid breaking other users who may rely on those exported functions. Please let me know if that's a good approach.Once this is done, we can work on a smaller PR that actually adds supports for ed25519ph and pass the correct extra
LoadOptions
around.