diff --git a/cmd/cosign/cli/sign/sign_blob.go b/cmd/cosign/cli/sign/sign_blob.go index e0653067f8e..c32dff48be6 100644 --- a/cmd/cosign/cli/sign/sign_blob.go +++ b/cmd/cosign/cli/sign/sign_blob.go @@ -24,7 +24,6 @@ import ( "io" "os" "path/filepath" - "time" "github.com/pkg/errors" cbundle "github.com/sigstore/cosign/pkg/cosign/bundle" @@ -54,7 +53,7 @@ type KeyOpts struct { } // nolint -func SignBlobCmd(ctx context.Context, ko KeyOpts, regOpts options.RegistryOptions, payloadPath string, b64 bool, outputSignature string, outputCertificate string, timeout time.Duration) ([]byte, error) { +func SignBlobCmd(ro *options.RootOptions, ko KeyOpts, regOpts options.RegistryOptions, payloadPath string, b64 bool, outputSignature string, outputCertificate string) ([]byte, error) { var payload []byte var err error var rekorBytes []byte @@ -68,11 +67,9 @@ func SignBlobCmd(ctx context.Context, ko KeyOpts, regOpts options.RegistryOption if err != nil { return nil, err } - if timeout != 0 { - var cancelFn context.CancelFunc - ctx, cancelFn = context.WithTimeout(ctx, timeout) - defer cancelFn() - } + + ctx, cancel := context.WithTimeout(context.Background(), ro.Timeout) + defer cancel() sv, err := SignerFromKeyOpts(ctx, "", ko) if err != nil { diff --git a/cmd/cosign/cli/signblob.go b/cmd/cosign/cli/signblob.go index ebbb314e786..6312210d0d7 100644 --- a/cmd/cosign/cli/signblob.go +++ b/cmd/cosign/cli/signblob.go @@ -84,7 +84,7 @@ func SignBlob() *cobra.Command { fmt.Fprintln(os.Stderr, "WARNING: the '--output' flag is deprecated and will be removed in the future. Use '--output-signature'") o.OutputSignature = o.Output } - if _, err := sign.SignBlobCmd(cmd.Context(), ko, o.Registry, blob, o.Base64Output, o.OutputSignature, o.OutputCertificate, ro.Timeout); err != nil { + if _, err := sign.SignBlobCmd(ro, ko, o.Registry, blob, o.Base64Output, o.OutputSignature, o.OutputCertificate); err != nil { return errors.Wrapf(err, "signing %s", blob) } } diff --git a/test/e2e_test.go b/test/e2e_test.go index 5c06515eddd..55fd29b93ff 100644 --- a/test/e2e_test.go +++ b/test/e2e_test.go @@ -508,7 +508,7 @@ func TestSignBlob(t *testing.T) { KeyRef: privKeyPath1, PassFunc: passFunc, } - sig, err := sign.SignBlobCmd(ctx, ko, options.RegistryOptions{}, bp, true, "", "", 30*time.Second) + sig, err := sign.SignBlobCmd(ro, ko, options.RegistryOptions{}, bp, true, "", "") if err != nil { t.Fatal(err) } @@ -548,7 +548,7 @@ func TestSignBlobBundle(t *testing.T) { BundlePath: bundlePath, RekorURL: rekorURL, } - if _, err := sign.SignBlobCmd(ctx, ko, options.RegistryOptions{}, bp, true, "", "", 30*time.Second); err != nil { + if _, err := sign.SignBlobCmd(ro, ko, options.RegistryOptions{}, bp, true, "", ""); err != nil { t.Fatal(err) } // Now verify should work @@ -556,7 +556,7 @@ func TestSignBlobBundle(t *testing.T) { // Now we turn on the tlog and sign again defer setenv(t, options.ExperimentalEnv, "1")() - if _, err := sign.SignBlobCmd(ctx, ko, options.RegistryOptions{}, bp, true, "", "", 30*time.Second); err != nil { + if _, err := sign.SignBlobCmd(ro, ko, options.RegistryOptions{}, bp, true, "", ""); err != nil { t.Fatal(err) }