docs: add ratify cosign verifier design doc#20
docs: add ratify cosign verifier design doc#20junczhu wants to merge 2 commits intonotaryproject:mainfrom
Conversation
Signed-off-by: Juncheng Zhu <junczhu@microsoft.com>
Codecov ReportAll modified and coverable lines are covered by tests ✅ 🚀 New features to boost your workflow:
|
35675b7 to
7d21d11
Compare
9672463 to
bbab7e4
Compare
21484cd to
bf68d98
Compare
673eb08 to
b00b41b
Compare
Signed-off-by: Juncheng Zhu <junczhu@microsoft.com>
b00b41b to
9d18e98
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR adds a design document outlining the implementation of a Cosign verifier library built on the new sigstore-go API, ensuring compatibility with the cosign CLI experience and alignment with ratify verification workflows.
- Introduces the design overview and component breakdown for the new verifier library.
- Details the API definitions for verifier configuration, policies, trust material, and verification results.
- Compares legacy and new implementations with emphasis on modular design and enhanced performance.
| type VerifyEntity struct { | ||
| // verify.SignedEntity is a interface defined by sigstore-go as the verify input | ||
| signedEntity verify.SignedEntity | ||
| // identityPolices is a list of policy options as verify input |
There was a problem hiding this comment.
Typo in the comment: 'identityPolices' should be corrected to 'identityPolicies'.
| // identityPolices is a list of policy options as verify input | |
| // identityPolicies is a list of policy options as verify input |
| } | ||
|
|
||
| type TrustMaterialProvider interface { | ||
| // user ocispec.Descriptor to retrive the root.TrustedMaterial |
There was a problem hiding this comment.
Typo in the comment: 'retrive' should be corrected to 'retrieve'.
| // user ocispec.Descriptor to retrive the root.TrustedMaterial | |
| // user ocispec.Descriptor to retrieve the root.TrustedMaterial |
| tlogEntriesThreshold int | ||
| // requireSCTs requires SCTs in Fulcio certificates | ||
| requireSCTs bool | ||
| // ctlogEntriesTreshold is the minimum number of verified SCTs in |
There was a problem hiding this comment.
Typo in the comment: 'ctlogEntriesTreshold' should be corrected to 'ctlogEntriesThreshold'.
| // ctlogEntriesTreshold is the minimum number of verified SCTs in | |
| // ctlogEntriesThreshold is the minimum number of verified SCTs in |
shizhMSFT
left a comment
There was a problem hiding this comment.
Let's model the cosign as a black box.
|
|
||
| ### 4.1. Verifier Initialize | ||
|
|
||
| ```go |
| PolicyConfig(ocispec.Descriptor) PolicyConfig | ||
| } | ||
|
|
||
| type Policy{ |
This document outlines the design of a Cosign verifier library using the newly developed
sigstore-goAPI.The goals:
sigstore/cosignlibrary forratifyverifier library. Ensure compatibility with thecosignCLI experience.Verifier,TrustMaterialandPolicyas verification materials.