Replies: 4 comments 3 replies
-
+1 on supporting sigstore/cosign since this is one of the differentiating features for ratify. I don't believe there are any tests for cosign today. I think it would help if there were tests so implementation doesn't break. |
Beta Was this translation helpful? Give feedback.
-
Here's a bit of context on the current state of cosign in Ratify: In general, the current support of cosign is quite limited and very "hacky". Currently, a plugin-based cosign verifier is implemented here. The cosign verifier actually processes the subject reference passed in and cosign handles all of the pulling and verifying of the signature. This breaks Ratify's current abstractions. The Referrer Store is responsible for pulling all artifact contents (this includes any auth providers needed to authenticate to registry) and the Verifier is supposed to only be responsible for the verification operation. The ORAS store has multiple auth providers it can use to get the credentials for the registry. But since the verifier is doing the pull here, it has no access to the registry creds which means there is no auth possible. This is why cosign signatures cannot be verified from private registries. In the core execution loop, the verifiers are invoked for each referrer artifact found attached to a subject image. Since cosign does not support ORAS artifacts, the ORAS store's `ListReferrers' implementation will not apply to cosign signatures. To get around this, we currently have some helper methods that utilize CRANE to pull the cosign signature tagged OCI manifest and repackage it into an artifact descriptor that can be added to the list of referrers. Ideally, since cosign has a completely different way of pulling referrers, we should have a separate cosign store. |
Beta Was this translation helpful? Give feedback.
-
We had a few items related to bug fixes needed for cosign and ideally separating cosign from oras store. There has been some feedback that there are not too many verifiers that work with Cosign on K8s and it will be good to keep it healthy. We haven't been prioritizing cosign code path in the current milestone, starting a discussion here to discuss how we should support cosign going forward.
Beta Was this translation helpful? Give feedback.
All reactions