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:
parent
1667ef9585
commit
2118e9a218
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue