[Bug 1834731] Review Request: bitcoin-core - Peer to Peer Cryptographic Currency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1834731



--- Comment #104 from Björn Persson <bjorn@xxxxxxxxxxxxxxxxxxxx> ---
(In reply to Simone Caronni from comment #85)
> I need to download all of those keys in one GPG keyring

I think it may be better to keep each key in a separate file in Git.

Several of those keys will need their expiry dates updated periodically, and
any key that expires or gets revoked must be removed from the next release of
the package. The keys that are stored in the Fedora Git repository are the
trust anchors that the whole verification process hinges on, so changes to the
keys should be as transparent as possible. Other packagers should be able to
check whether you updated just one key or replaced all the keys with an
entirely different set of keys.

With a combined keyring, every change looks like the whole keyring is replaced.
Comparing the contents of two keyrings requires some pretty advanced GnuPG
expertise. With each key as a separate file, any packager can easily see in the
Git diff that one key was updated and all the others are unchanged.

(In reply to Simone Caronni from comment #90)
> - Just checking all keys throws an error due to revoked keys.

According to its manpage, gpgv2 does not check whether keys are revoked or
expired. Removing those will be your responsibility when you update the
package.

(In reply to Simone Caronni from comment #91)
> I will pipe the output of a script like the one above and just grep for at
> least one occurrence of "^gpgv: Good signature from".

That will miss any signatures that don't match. A few missing keys is not a
problem, but if only one signature matches and all the others come out "bad
signature", that should be a big flashing red light. If instead most of the
signatures are good but one is bad, that's less alarming but should be
investigated before the package is distributed. It may indicate that that
person shouldn't be trusted to carefully verify releases, so their key should
be removed.

(In reply to Suvayu from comment #92)
> 1. the instructions on bitcoincore.org say "7. It is recommended that you
> choose a few individuals from this list who you find trustworthy and import
> their keys ..."
> 2. I suggest you choose the person who signed and tagged the release.

That makes it equivalent to how they did it before, when only one person signed
the releases. The whole point of multiple signatures is to not be reliant on a
single person.


Here's my proposal for how to check multiple signatures, ignoring missing keys
but failing if there are any bad signatures:

Source10: key-Someone.gpg
Source11: key-Somebody.gpg
Source12: key-Other.gpg

%global minimum_good_signatures 10

%prep
# Collect those sources that are keys for signature verification.
for filename in %{sources} ; do case "${filename}" in (*/key-*.gpg) cat
"${filename}" ;; esac ; done >combined_keyring.gpg

# Verify the signatures. Write machine-readable results to signature_status.
Don't fail if a key is missing.
gpgv2 --status-fd=3 --keyring=./combined_keyring.gpg SHA256SUMS.asc SHA256SUMS
3>signature_status || true

# Fail if there are any signatures that don't match.
! grep --quiet '^\[GNUPG:\] BADSIG ' signature_status

# Fail if fewer than the minimum number of signatures are valid.
test `grep --count '^\[GNUPG:\] GOODSIG ' signature_status` -ge
%{minimum_good_signatures}


-- 
You are receiving this mail because:
You are always notified about changes to this product and component
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1834731
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux