geany-plugins icon indicating copy to clipboard operation
geany-plugins copied to clipboard

Unable to Verify Keys in Plugins Tarball

Open allanwmacdonald opened this issue 1 year ago • 7 comments

Following instructions here: https://plugins.geany.org/downloads.html

Adding the key:

$ gpg --recv-keys 01380DF54FD09D02
gpg: key 01380DF54FD09D02: new key but contains no user ID - skipped
gpg: Total number processed: 1
gpg:           w/o user IDs: 1

Verifying the key:

$ gpg --verify geany-plugins-2.0.tar.gz.sig geany-plugins-2.0.tar.gz
gpg: Signature made Fri 20 Oct 2023 03:18:41 AM ADT
gpg:                using EDDSA key 986FA7E80256D3D16F30FB7A01380DF54FD09D02
gpg: Can't check signature: No public key

This looks lilke it didn't work. What am I doing wrong?

My OS: Ubuntu 22.04.5 LTS

$ uname -srvmpio
Linux 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov  6 17:42:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ gpg --version
gpg (GnuPG) 2.2.27
libgcrypt 1.9.4
Copyright (C) 2021 Free Software Foundation, Inc.
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/allanmacdonald/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

allanwmacdonald avatar Nov 27 '24 16:11 allanwmacdonald

Previous version:

$ gpg --recv-keys B7A4039D0630EA07
gpg: key B7A4039D0630EA07: public key "Frank Lanitz <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
$ gpg --verify geany-plugins-1.38.tar.gz.sig geany-plugins-1.38.tar.gz
gpg: Signature made Sat 09 Oct 2021 10:53:55 AM ADT
gpg:                using EDDSA key 986FA7E80256D3D16F30FB7A01380DF54FD09D02
gpg: Can't check signature: No public key

However, this way seems to work:

$ wget https://download.geany.org/frlan-pubkey.txt
$ gpg --import < frlan-pubkey.txt
$ gpg --verify geany-plugins-2.0.tar.gz.sig geany-plugins-2.0.tar.gz 
gpg: Signature made Fri 20 Oct 2023 03:18:41 AM ADT
gpg:                using EDDSA key 986FA7E80256D3D16F30FB7A01380DF54FD09D02
gpg: Good signature from "Frank Lanitz <[email protected]>" [expired]
gpg:                 aka "Frank Lanitz <[email protected]>" [expired]
gpg:                 aka "Frank Lanitz <[email protected]>" [expired]
gpg:                 aka "Frank Lanitz <[email protected]>" [expired]
gpg:                 aka "Frank Lanitz <[email protected]>" [expired]
gpg:                 aka "Frank Lanitz <[email protected]>" [expired]
gpg: Note: This key has expired!
Primary key fingerprint: 986F A7E8 0256 D3D1 6F30  FB7A 0138 0DF5 4FD0 9D02

allanwmacdonald avatar Nov 27 '24 16:11 allanwmacdonald

@allanwmacdonald so the signature verification worked, I guess. The expired key is nothing bad, important is that it was valid when the signature was created.

I'm just wondering about the first output of retrieving the key:

$ gpg --recv-keys 01380DF54FD09D02
gpg: key 01380DF54FD09D02: new key but contains no user ID - skipped
gpg: Total number processed: 1
gpg:           w/o user IDs: 1

@frlan was the key not uploaded?

Maybe we should update the instructions to import the key from the file on geany.org?

eht16 avatar Nov 30 '24 12:11 eht16

GnuPG with all the changes done on thunderbird, the interesting CLI and the broken signature (trust) system is kind of broken. It's doing its job, but the tooling is just getting worse every year (imho). I'd suggest to stop using it here. My signature is not more useful as the SSL certificate of the page.

frlan avatar Nov 30 '24 13:11 frlan

@frlan Then we should remove it altogether?

eht16 avatar Jan 05 '25 10:01 eht16

@eht16 I'd vote for it.

frlan avatar Jan 07 '25 08:01 frlan

If we would remove it, it would be good to have some good explanation why "it is broken". It would at least seem as removing a layer of security from the release downloads. Also Debian and maybe other distributions as well, use GPG for verifying download integrity.

@frlan could you provide some references and some more detailed reasoning?

eht16 avatar Jan 12 '25 19:01 eht16

Just a short heads up: Still not very happy about the current state of the GPG ecosystem and it's tools, but signing packages is not toooooo complicated etc. I've just created a new key with 3 years validity that will be cross signed and uploaded to the ressource later and will be used for g-p 2.1 release files.

frlan avatar Jul 06 '25 13:07 frlan