Skip to content

Commit d5a26e5

Browse files
authored
Add sigstore bundle verification (#118)
1 parent 60ae696 commit d5a26e5

16 files changed

+1812
-745
lines changed

evidence/get/testutils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ func ReadTestDataFile(filename string) (string, error) {
1414
return "", fmt.Errorf("failed to read test data file %s: %w", filename, err)
1515
}
1616
return string(data), nil
17-
}
17+
}

evidence/model/verify.go

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package model
22

3-
import "github.com/jfrog/jfrog-cli-artifactory/evidence/dsse"
3+
import (
4+
"github.com/jfrog/jfrog-cli-artifactory/evidence/dsse"
5+
"github.com/sigstore/sigstore-go/pkg/bundle"
6+
"github.com/sigstore/sigstore-go/pkg/verify"
7+
)
48

5-
const SchemaVersion = "1.0"
9+
const SchemaVersion = "1.1"
610

711
type VerificationResponse struct {
812
// Update the schemaVersion value when this structure is updated.
@@ -18,20 +22,25 @@ type Subject struct {
1822
}
1923

2024
type EvidenceVerification struct {
21-
DsseEnvelope dsse.Envelope `json:"dsseEnvelope"`
25+
MediaType MediaType `json:"mediaType"`
2226
DownloadPath string `json:"downloadPath"`
2327
SubjectChecksum string `json:"evidenceSubjectSha256"`
2428
PredicateType string `json:"predicateType"`
2529
CreatedBy string `json:"createdBy"`
2630
CreatedAt string `json:"createdAt"`
2731
VerificationResult EvidenceVerificationResult `json:"verificationResult"`
32+
DsseEnvelope *dsse.Envelope `json:"dsseEnvelope,omitempty"`
33+
SigstoreBundle *bundle.Bundle `json:"sigstoreBundle,omitempty"`
2834
}
2935

3036
type EvidenceVerificationResult struct {
31-
Sha256VerificationStatus VerificationStatus `json:"sha256VerificationStatus"`
32-
SignaturesVerificationStatus VerificationStatus `json:"signaturesVerificationStatus"`
33-
KeySource string `json:"keySource,omitempty"`
34-
KeyFingerprint string `json:"keyFingerprint,omitempty"`
37+
Sha256VerificationStatus VerificationStatus `json:"sha256VerificationStatus,omitempty"`
38+
SignaturesVerificationStatus VerificationStatus `json:"signaturesVerificationStatus,omitempty"`
39+
SigstoreBundleVerificationStatus VerificationStatus `json:"sigstoreBundleVerificationStatus,omitempty"`
40+
KeySource string `json:"keySource,omitempty"`
41+
KeyFingerprint string `json:"keyFingerprint,omitempty"`
42+
SigstoreBundleVerificationResult *verify.VerificationResult `json:"sigstoreBundleVerificationResult,omitempty"`
43+
FailureReason string `json:"failureReason,omitempty"`
3544
}
3645

3746
type VerificationStatus string
@@ -40,3 +49,10 @@ const (
4049
Success = "success"
4150
Failed = "failed"
4251
)
52+
53+
type MediaType string
54+
55+
const (
56+
SigstoreBundle MediaType = "sigstore.bundle"
57+
SimpleDSSE MediaType = "evidence.dsse"
58+
)

evidence/verify/evidence_verifier.go

Lines changed: 0 additions & 206 deletions
This file was deleted.

0 commit comments

Comments
 (0)