Skip to content

Commit e458cb9

Browse files
authored
Merge pull request #391 from sylabs/dependabot/go_modules/main/github.com/ProtonMail/go-crypto-1.1.2
build(deps): bump github.com/ProtonMail/go-crypto from 1.0.0 to 1.1.2
2 parents faccf54 + 071c3a8 commit e458cb9

File tree

15 files changed

+65
-81
lines changed

15 files changed

+65
-81
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/sylabs/sif/v2
33
go 1.22.8
44

55
require (
6-
github.com/ProtonMail/go-crypto v1.0.0
6+
github.com/ProtonMail/go-crypto v1.1.2
77
github.com/google/go-containerregistry v0.20.2
88
github.com/google/uuid v1.6.0
99
github.com/sebdah/goldie/v2 v2.5.5

go.sum

+2-45
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
2-
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
1+
github.com/ProtonMail/go-crypto v1.1.2 h1:A7JbD57ThNqh7XjmHE+PXpQ3Dqt3BrSAC0AL0Go3KS0=
2+
github.com/ProtonMail/go-crypto v1.1.2/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
33
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
44
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
5-
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
65
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
76
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
8-
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
97
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
108
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
119
github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE=
@@ -74,53 +72,12 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
7472
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
7573
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0=
7674
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs=
77-
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
78-
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
79-
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
80-
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
81-
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
8275
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
8376
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
84-
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
85-
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
86-
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
87-
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
88-
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
89-
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
90-
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
91-
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
92-
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
93-
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
94-
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
95-
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
96-
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
97-
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
98-
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
99-
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
100-
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
101-
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
102-
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
103-
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
10477
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
10578
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
106-
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
107-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
108-
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
109-
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
110-
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
11179
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
11280
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
113-
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
114-
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
115-
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
116-
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
117-
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
118-
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
119-
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
120-
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
121-
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
122-
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
123-
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
12481
google.golang.org/genproto/googleapis/rpc v0.0.0-20240520151616-dc85e6b867a5 h1:Q2RxlXqh1cgzzUgV261vBO2jI5R/3DD1J2pM0nI4NhU=
12582
google.golang.org/genproto/googleapis/rpc v0.0.0-20240520151616-dc85e6b867a5/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
12683
google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=

internal/app/siftool/testdata/TestApp_Info/DataSignature.golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
Group ID: NONE
44
Linked ID: 1 (G)
55
Offset: 303104
6-
Size: 1054
6+
Size: 1048
77
Hash Type: SHA-256
88
Entity: 12045C8C0B1004D058DE4BEDA20C27EE7FF7BA84

internal/app/siftool/testdata/TestApp_List/OneGroupSignedPGP.golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
33
------------------------------------------------------------------------------
44
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
55
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
6-
3 |NONE |1 (G) |40960-42014 |Signature (SHA-256)
6+
3 |NONE |1 (G) |40960-42008 |Signature (SHA-256)

internal/app/siftool/testdata/TestApp_List/TwoGroupsSignedPGP.golden

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
44
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
55
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
66
3 |2 |NONE |40960-303104 |FS (Ext3/System/amd64)
7-
4 |NONE |1 (G) |303104-304158 |Signature (SHA-256)
8-
5 |NONE |2 (G) |304158-305013 |Signature (SHA-256)
7+
4 |NONE |1 (G) |303104-304152 |Signature (SHA-256)
8+
5 |NONE |2 (G) |304152-305001 |Signature (SHA-256)

pkg/integrity/clearsign.go

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2020-2023, Sylabs Inc. All rights reserved.
1+
// Copyright (c) 2020-2024, Sylabs Inc. All rights reserved.
22
// This software is licensed under a 3-clause BSD license. Please consult the LICENSE.md file
33
// distributed with the sources of this project regarding your rights to use or distribute this
44
// software.
@@ -11,7 +11,6 @@ import (
1111
"crypto"
1212
"errors"
1313
"io"
14-
"time"
1514

1615
"github.com/ProtonMail/go-crypto/openpgp"
1716
"github.com/ProtonMail/go-crypto/openpgp/clearsign"
@@ -25,14 +24,12 @@ type clearsignEncoder struct {
2524
config *packet.Config
2625
}
2726

28-
// newClearsignEncoder returns an encoder that signs messages in clear-sign format using entity e.
29-
// If timeFunc is not nil, it is used to generate signature timestamps.
30-
func newClearsignEncoder(e *openpgp.Entity, timeFunc func() time.Time) *clearsignEncoder {
27+
// newClearsignEncoder returns an encoder that signs messages in clear-sign format using entity e,
28+
// according to config.
29+
func newClearsignEncoder(e *openpgp.Entity, config *packet.Config) *clearsignEncoder {
3130
return &clearsignEncoder{
32-
e: e,
33-
config: &packet.Config{
34-
Time: timeFunc,
35-
},
31+
e: e,
32+
config: config,
3633
}
3734
}
3835

pkg/integrity/clearsign_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ func Test_clearsignEncoder_signMessage(t *testing.T) {
3939
}{
4040
{
4141
name: "EncryptedKey",
42-
en: newClearsignEncoder(encrypted, fixedTime),
42+
en: newClearsignEncoder(encrypted, &packet.Config{Time: fixedTime}),
4343
wantErr: true,
4444
},
4545
{
4646
name: "OK",
47-
en: newClearsignEncoder(e, fixedTime),
47+
en: newClearsignEncoder(e, &packet.Config{Time: fixedTime}),
4848
de: newClearsignDecoder(openpgp.EntityList{e}),
4949
wantHash: crypto.SHA256,
5050
},

pkg/integrity/sign.go

+23-12
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"time"
1818

1919
"github.com/ProtonMail/go-crypto/openpgp"
20+
"github.com/ProtonMail/go-crypto/openpgp/packet"
2021
"github.com/sigstore/sigstore/pkg/signature"
2122
"github.com/sylabs/sif/v2/pkg/sif"
2223
)
@@ -179,13 +180,14 @@ func (gs *groupSigner) sign(ctx context.Context) (sif.DescriptorInput, error) {
179180
}
180181

181182
type signOpts struct {
182-
ss []signature.Signer
183-
e *openpgp.Entity
184-
groupIDs []uint32
185-
objectIDs [][]uint32
186-
timeFunc func() time.Time
187-
deterministic bool
188-
ctx context.Context //nolint:containedctx
183+
ss []signature.Signer
184+
e *openpgp.Entity
185+
groupIDs []uint32
186+
objectIDs [][]uint32
187+
timeFunc func() time.Time
188+
deterministic bool
189+
ctx context.Context //nolint:containedctx
190+
withoutPGPSignatureSalt bool
189191
}
190192

191193
// SignerOpt are used to configure so.
@@ -257,6 +259,16 @@ func OptSignWithContext(ctx context.Context) SignerOpt {
257259
}
258260
}
259261

262+
// OptSignWithoutPGPSignatureSalt disables the addition of a salt notation for v4 and v5 PGP keys.
263+
// While this increases determinism, it should be used with caution as the salt notation increases
264+
// protection for certain kinds of attacks.
265+
func OptSignWithoutPGPSignatureSalt() SignerOpt {
266+
return func(so *signOpts) error {
267+
so.withoutPGPSignatureSalt = true
268+
return nil
269+
}
270+
}
271+
260272
// withGroupedObjects splits the objects represented by ids into object groups, and calls fn once
261273
// per object group.
262274
func withGroupedObjects(f *sif.FileImage, ids []uint32, fn func(uint32, []uint32) error) error {
@@ -339,11 +351,10 @@ func NewSigner(f *sif.FileImage, opts ...SignerOpt) (*Signer, error) {
339351
case so.ss != nil:
340352
en = newDSSEEncoder(so.ss)
341353
case so.e != nil:
342-
timeFunc := time.Now
343-
if so.timeFunc != nil {
344-
timeFunc = so.timeFunc
345-
}
346-
en = newClearsignEncoder(so.e, timeFunc)
354+
en = newClearsignEncoder(so.e, &packet.Config{
355+
Time: so.timeFunc,
356+
NonDeterministicSignaturesViaNotation: packet.BoolPointer(!so.withoutPGPSignatureSalt),
357+
})
347358
commonOpts = append(commonOpts, optSignGroupFingerprint(so.e.PrimaryKey.Fingerprint))
348359
default:
349360
return nil, fmt.Errorf("integrity: %w", ErrNoKeyMaterial)

pkg/integrity/sign_test.go

+21-3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"testing"
1717

1818
"github.com/ProtonMail/go-crypto/openpgp"
19+
"github.com/ProtonMail/go-crypto/openpgp/packet"
1920
"github.com/sylabs/sif/v2/pkg/sif"
2021
)
2122

@@ -195,7 +196,7 @@ func TestNewGroupSigner(t *testing.T) {
195196

196197
for _, tt := range tests {
197198
t.Run(tt.name, func(t *testing.T) {
198-
en := newClearsignEncoder(getTestEntity(t), fixedTime)
199+
en := newClearsignEncoder(getTestEntity(t), &packet.Config{Time: fixedTime})
199200

200201
s, err := newGroupSigner(en, tt.fi, tt.groupID, tt.opts...)
201202
if got, want := err, tt.wantErr; !errors.Is(got, want) {
@@ -254,12 +255,12 @@ func TestGroupSigner_Sign(t *testing.T) {
254255
}
255256

256257
e := getTestEntity(t)
257-
clearsign := newClearsignEncoder(e, fixedTime)
258+
clearsign := newClearsignEncoder(e, &packet.Config{Time: fixedTime})
258259

259260
encrypted := getTestEntity(t)
260261
encrypted.PrivateKey.Encrypted = true
261262

262-
clearsignEncrypted := newClearsignEncoder(encrypted, fixedTime)
263+
clearsignEncrypted := newClearsignEncoder(encrypted, &packet.Config{Time: fixedTime})
263264

264265
tests := []struct {
265266
name string
@@ -449,6 +450,11 @@ func TestNewSigner(t *testing.T) {
449450
},
450451
wantErr: sif.ErrNoObjects,
451452
},
453+
{
454+
name: "NoKeyMaterial",
455+
fi: oneGroupImage,
456+
wantErr: ErrNoKeyMaterial,
457+
},
452458
{
453459
name: "InvalidObjectID",
454460
fi: oneGroupImage,
@@ -820,6 +826,18 @@ func TestSigner_Sign(t *testing.T) {
820826
OptVerifyWithKeyRing(openpgp.EntityList{e}),
821827
},
822828
},
829+
{
830+
name: "OptSignWithoutPGPSignatureSalt",
831+
inputFile: "one-group.sif",
832+
signOpts: []SignerOpt{
833+
OptSignWithEntity(e),
834+
OptSignWithTime(fixedTime),
835+
OptSignWithoutPGPSignatureSalt(),
836+
},
837+
verifyOpts: []VerifierOpt{
838+
OptVerifyWithKeyRing(openpgp.EntityList{e}),
839+
},
840+
},
823841
}
824842

825843
for _, tt := range tests {

pkg/siftool/testdata/Test_command_getInfo/Three/out.golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
Group ID: NONE
44
Linked ID: 1 (G)
55
Offset: 40960
6-
Size: 1054
6+
Size: 1048
77
Hash Type: SHA-256
88
Entity: 12045C8C0B1004D058DE4BEDA20C27EE7FF7BA84

pkg/siftool/testdata/Test_command_getList/OneGroupSignedPGP/out.golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
33
------------------------------------------------------------------------------
44
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
55
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
6-
3 |NONE |1 (G) |40960-42014 |Signature (SHA-256)
6+
3 |NONE |1 (G) |40960-42008 |Signature (SHA-256)

pkg/siftool/testdata/Test_command_getList/TwoGroupsSignedPGP/out.golden

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
44
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
55
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
66
3 |2 |NONE |40960-303104 |FS (Ext3/System/amd64)
7-
4 |NONE |1 (G) |303104-304158 |Signature (SHA-256)
8-
5 |NONE |2 (G) |304158-305013 |Signature (SHA-256)
7+
4 |NONE |1 (G) |303104-304152 |Signature (SHA-256)
8+
5 |NONE |2 (G) |304152-305001 |Signature (SHA-256)

test/images/gen_sifs.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2020-2023, Sylabs Inc. All rights reserved.
1+
// Copyright (c) 2020-2024, Sylabs Inc. All rights reserved.
22
// This software is licensed under a 3-clause BSD license. Please consult the LICENSE.md file
33
// distributed with the sources of this project regarding your rights to use or distribute this
44
// software.
@@ -294,6 +294,7 @@ func generateImages() error {
294294
opts = append(opts,
295295
integrity.OptSignWithTime(func() time.Time { return time.Date(2020, 6, 30, 0, 1, 56, 0, time.UTC) }),
296296
integrity.OptSignDeterministic(),
297+
integrity.OptSignWithoutPGPSignatureSalt(),
297298
)
298299

299300
s, err := integrity.NewSigner(f, opts...)

test/images/one-group-signed-pgp.sif

-6 Bytes
Binary file not shown.

test/images/two-groups-signed-pgp.sif

-12 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)