On Oct 17, 2012 6:57 AM, "Robin H. Johnson" <[email protected]> wrote: > > Hi all, > > One of the items that has come up in the Git conversion, and needs some > attention. > > Previously, the PORTAGE_GPG_KEY variable has allowed ANY argument, and > passed it to GPG, letting GPG use that. This was intended to explicitly > be a unique identifier for a key (or subkey). > > However, it seems that there are signed commits with other values in the > variable, and instead of something nice like: > (Portage version: 2.2.0_alpha138/cvs/Linux x86_64, signed Manifest commit > with key 0x586A3B1F) > We have commits with: > (Portage version: 2.2.0_alpha138/cvs/Linux x86_64, signed Manifest commit > with key emailaddress) > > This makes validation harder, as we need to extract the identity of the > key from the Manifest before we can proceed. Additionally, if a > developer has multiple keys, possibly over time, we cannot use this > string to identify what key was used easily. > > As such, we've decided to make the PORTAGE_GPG_KEY strictly enforce what > was originally intended. > > - You must specify a key or subkey exactly. > - The leading "0x" is optional. > - If you want to use a subkey, per the PGP specifications, you must > suffix your keyid with "!". > - Your keyid is exactly: 8, 16, 24, 32 xor 40 hexdigits long. > > Additionally, while we are NOT enforcing the use of long key-ids > presently, I strongly encourage ALL developers to move to using them, > due to known attacks against short ids: > http://www.asheesh.org/note/debian/short-key-ids-are-bad-news.html > Long key-ids are the 16/24/32 hexdigit long versions of your key ids.
Why not enforce best practices and only accept the above long key-ids? > Using your full fingerprint (40 hexdigit) is also possible, but doesn't > allow you to select a subkey (subkeys don't have a full fingerprint). > Additionally, we'll be chasing up LDAP to convert all entries there to > long key-ids. > > Examples: > --------- > Recommended: > PORTAGE_GPG_KEY='0123456789ABCEF' > PORTAGE_GPG_KEY='0123456789ABCEF!' > PORTAGE_GPG_KEY='0x0123456789ABCEF' > PORTAGE_GPG_KEY='0x0123456789ABCEF!' > > Valid, but not recommended: > PORTAGE_GPG_KEY='01234567' > PORTAGE_GPG_KEY='ABCDEF01!' > PORTAGE_GPG_KEY='0x01234567' > PORTAGE_GPG_KEY='0xABCDEF01!' > PORTAGE_GPG_KEY='0123456789ABCEF0123456789ABCEF0123456789' > > Invalid: > PORTAGE_GPG_KEY='username' > PORTAGE_GPG_KEY='[email protected]' > > -- > Robin Hugh Johnson > Gentoo Linux: Developer, Trustee & Infrastructure Lead > E-Mail : [email protected] > GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
