@@ -43,7 +43,7 @@ import (
4343 "github.com/sigstore/rekor/pkg/types"
4444 "github.com/sigstore/rekor/pkg/types/intoto"
4545 "github.com/sigstore/sigstore/pkg/signature"
46- "github.com/sigstore/sigstore/pkg/signature/options "
46+ dsse_verifier "github.com/sigstore/sigstore/pkg/signature/dsse "
4747)
4848
4949const (
@@ -232,26 +232,12 @@ func (v *V001Entry) validate() error {
232232 if err != nil {
233233 return err
234234 }
235- dsseVerifier , err := dsse .NewEnvelopeSigner (& verifier {
236- v : vfr ,
237- pub : pk ,
238- })
239- if err != nil {
240- return err
241- }
242-
243- if v .IntotoObj .Content .Envelope == "" {
244- return nil
245- }
235+ dsseVerifier := dsse_verifier .WrapVerifier (vfr )
246236
247- if err := json . Unmarshal ([] byte (v .IntotoObj .Content .Envelope ), & v . env ); err != nil {
237+ if err := dsseVerifier . VerifySignature ( strings . NewReader (v .IntotoObj .Content .Envelope ), nil ); err != nil {
248238 return err
249239 }
250-
251- if _ , err := dsseVerifier .Verify (& v .env ); err != nil {
252- return err
253- }
254- return nil
240+ return json .Unmarshal ([]byte (v .IntotoObj .Content .Envelope ), & v .env )
255241}
256242
257243// AttestationKey returns the digest of the attestation that was uploaded, to be used to lookup the attestation from storage
@@ -275,38 +261,6 @@ func (v *V001Entry) AttestationKeyValue() (string, []byte) {
275261 return attKey , attBytes
276262}
277263
278- type verifier struct {
279- s signature.Signer
280- v signature.Verifier
281- pub crypto.PublicKey
282- }
283-
284- func (v * verifier ) KeyID () (string , error ) {
285- return "" , nil
286- }
287-
288- func (v * verifier ) Public () crypto.PublicKey {
289- return v .pub
290- }
291-
292- func (v * verifier ) Sign (data []byte ) (sig []byte , err error ) {
293- if v .s == nil {
294- return nil , errors .New ("nil signer" )
295- }
296- sig , err = v .s .SignMessage (bytes .NewReader (data ), options .WithCryptoSignerOpts (crypto .SHA256 ))
297- if err != nil {
298- return nil , err
299- }
300- return sig , nil
301- }
302-
303- func (v * verifier ) Verify (data , sig []byte ) error {
304- if v .v == nil {
305- return errors .New ("nil verifier" )
306- }
307- return v .v .VerifySignature (bytes .NewReader (sig ), bytes .NewReader (data ))
308- }
309-
310264func (v V001Entry ) CreateFromArtifactProperties (_ context.Context , props types.ArtifactProperties ) (models.ProposedEntry , error ) {
311265 returnVal := models.Intoto {}
312266
0 commit comments