Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions image/signature/fixtures/invalid-cleartext.signature
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

This is not JSON
-----BEGIN PGP SIGNATURE-----
Comment: generated with `gpg --homedir . --output invalid-cleartext.signature -u 08CD26E446E2E95249B7A405E932F44B23E8DD43 --clear-sign <<< "This is not JSON"`

iQGzBAEBCgAdFiEECM0m5Ebi6VJJt6QF6TL0SyPo3UMFAmi3YlcACgkQ6TL0SyPo
3UMjQwv/TGivmwhYT8p9F5akuyZ0vkPhB+K4vr+M2VX1vIFGzL6edDWiiRYmysiY
KtTdrRNnCZo6YbcOgdeL2OUpNWeoEshGhV0TqI/kstUa4vRs30NQ3kHX23+mcaf4
iWI0RDmc05MHFXmOzMaWlb91hZBTGhHwvvPinqMg24QRNH1z1OEsuyJ2oBxdSj/Y
dvGaSy0j8FimbfZS9mbf4+wfAUzkQi4PNBg+21l0QnEgl663VgcOQXK412WKNWcW
vQkSXRFkpJNFF3lWjT4asiAV3T/KHUEq+QZE9rOa945wB0hoE7bZPx2hfZw4Se9/
KH9O/ZM5WR5GyKbQV/ELNQJkJaDLcM56rBAl2l8eUV+bd8a7QrULjKP0dAffg8t8
TKWyCSKddtiuJnuidCPV/A1iij0sZiSMzxb+Y33zgIrWThnfggpi0Oo9MYlF5hqF
kD3b4zV1+7EW5YCEGT8sYhPpp96c1JnJbXZX2ii0KECdhLNB/iv44rSjOcl82nOY
pa03tP/x
=RDU4
-----END PGP SIGNATURE-----
14 changes: 14 additions & 0 deletions image/signature/mechanism_gpgme_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,17 @@ func TestGPGMESigningMechanismSupportsSigning(t *testing.T) {
err = mech.SupportsSigning()
assert.NoError(t, err)
}

func TestGPGMESigningMechanismVerifyCleartext(t *testing.T) {
mech, err := newGPGSigningMechanismInDirectory(testGPGHomeDirectory)
require.NoError(t, err)
defer mech.Close()

// Successful verification of a cleartext signature
signature, err := os.ReadFile("./fixtures/invalid-cleartext.signature")
require.NoError(t, err)
content, signingFingerprint, err := mech.Verify(signature)
require.NoError(t, err)
assert.Equal(t, []byte("This is not JSON\n"), content)
assert.Equal(t, TestKeyFingerprint, signingFingerprint)
}
15 changes: 15 additions & 0 deletions image/signature/mechanism_sequoia_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
package signature

import (
"os"
"testing"

"github.com/stretchr/testify/assert"
Expand Down Expand Up @@ -34,3 +35,17 @@ func TestSequoiaSigningMechanismSign(t *testing.T) {
assert.Error(t, err)
assert.IsType(t, SigningNotSupportedError(""), err)
}

func TestSequoiaSigningMechanismVerifyCleartext(t *testing.T) {
mech, err := newGPGSigningMechanismInDirectory(testGPGHomeDirectory)
require.NoError(t, err)
defer mech.Close()

// Successful verification of a cleartext signature
signature, err := os.ReadFile("./fixtures/invalid-cleartext.signature")
require.NoError(t, err)
content, signingFingerprint, err := mech.Verify(signature)
require.NoError(t, err)
assert.Equal(t, []byte("This is not JSON\n"), content)
assert.Equal(t, TestKeyFingerprint, signingFingerprint)
}