Skip to content

Commit

Permalink
split private signature and attestation verification fns (#1043)
Browse files Browse the repository at this point in the history
Signed-off-by: Jake Sanders <[email protected]>
  • Loading branch information
Jake Sanders committed Nov 12, 2021
1 parent c338616 commit 6ed55d6
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions pkg/cosign/verify.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,15 @@ func verifyOCISignature(ctx context.Context, verifier signature.Verifier, sig oc
return verifier.VerifySignature(bytes.NewReader(signature), bytes.NewReader(payload), options.WithContext(ctx))
}

func verifyOCIAttestation(ctx context.Context, verifier signature.Verifier, att oci.Signature) error {
payload, err := att.Payload()
if err != nil {
return err
}
verifier = newReverseDSSEVerifier(verifier)
return verifier.VerifySignature(nil, bytes.NewReader(payload), options.WithContext(ctx))
}

func validateAndUnpackCert(cert *x509.Certificate, co *CheckOpts) (signature.Verifier, error) {
verifier, err := signature.LoadECDSAVerifier(cert.PublicKey.(*ecdsa.PublicKey), crypto.SHA256)
if err != nil {
Expand Down Expand Up @@ -330,9 +339,8 @@ func VerifyImageAttestations(ctx context.Context, signedImgRef name.Reference, c
return err
}
}
verifier = newReverseDSSEVerifier(verifier)

if err := verifyOCISignature(ctx, verifier, att); err != nil {
if err := verifyOCIAttestation(ctx, verifier, att); err != nil {
return err
}

Expand Down

0 comments on commit 6ed55d6

Please sign in to comment.