As a security-conscious developer, I want qctl to verify signatures on packages and container images so I can ensure I'm using authentic, untampered artifacts.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
User Story
As a security-conscious developer, I want qctl to verify signatures on packages and container images so I can ensure I'm using authentic, untampered artifacts.
Design
Command Interface
Verification Output
Signature Configuration
Signature Storage
Files to Create/Modify
qctl-core/src/main/java/io/qrun/qctl/core/security/SignatureVerifier.javaqctl-core/src/main/java/io/qrun/qctl/core/security/PGPVerifier.javaqctl-core/src/main/java/io/qrun/qctl/core/security/CosignVerifier.javaqctl-core/src/main/java/io/qrun/qctl/core/security/TrustStore.javaqctl-core/src/main/java/io/qrun/qctl/core/security/model/Signature.javaqctl-qbit/src/main/java/io/qrun/qctl/qbit/VerifyCommand.javaqctl-qrun/src/main/java/io/qrun/qctl/qrun/VerifyCommand.javaImplementation Tasks
Acceptance Criteria
qctl qbit verify <package>verifies PGP signatureqctl qrun verify <image>verifies cosign signaturerequire_signatures: truefails on unsigned artifactswarn_unsigned: truewarns but continues