From c039daf38932aeee65da4c8dd4eaeb746e9d412b Mon Sep 17 00:00:00 2001 From: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> Date: Fri, 2 Sep 2022 13:28:24 -0500 Subject: [PATCH] Fix : Failing Fuzz tests for FuzzRSAPSSSignerVerfier - Fixed the failing fuzz test case Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> --- test/fuzz/signature/fuzz_signature_test.go | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/test/fuzz/signature/fuzz_signature_test.go b/test/fuzz/signature/fuzz_signature_test.go index 9f782595e..c998d373f 100644 --- a/test/fuzz/signature/fuzz_signature_test.go +++ b/test/fuzz/signature/fuzz_signature_test.go @@ -23,9 +23,10 @@ import ( "crypto/elliptic" "crypto/rsa" "math/big" - "strings" "testing" + "github.com/sigstore/sigstore/pkg/cryptoutils" + fuzz "github.com/AdaLogics/go-fuzz-headers" "github.com/sigstore/sigstore/pkg/signature" ) @@ -153,21 +154,11 @@ func FuzzRSAPKCS1v15SignerVerfier(f *testing.F) { func FuzzRSAPSSSignerVerfier(f *testing.F) { f.Fuzz(func(t *testing.T, data []byte) { - if len(data) == 0 { - t.Skip("not valid key") - } - - s := string(data) - - // Skip when the data is not a valid RSA PSS signature. - if strings.TrimSpace(s) == "" { - t.Skip("not valid key") + privateKey, err := cryptoutils.UnmarshalPEMToPrivateKey(data, cryptoutils.SkipPassword) + if err != nil { + t.Skip() } - - f := fuzz.NewConsumer(data) - x := rsa.PrivateKey{} - f.GenerateStruct(&x) - signer, err := signature.LoadRSAPSSSignerVerifier(&x, crypto.SHA512, nil) + signer, err := signature.LoadRSAPSSSignerVerifier(privateKey.(*rsa.PrivateKey), crypto.SHA512, nil) if err != nil { if signer != nil { t.Errorf("key %v is not nil when there is an error %v ", signer, err)