Skip to content

Commit c67a77c

Browse files
committed
pkg/verify: load default Verifier given a public key
Signed-off-by: Riccardo Schirone <[email protected]>
1 parent 797ca59 commit c67a77c

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/secure-systems-lab/go-securesystemslib v0.9.0
1717
github.com/sigstore/protobuf-specs v0.4.0
1818
github.com/sigstore/rekor v1.3.9
19-
github.com/sigstore/sigstore v1.9.0
19+
github.com/sigstore/sigstore v1.9.1
2020
github.com/sigstore/timestamp-authority v1.2.4
2121
github.com/stretchr/testify v1.10.0
2222
github.com/theupdateframework/go-tuf/v2 v2.0.2

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,8 @@ github.com/sigstore/protobuf-specs v0.4.0 h1:yoZbdh0kZYKOSiVbYyA8J3f2wLh5aUk2SQB
287287
github.com/sigstore/protobuf-specs v0.4.0/go.mod h1:FKW5NYhnnFQ/Vb9RKtQk91iYd0MKJ9AxyqInEwU6+OI=
288288
github.com/sigstore/rekor v1.3.9 h1:sUjRpKVh/hhgqGMs0t+TubgYsksArZ6poLEC3MsGAzU=
289289
github.com/sigstore/rekor v1.3.9/go.mod h1:xThNUhm6eNEmkJ/SiU/FVU7pLY2f380fSDZFsdDWlcM=
290-
github.com/sigstore/sigstore v1.9.0 h1:zUfcKbp8RiJ4wEmA4nvcnEySQAqzF1NtV+v6rVzLwNY=
291-
github.com/sigstore/sigstore v1.9.0/go.mod h1:zUoATYzR1J3rLNp3jmp4fzIJtWdhC3ZM6MnpcBtnsE4=
290+
github.com/sigstore/sigstore v1.9.1 h1:bNMsfFATsMPaagcf+uppLk4C9rQZ2dh5ysmCxQBYWaw=
291+
github.com/sigstore/sigstore v1.9.1/go.mod h1:zUoATYzR1J3rLNp3jmp4fzIJtWdhC3ZM6MnpcBtnsE4=
292292
github.com/sigstore/sigstore/pkg/signature/kms/aws v1.8.12 h1:EC3UmIaa7nV9sCgSpVevmvgvTYTkMqyrRbj5ojPp7tE=
293293
github.com/sigstore/sigstore/pkg/signature/kms/aws v1.8.12/go.mod h1:aw60vs3crnQdM/DYH+yF2P0MVKtItwAX34nuaMrY7Lk=
294294
github.com/sigstore/sigstore/pkg/signature/kms/azure v1.8.12 h1:FPpliDTywSy0woLHMAdmTSZ5IS/lVBZ0dY0I+2HmnSY=

pkg/verify/signature.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,13 @@ func VerifySignatureWithArtifactDigest(sigContent SignatureContent, verification
9797

9898
func getSignatureVerifier(verificationContent VerificationContent, tm root.TrustedMaterial) (signature.Verifier, error) {
9999
if leafCert := verificationContent.Certificate(); leafCert != nil {
100-
// TODO: Inspect certificate's SignatureAlgorithm to determine hash function
101-
return signature.LoadVerifier(leafCert.PublicKey, crypto.SHA256)
100+
// LoadDefaultSigner/Verifier functions accept a few options to select
101+
// the default signer/verifier when there are ambiguities, like for
102+
// ED25519 keys, which could be used with PureEd25519 or Ed25519ph.
103+
//
104+
// Pass `WithED25519ph()` to select Ed25519ph by default, when ED25519
105+
// key is found, because for hashedrekord entries this is the only option.
106+
return signature.LoadDefaultVerifier(leafCert.PublicKey, options.WithED25519ph())
102107
} else if pk := verificationContent.PublicKey(); pk != nil {
103108
return tm.PublicKeyVerifier(pk.Hint())
104109
}

0 commit comments

Comments
 (0)