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

Reply via email to