1
1
Fork 0
mirror of https://github.com/goreleaser/nfpm synced 2024-05-06 08:46:10 +02:00

fix(apk): always append .rsa.pub to key name (#808)

This commit is contained in:
Carlos Alexandro Becker 2024-03-30 09:36:14 -03:00 committed by GitHub
parent 1667ef9585
commit 2118e9a218
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 1 deletions

View File

@ -281,7 +281,10 @@ func createSignatureBuilder(digest []byte, info *nfpm.Info) func(*tar.Writer) er
return errNoKeyAddress
}
keyname = addr.Address + ".rsa.pub"
keyname = addr.Address
}
if !strings.HasSuffix(keyname, ".rsa.pub") {
keyname += ".rsa.pub"
}
// In principle apk supports RSA signatures over SHA256/512 keys, but in

View File

@ -315,6 +315,28 @@ func TestControl(t *testing.T) {
require.Equal(t, string(bts), w.String())
}
func TestSignatureName(t *testing.T) {
info := exampleInfo()
info.APK.Signature.KeyFile = "../internal/sign/testdata/rsa.priv"
info.APK.Signature.KeyName = "testkey"
info.APK.Signature.KeyPassphrase = "hunter2"
err := nfpm.PrepareForPackager(info, "apk")
require.NoError(t, err)
digest := sha1.New().Sum(nil) // nolint:gosec
var signatureTarGz bytes.Buffer
tw := tar.NewWriter(&signatureTarGz)
require.NoError(t, createSignatureBuilder(digest, info)(tw))
signature := extractFromTar(t, signatureTarGz.Bytes(), ".SIGN.RSA.testkey.rsa.pub")
err = sign.RSAVerifySHA1Digest(digest, signature, "../internal/sign/testdata/rsa.pub")
require.NoError(t, err)
err = Default.Package(info, io.Discard)
require.NoError(t, err)
}
func TestSignature(t *testing.T) {
info := exampleInfo()
info.APK.Signature.KeyFile = "../internal/sign/testdata/rsa.priv"